© 2007

Model-Driven Architecture in Practice

A Software Production Environment Based on Conceptual Modeling


  • Benefit from the exploitation of sound research through industrial tools

  • Learn how to build a conceptual model integrating data, behavior, and interaction

  • Adopt the industry leader's approach to using MDA in real-world projects

  • Find additional related product information and tool support under


Table of contents

  1. Front Matter
    Pages I-XVI
  2. The OO-Method and Software Production from Models

  3. Conceptual Modelling: About the Problem Space

    1. Front Matter
      Pages 47-47
    2. Pages 55-114
    3. Pages 115-135
    4. Pages 137-146
    5. Pages 147-189
  4. Conceptual Model Compilation: From the Problem Space to the Solution Space

About this book


Formal specification languages, object-oriented methods, CASE tools, component-based software production, agent-oriented, aspect-oriented ... During the last two decades many techniques have been proposed from both research and industry in order to generate a correct software product from a higher-level system specification. Nevertheless, the many failures in achieving this goal have resulted in scepticism when facing any new proposal that offers a "press the button, get all the code" strategy. And now the hype around OMG’s MDA has given a new push to these strategies.

Oscar Pastor and Juan Carlos Molina combine a sound theoretical approach based on more than 10 years’ research with industrial strength and practical software development experience. They present a software process based on model transformation technology, thus making the statement "the model is the code" – instead of the common "the code is the model" – finally come true. They clearly explain which conceptual primitives should be present in a system specification, how to use UML to properly represent this subset of basic conceptual constructs, how to identify just those diagrams and modeling constructs that are actually required to create a meaningful conceptual schema, and, finally, how to accomplish the transformation process between the problem space and the solution space.

Their approach is fully supported by commercially available tools, and the subsequent software production process is dramatically more efficient than today’s conventional software development processes, saving many man-days of work. For software developers and architects, project managers, and people responsible for quality assurance, this book introduces all the relevant information required to understand and put MDA into industrial practice.


CASE Schema Unified Modeling Language (UML) architecture computer-aided design (CAD) conceptual model development formal specification model model-driven architecture modeling quality assurance software software development validation

Authors and affiliations

  1. 1.DSICUniversitad Politécnica de ValenciaValenciaSpain
  2. 2.CARE Technologies, S.A.DeniaSpain

About the authors

Oscar Pastor is Professor for object-oriented development methods at the Valencia University of Technology, Spain. He has taught software engineering for more than 10 years, his research during that time focusing on object-oriented conceptual modeling, requirements engineering, Web development, and model-based software production. He has headed prestigious scientific events like the World-Wide Web Conference in 2007 (Web Engineering Track) and the International Conference on Conceptual Modeling in 2005. In addition, he is the brain behind the OlivaNova Model Execution, an advanced MDA-based set of tools that produces a final software product starting from a conceptual schema where the system requirements are captured.

Juan Carlos Molina is Research and Development Manager for CARE Technologies S.A., the company that develops the OlivaNova Model Execution set of tools which fully support the MDA-based, conceptual model-centric software development approach described in this book.

Bibliographic information

Industry Sectors
Chemical Manufacturing
IT & Software
Consumer Packaged Goods
Finance, Business & Banking
Energy, Utilities & Environment


"The history of programming language design is a study in ever-increasing levels of abstraction. We progressed from hard-wired computers, to stored-program machines, to assembly languages, higher-level languages, CASE tools, object-oriented systems, and domain-specific languages. Model execution is another logical step that raises the level of abstraction in our system development environments.
The hardest problems in software development are in the /modeling/, not the implementation, of systems. But until recently, it has been difficult to turn models into executing systems. OO-Method and the OlivaNOVA Model Execution system put first things first, letting professionals focus their energy on the more important and creative aspects of system development. This book documents an important and exciting advance in software development – an advance that has real potential to make a strong impact." - Prof. Steve Liddle, BYU, Utah, USA

"This book describes a method that will allow software engineers to focus on the problem that really matters, namely understanding the requirements of information systems and their applications. The method is supported by a tool that generates production-quality code from a conceptual model. The book does an excellent job of explaining the underlying philosophy and practical applications of OO-Method." - Prof. Roel Wieringa, University of Twente, The Netherlands

"Whether you are an executive leading the software development life cycle in your organization, a manager leading a development team, or a software engineer developing software, this book will help you to effectively and efficiently incorporate a complete model-driven approach of software development into your software practices. Complete because all major aspects of software development are covered, even user interface which is not covered by UML. For me, this book is a must!" - Prof. Jean Vanderdonckt , Université catholique de Louvain (UCL), Belgium

"The software production method described in this book –OO-Method – is not at all yet another "bubble and arrows" methodology. OO-Method is a complete integration between object-oriented methodology and tools, supporting the full cycle of client–server information system applications development, covering from analysis and design to smart target code generation. So, under the OO-Method analysts have all the power of skilled programmers, programmers have the power of the analysts, and both in a sense become "developers"." - Prof. Miguel Katrib, Universidad de La Habana, Cuba

"This book offers both a rigorous academic treatment of conceptual modeling as a precursor to full code generation and a practitioner’s insights into realizing this dream. (…) See what can be done by a real collaboration between academia and industry." – from the Foreword by Prof. Brian Henderson-Sellers, University of Technology, Sydney, Australia

"Our evaluation of the [OlivaNova] tool by building a prototype application resulted in greatly positive conclusions, the most significant goals achieved being: great development speed reducing development time by approximately 70%, reduction of the effort spent during the construction phase and mitigation of error introduction risks. Presenting the user with the full prototype application in a record time greatly diminishes possible customizations and the impact of changes is kept to a minimum. Maintenance is easy. The product generates readable, homogeneous source code for a reasonable development cost." - Fernando Medel Gutiérrez, Development Services Manager, Repsol-YPF, Madrid, Spain

"As a software development company, we exclusively entrust the OlivaNova "The Programming Machine" with all our database based applications. The advantages thus realized are a prerequisite for enabling project commissioning. For instance, we were able to rapidly implement and migrate a time-critical database project which required data from 40 countries worldwide to be entered into a central database via a streamlined web-based user interface. We are particularly enthusiastic about the possibility of near instant construction of prototypes, small project teams of one to three people even for larger projects and bugfixing at the logical level without having to cope up with technical issues. " - Thomas Reinberger, CEO, C5 Solutions, Munich, Germany

"The perspectives offered by OlivaNova in terms of time-cost balance have enabled us to take on projects that would have been outlined differently with other kind of methodological tool. A key factor is the strong involvement of stakeholders and users achieved, they become involved from the early stages of a project, and they get timely feedback to their input; from the very beginning users get executable models that reflect their requirements. Another fundamental factor is the time required to develop an application: it gets greatly reduced.
From our viewpoint, this will be a tool we will be paying close attention to, looking forward to the aspects of it that can be still improved to enhance the evolution from the first prototypes to the final solution.
In any case it is an innovative approach in the field of software engineering worth taking into account."
- Rafael Gimeno Hernández, Director Information Systems Center, Conselleria d'Economia, Hisenda i Ocupació - Generalitat Valenciana, Spain

"In Lilly we only make a project if the initial investigation shows that the ROI is going to be positive and we try to get in mind all the cost: development, support, infrastructure, etc. It's clear that with OlivaNova several of these costs are reduced and then it's easier to have positive ROIs in project that in other case wouldn't have it.
Every project is different, but usually we have less than 50% of the usual cost in development when we use Oliva Nova and support is reduced to 20% or less due to the small number of trouble tickets that we have on those applications."
- Joaquín Rincón, Manager, EO Architecture, Eli Lilly and Company, Spain