Upgrade: Latest Issue
Upgrade: Home Page
Upgrade: Editorial Information
Upgrade: Schedule
Upgrade: News
Upgrade: Latest Issue
Upgrade: Past Issues
Contact Upgrade
Upgrade: Search Page
Upgrade, The European Journal for the Informatics Professional
Interested in subscribing to our Newslist? Click here
Next issue (June 2008)
Monographic section dedicated to
"Technology-Enhanced Learning"


Upgrade, Vol. IX, issue no. 2: cover page by Concha Arias Pérez, © ATI 2007


Vol. IX, issue no. 2,

 
April 2008

Model-Driven Software Development

 Published on behalf of CEPIS
by Novática (ATI, Spain)

Contents
Editions in other languages

Guest Editors:

Jean Bézivin, Antonio Vallecillo, Jesús García-Molina, and Gustavo Rossi

Contents
Editions of the monograph in other languages
  • Spanish, by Novática (full edition printed  -- already available--; summary and presentation online -- soon available)


Editorial Team of Upgrade


Chief Editor: Llorenç Pagés-Casas, <pages AT ati DOT es>
Deputy Chief Editor: Francisco-Javier Cantais-Sánchez
Associate Editor: Rafael Fernández Calvo

(E-mail addresses written with anti-spamming disguise)

Acrobat Reader is required to display PDF files

CEPIS (Council of European Professional Informatics Societies) promotes Upgrade
UPENET (UPGRADE European NETwork), promoted by CEPIS
Novática, journal and magazine of ATI (Spain), publishes Upgrade
EUCIP: European Certification of Informatics Professionals
 


 Editorial Section

  Editorial
 
 Monograph

Model-Driven
Software Development

 
 UPENET
(
UPGRADE European NETwork)


Papers from the German
 
journal "Informatik-Spektrum"
and the Italian journal "Mondo Digitale"
CEPIS News

CEPIS Projects


Editorial Section [PDF: 1 page, 79 KB]

Editorial
New UPENET Partners
Niko Schlamberger (President of CEPIS)

From The Chief Editor Desk
Welcome to our Deputy Chief Editor
Llorenç Pagés-Casas
Back to top of the page


Monograph: 
Model-Driven Software Development
Published on behalf of CEPIS
by Novática (ATI, Spain)

Guest Editors:
Jean Bézivin, Antonio Vallecillo, Jesús García-Molina, and Gustavo Rossi

Presentation
MDA® at the Age of Seven: Past, Present and Future [HTML] [PDF: 3 pages, 69 KB]
Jean Bézivin, Antonio Vallecillo, Jesús García-Molina, and Gustavo Rossi   
Abstract: The guest editors comment on the monograph of UPGRADE and Novática and briefly introduce the papers it consists of. A set of useful references about the matter is included too.
Errata Notice: In the text, when presenting the "third group of papers" the name of one of the authors is wrong. Instead of Vicente Pelechano-Barberá  it should be Vicente  Pelechano-Ferragud . We apologise for that mistake.

A Brief History of MDA  [PDF: 5 pages, 84 KB]
Andrew Watson
Abstract: On 8th March 2000 Object Management Group (OMG) announced that its Architecture Board had voted to adopt the Model-Driven Architecture (MDA) as both the strategic approach to developing OMG’s own integration standards, and as its recommended application development technique. MDA was devised before the term "Service-Oriented Architecture" (SOA) became fashionable, and when many Business Process Management (BPM) techniques and languages were in their infancy. However, through a combination of foresight and good fortune MDA techniques are, if anything, more relevant today in the world of SOA and BPM than they were in 2000. This short history of MDA charts the influences that led to its creation, shows how its has evolved, and outlines the contributions it can make in the future.

MDA Manifestations [PDF: 5 pages, 75 KB]
Bran Selic
Abstract: In 2004 the author, along with several colleagues, published an article titled "An MDA Manifesto", which outlined a strategic vision for Model-Driven Development (MDD). That article identified the key elements that characterized this approach to software development and its value proposition. The present article contains an assessment of the progress made since then towards fulfilling that vision, based on practical experience in applying MDD in industry. The key impediments that are hindering a more extensive realization of that vision are identified and categorized. Finally, a long-term strategy is outlined for overcoming these hurdles.

