Page 217 -
P. 217
202 PASTOR, MOLINA, AND IBORRA
were larger in size and complexity as well as to increase the quality, maintainability, and lifespan
of software applications.
Today developers regard this evolution as something natural, and no one marvels at programs
that can automate the transformation of a program written in one programming language to an
equivalent program in a different programming language that is closer to the machine. In fact,
every step in this evolution of software development has been characterized by raising the level of
abstraction required to define the systems to be developed in a language that abstracts away details
of the language in which the system would be implemented, and automating the transformation
of programs written in the higher-level language to the lower-level language.
It is therefore only natural for the next step in this evolutionary path to assist developers in
overcoming today’s challenges in software development. “Today’s software systems are signifi-
cantly large, complex and critical, that only through the use of automated approaches can such
systems be developed and evolve in an economic and timely manner” (Grünbacher and Ledru,
2004, page 12),
This goal may well be reached through the adoption of Model-Driven Development (MDD)
techniques in general, and specifically by leveraging the Model-Driven Architecture (MDA)
approach (MDA, 2007; Miller and Mukerji, 2003). After numerous attempts in this direction
(Mellor and Balcer, 2002; Mellor, Clark, and Futagami, 2003; Selic, 2003; Völter et al., 2006),
the time seems to be right for going one step forward in the process of automating the software
production process itself. MDA is not the only proposal that is leading researchers in that direc-
tion. Proposals such as Extreme Non-programming in response to Extreme Programming (XNP;
Morgan, 2002), or Conceptual Schema-Centric Development (CSCD; Olivé, 2005) are centered
on the idea that in order to develop an information system, it is both necessary and sufficient to
create its conceptual schema.
Conceptual Schema-Centric Development
Olivé promoted these concepts even further when he presented his CSCD approach as a grand
challenge for information systems research (Olivé, 2005). Similar to the central ideas of MDA
and XNP, CSCD is based on the assumption that the definition of the conceptual schema is all
that is required to develop an information system.
Since the advancement of science and engineering is the primary purpose of the formulation
and promulgation of a grand challenge, the approach proposed here focuses on the advance-
ment of IS engineering toward automation. Even if this is not at all a new, disruptive proposal
(Teichroew and Sayani [1971] argued the importance of confronting the challenge of the automa-
tion of systems building to improve the software production process), the fact is that, forty years
later, this goal of automated systems building has not yet been achieved. Despite the definite
progress that has been made, the design, programming, and testing activities for most projects
still require a substantial amount of manual effort. Not even in the two most popular develop-
ment environments (Visual Studio or Eclipse) does the automation of system building play a
significant role. Programming continues to be the central activity and most (if not all) of the
tool improvements are directed toward helping with the complex task of writing a program, but
not with the task of compiling a conceptual model to avoid the repetitive, tedious, and complex
task of programming.
Many have begun to question the usefulness of pursuing this goal. Is it perhaps a waste of
time to continue trying? As researchers in this area, we firmly believe that it is not. Even though
numerous problems remain to be solved (technical problems, problems related to the maturity of