"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
From the Back Cover
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.