The Domain-Specific IDE [PDF: 5 pages, 78 KB]
Steve Cook and Stuart Kent
Abstract: Years of pursuing efficiencies in software development through model-driven development techniques have led to the recognition that domain-specific languages can be an effective weapon in the developer’s armoury. But these techniques by themselves are necessarily limited; only by assimilating them into the overall context of a domain-specific development process and tools can their real power be harnessed.

Model Intelligence: an Approach to Modeling Guidance [PDF: 7 pages, 277 KB]
Jules White, Douglas C. Schmidt, Andrey Nechypurenko, and Egon Wuchner
Abstract: Model-Driven Engineering (MDE) facilitates building solutions in many enterprise application domains through its use of domain-specific abstractions and constraints. An important attribute of MDE approaches is their ability to check a solution for domain-specific requirements, such as security constraints, that are hard to evaluate using traditional source-code focused development efforts. The challenge in many enterprise domains, however, is finding a legitimate solution, not merely checking solution correctness. For these domains, model intelligence that uses domain constraints to guide modelers is needed. This paper shows how existing constraint specification and checking practices, such as the Object Constraint Language, can be adapted and leveraged  to guide users towards correct solutions using visual cues.

Model Differences in the Eclipse Modelling Framework [PDF: 6 pages, 78 KB]
Cédric Brun and Alfonso Pierantonio
Abstract: Increasingly, recording the various kinds of design-level structural evolution that a system undergoes throughout its entire life-cycle is gaining a fundamental importance and cannot be neglected in software modeling and development. In this respect, an interesting and useful operation between the designs of subsequent system versions is the difference management consisting in calculation, representation, and visualization. This work presents EMF Compare, an approach to model difference calculation and representation for the EMF (Eclipse Modelling Framework). Apart from enhancing the rank of model differences to that of first-class artifacts according to the "everything is a model" principle, the approach presents several properties which are discussed according to a conceptual framework.

Model-Driven Architecture® at Eclipse [PDF: 5 pages, 71 KB]
Richard C. Gronback and Ed Merks
Abstract: The Model-Driven Architecture (MDA®) initiative has come a long way in its seven-year history, as has the Eclipse open source community. With the top-level Eclipse Modeling Project (EMP) focused in part on working with standards organizations such as the Object Management Group (OMG), much of the promise of MDA is realized today with the software available to its community. And while much can be done to improve the state of the relationship between the OMG and the Modeling project, it can be argued that Eclipse leads the way in providing open source specification-compliant solutions, and is therefore contributing significantly to the overall success of MDA.

Model-Driven Web Engineering [PDF: 6 pages, 82 KB]
Nora Koch, Santiago Meliá-Beigbeder,  Nathalie Moreno-Vergara, Vicente Pelechano, Fernando Sánchez-Figueroa, and Juan-Manuel Vara-Mesa
Abstract: The continuing emergence of new platforms and technologies make Web applications resemble more and more complex desktop applications. Therefore, the tasks of designing, implementing and adapting the Web applications are becoming a more time-consuming and error-prone issue. In the Web Engineering context, Model-Driven Development (MDD) and Model-Driven Architecture (MDA) principles are being used to successfully address the construction, evolution and adaptation of Web applications. In this article we show how the Model-Driven Web Engineering (MDWE) discipline has arisen and how MDD/MDA principles are applied in the Web Domain to define models and metamodels, to specify model transformations, to manage interoperability issues and to build tools that support the development process.



The Guest Editors

Jean Bézivin is a professor of Computer Science at the Université de Nantes, France, and member of the ATLAS research group recently created in Nantes (INRIA & LINA) by Patrick Valduriez. He has been very active in Europe in the Object-Oriented community and initiated the ECOOP (European Conference on Object-Oriented Programming) series of conferences (with Pierre Cointe), the TOOLS series of conferences (with Bertrand Meyer), and the <<UML>>/MoDELS (Model Driven Engineering Languages and Systems) series of conferences (with Pierre-Alain Muller).  He has also organized several workshops at OOPSLA (Object-Oriented Programming, Systems, Languages, and Applications), such as those in 1995 on "Use Case Technology", in 1998 on "MDD with CDIF", at ECOOP in 2000 on "Model Driven Engineering", etc. His present research interests include legacy reverse engineering, general model engineering and, in particular, model-transformation languages and frameworks, and the building of model-engineering platforms. <jean.bezivin@univ-nantes.fr>.

Antonio Vallecillo is an associate professor at the Department of Computer Science of the Universidad de Málaga, Spain. His research interests include model-driven software development, componentware, open distributed processing, and the industrial use of formal methods. He holds BSc and MSc degrees in mathematics, and a PhD degree in Computer Science from the Universidad de Málaga. He is the Universidad de Málaga representative at ISO and the OMG, and a member of ACM, IEEE, IEEE Standards Associations, and the IEEE Computer Society. <av@lcc.uma.es>.

J
esús García-Molina is a full professor at the Faculty of Computer Science at the Universidad de Murcia, Spain where he leads the Software Technology Research Group. His research is focused on model-driven software development, in particular model transformation languages, embedded DSL, frameworks, and model-driven modernization. He received his PhD in Science from the Universidad de Murcia. <jmolina@um.es>.

Gustavo Rossi is a full professor at the Faculty of Computer Science at the Universidad Nacional de La Plata, Argentina where he heads LIFIA, a research Laboratory in Computer Science. He has a PhD from PUC-Rio, Brazil. His research interests are: web design methods, separation of concerns in web engineering and in mobile computing. He is one of the developers of the Object-Oriented Hypermedia Design Model (OOHDM), a mature model-driven design method for Web applications. He has published many papers on these issues in specialized journals and conferences. <gustavo@lifia. info.unlp.edu.ar>.

Back to top of the page


 UPENET (UPGRADE European NETwork)  [PDF: 22 pages, 1.6 MB]


From Informatik Spektrum  (GI, Germany, and SI, Switzerland)    
High Performance Computing
The TOP500 Project: Looking Back over 15 Years of Supercomputing
Hans Werner Meuer

This paper was first published, in English, by Informatik-Spektrum (Volume 31, issue 3, June 2008, pp. 203-222). Informatik-Spektrum, a UPENET partner, is a journal published, in German or English, by Springer Verlag on behalf of the German CEPIS society GI (Gesellschaft für Informatik) and the Swiss CEPIS society SI (Schweizer Informatiker Gesellschaft - Société Suisse des Informaticiens).   

Abstract:
The TOP500 project was launched in 1993 to provide a reliable basis for tracking and detecting trends in high performance computing. Twice a year, a list of the sites operating the world’s 500 most powerful computer systems is compiled and released. The best performance on the Linpack benchmark is used as the measurement for ranking the computer systems. The list contains a variety of information including the systems’ specifications and major application areas. Information on all 30 TOP500 lists issued to date is available at: www.top500.org.


F
rom Mondo Digitale (AICA, Italy)    
Project Management
Critical Factors in IT Projects

Marco Sampietro

This paper was first published, in its original Italian version, under the title "I fattori critici nei progetti informatici", by Mondo Digitale (issue no. 4, December 2007, pp. 3-9). Mondo Digitale, a founding member of UPENET, is the digital journal of the CEPIS Italian society AICA (Associazione Italiana per l’Informatica ed il Calcolo Automatico

Abstract:
Managing IT projects is certainly a complex and very challenging activity; every project has its distinct features and there are no recipes for success that can be repeated in every situation. Nevertheless there are some factors that have shown a high rate of repetitiveness and a considerable impact on project performances. These factors are called "Critical Success Factors". This article analyses, in differing degrees of detail, the factors that most commonly impede the management of IT projects.


Back to top of the page


CEPIS NEWS [PDF: 2 pages, 64 KB

CEPIS Projects
Selected CEPIS News
Fiona Fanning




Monograph: Model-Driven Software Development

Presentation
MDA® at the Age of Seven: Past, Present and Future [PDF: 3 pages, 69 KB]
(includes a set of useful references about the matter)
Jean Bézivin, Antonio Vallecillo, Jesús García-Molina, and Gustavo Rossi   

The Model-Driven Architecture (MDA) initiative was launched by the OMG (Object Management Group) in late 2000 to propose a new way to consider the development and maintenance of information systems, using models as the essential artefacts of the software development process.

In the MDA approach, models are the key elements used to direct the course of understanding, design, construction, testing, deployment, operation, administration, maintenance, and modification of systems. MDA also raises the level of abstraction by enabling specifications that use different models to focus on different concerns, and by automating the production of such specifications and the software that meets them. In particular, MDA differentiates between platform-independent models and platform-specific models. Thus, the basic functionality of the system can be separated from its final implementation; the business logic can be separated from the underlying platform technology, etc. The transformations between models enable the automated implementation of a system from the different models defined for it or alternatively allow abstract models to be reconstructed from legacy code for the purpose of software modernization or migration. In addition, MDA allows further models of the system to be defined, each one focusing on a specific concern, at the right level of abstraction. These specific models are described using Domain Specific Languages (DSLs) and are related by Model Transformation (MT) specifications. They can also drive tools that automate the model transformations into the final implementations.
Since the emergence of MDA much has happened in the field of modern system and software model engineering. A variety of new acronyms (MDD, MDE, MIC, ADM, MBA, etc.) are appearing to delimit the constantly extending scope of application of core modelling techniques. In addition, the evolution towards modelling practices has combined with the Open Source Software movement in environments like Eclipse to reinforce this important paradigm shift.

Seven years after MDA was originally proposed the time is now ripe to look at the old and new objectives, the achievements so far, the incomplete realizations, the difficulties encountered, the ongoing efforts, the research roadmap, and the work still to be done in order to fulfil the initial promise. With this special issue we hope to contribute to such an assessment.

For this task we have been fortunate enough to receive a set of contributions from some of the most relevant and influential people in MDA and Model-Driven Engineering. The papers of this special issue reflect the personal views and insights of some of the creators of MDA on how things have progressed since the initial MDA proposal, and what might be the way ahead; some of the new practices and tools for performing software model engineering; and some of the projects and domains in which MDA is being successfully applied.

In the first group of papers we have a contribution from Andrew Watson, from OMG, who presents the official view on MDA together with a brief history which charts the influences that led to its creation, shows how it has evolved, and outlines the contributions it can make in the future. Then, Bran Selic revisits his influential paper "An MDA Manifesto" in the light of all that has happened in recent years. The original article identified the key elements that characterized the MDA approach and its value proposition. His present article contains an assessment of the progress made since then towards fulfilling that vision, identifies the key obstacles that are hindering a more extensive realization of that vision, and outlines a long-term strategy for overcoming these hurdles.

The second group of papers describes some of the new practices and tools for software modelling. Steve Cook and Stuart Kent describe the Microsoft approach to model engineering using Domain Specific Languages, and explain how powerful these languages can be when used within the appropriate software development processes and supported by the right kind of tools. Then, Jules White, Douglas C. Schmidt, Andrey Nechypurenko, and Egon Wuchner introduce the new concept of Model Intelligence, which uses domain constraints to guide modellers in the writing of correct models, something which is especially important in the case of models of industrial software systems comprising of tens of thousands of elements. The third paper of this group is written by Cédric Brun and Alfonso Pierantonio, who analyse one of the key operations in the embryonic and fundamental fields of model management and model evolution: Model Comparison.

Finally, in the third group of papers we have the article by Rich Gronback and Ed Merks, who present one of the most successful contributions to the development and widespread acceptance of MDA: The Eclipse Modelling Project. Then, Nora Koch, Santiago Meliá-Beigbeder, Nathalie Moreno-Vergara, Vicente Pelechano, Fernando Sánchez-Figueroa and Juan Manuel Vara-Mesa show how MDA principles can be successfully applied in the Web Engineering domain, not only to build complex Web applications, but also to achieve a smooth interoperability between existing Web Engineering methods and tools.

We sincerely hope that the readers will enjoy this special issue as much as we, the editors, have enjoyed talking with the authors of the papers and merging their excellent contributions into a comprehensive assessment of the current state of MDA and the future opportunities (and challenges) facing MDA if it is to fulfil its original vision in the realm of Model-Driven Engineering.


Useful References on Model-Driven Software Development

The following references, along with those included in the articles in this monograph, will help our readers to dig deeper into this field.

Books
  • A. Kleppe, J. Warmer, W. Bast. "MDA Explained. The Model Driven Architecture: Practice and Promise". Addison-Wesley, 2003. ISBN: 032119442X. A very clear and rigorous introduction to MDA, approached from a practical point of view.
  • David Frankel. "Model Driven Architecture. Applying MDA to Enterprise Computing". OMG Press, 2003. Analysing the application of MDA within the context of enterprise software systems.
  • Thomas Stahl, Markus Völter. "Model-Driven Software Development". John Wiley, 2006. ISBN: 0470025700. An excellent introduction to model-driven development. The most comprehensive text written about Dynamic Systems Development Method (DSDM).
  • Tony Clark, Andy Evans, Paul Sammut, James Willans. "Applied Metamodelling. A Foundation for Language Driven Development". Provides a comprehensive vision of metamodelling and DSL creation. Downloadable from <http://www.ceteva.com/book.html>.
  • Jack Greenfield, Keith Short, Steve Cook, Stuart Kent. "Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools". John Wiley, 2004. ISBN: 0471202843. Describes the approach of software factories which combine software product lines with model-driven development. Also includes an assessment of MDA and its standards. An excellent book on software development.
  • Jos Warmer, Anneke Kleppe. "The Object Constraint Language: Getting Your Models Ready for MDA", 2nd edition, Addison Wesley, 2003. ISBN: 0321179366. Considered to be the foremost guide to OCL.

Events

Every year a number of MDA and DSDM related conferences and workshops are held, among the most important of which are the European Conference on Model Driven Architecture (EC-MDA), Model Driven Engineering Languages and Systems (MoDELS), and the International Conference on Model Transformation (ICMT). For the last four years Spain has hosted the Taller sobre Desarrollo de Software Dirigido por Modelos (Model-Driven Software Development Workshop) as part of the Jornadas de Investigación en Ingeniería de Software y Bases de Datos (JISBD or Conference on Software Engineering and Databases).  

OMG

At OMG’s web site (Object Management Group, <http://www.omg.org>) you can find standards specifications for MDA (MOF, XMI, etc.) and MDA’s official web page <http://www.omg.org/mda/>.

Eclipse

The Eclipse Modeling project aims to promote model-directed development within the Eclipse community. From <http://www.eclipse.org/modeling/> you can access all related subprojects (EMF, GMF, GMT, etc.).

Web Sites

  • <http://planet-mde.org/> Portal for the DSDM scientific and educational community.
  • <http://www.model-transformation.org/> Includes links to conferences and research groups and a very interesting collection of scientific papers.
  • <http://www.metamodel.com/> Contains information on metamodelling and references to conferences and news about DSDM.
  • <http://www.dsmforum.org/> Dedicated to domain-specific language development. Includes information about examples of its application in industry, tools and events.
  • <http://www.lcc.uma.es/~av/MDD-MDA/> Site maintained by the Universidad de Málaga research group which leads the Red Española de Desarrollo Dirigido por Modelos (Spanish Network on Model-Driven Development) and organizes the DSDM Workshop. Contains information about MDA, publications on MDA and DSDM in general, presentations, tools, and mailing lists, and a list of the Spanish groups researching into DSDM.

List of Acronyms

  • ATL        ATLAS Transformation Language.
  • CMOF    Complete MOF.
  • DSL       Domain Specific Language.
  • EMF       Eclipse Modelling Framework, Eclipse project.
  • EMOF    Essential MOF.
  • EMP      Eclipse Modelling Project, Eclipse project.
  • GMF      Graphical Modelling Framework, Eclipse project.
  • GMT      Generative Modelling Technologies, Eclipse project.
  • MDA      Model-Driven Architecture.
  • MDD      Model Driven Development.
  • MDE      Model Driven Engineering.
  • MIC       Model Integration Computing.
  • MOF      Meta-Object Facility. OMG’s metamodelling language.
  • OCL      Object Constraint Language.
  • OMG     Object Management Group.
  • PIM       Platform Independent Model. MDA related.
  • PSM      Platform Specific Model. MDA related.
  • QVT      Query View Transformation. OMG’s model transformation language.
  • SOA      Service Oriented Architecture.
  • UML      Unified Modelling Language.
  • XMI       XML Metadata Interchange. OMG’s model interchange language.
Back to top of the page


Last updated on August 20th, 2008 by the Editorial Team of Upgrade

Copyright © CEPIS 2008. All rights reserved unless otherwise stated.