Second International Workshop on
Languages, Methods, and Tools for
Model-driven Agile Development

in Conjunction with COMPSAC 2005

Edinburgh, Scotland, July 26-28, 2005


Model Driven Development (MDD) is an approach to software development in which comprehensive models are created before source code is written. A prime example of such an approach is Model Driven Architecture (MDA) of the Object Management Group (OMG), in which applications are developed by creating Platform Independent Models (PIMs) which are transformed into Platform Specific Models (PSMs) for a range of platforms, thereby separating application development from platform- and technology-specific concerns. The PSMs are then transformed into code. One of the goals of MDD is to automate these transformations. However, the research question being asked is whether it is feasible to automate the entire tool chain, i.e., to capture (in the models) functional requirements and use cases, in addition to non-functional requirements such as quality of service (QoS), fault-tolerance, survivability, and security, together with design decisions, implementation constraints, and hardware requirements, in order to directly generate the implementation from these higher-level models; also under investigation is the feasibility of performing static and dynamic analyses on the models, thereby significantly reducing time and effort for development, integration, and testing.

Agile programming methods, of which Extreme Programming (XP) is an example, are code-oriented ("the code is the specification") and customer centric (customers or their surrogates play a major role in development.) While MDD focuses on the development of high-level technical artifacts and the systematic acquisition, validation, and documentation of requirements, agile methods focus instead on customer-valued functionality, just-in-time requirements capture, and on individuals and their interactions. Agile methods advocate the creation of models of considerably lower fidelity than the more extensive models required for model-driven development. In agile programming, therefore, development alternates iteratively between modeling and coding, with major portions of the design being accomplished as implementation proceeds. This is wasteful of resources since many iterations of expensive code have to be thrown away ("code refactoring") as designs evolve and the requirements change. Also, the code-centric viewpoint has an adverse effect on a system's architectural and conceptual integrity.

Finally, customers are unable to critique/comment on the development artifacts since the code is too low level and the models are imprecise.


The goal of this workshop is to reconcile and integrate model driven development with agile methods. For instance, shifting the code-centric focus of agile methods to a model-centric one can lend more rigor and automation to the process, reduce development and code refactoring costs, while retaining their customer-centric aspects. In particular, this workshop will address the following questions:

  1. How can models best be used with agile methods or XP?
  2. What are the right models for agile development?
  3. Which CASE tools are suitable for model-driven agile development?
  4. In agile development, how can abstract domain knowledge and its capture be divorced from implementation details?
  5. How can changes in the implementation or design choices be reflected in the models?
  6. How are high confidence systems developed using agile methods?

This workshop will focus on theoretical aspects, practical methods, as well as case studies in model-driven agile development. Topics will include but are not restricted to:

1. Agile methods for model-driven policy development
2. Formal specification languages for agile models
3. Integrating agile scenarios into MDA and MDD
4. Transforming inclusive models to platform independent models
5. Validating platform independent models
6. Managing inconsistency between models and implementations
7. Domain-specific modeling
8. Capturing business logic and system dynamics in PIMs
9. Incremental stepwise refinement of PIMs into PSMs
10. Verification of PSMs against PIMs
11. Code refactoring in model-driven design
12. The role of round-trip engineering

This one day workshop will include peer-reviewed research papers, tutorials, and invited talks. It will allow informal interactions between researchers and practitioners in the distinct fields of agile modeling, extreme programming, and model-driven development to foster cross-fertilization and transfer of ideas and methods. The first workshop on model-driven agile development was held in June 2004, at the Naval Research Laboratory in Washington, DC.



  • February 28, 2005 (Extended): Deadline paper submissions
  • April 15, 2005: Notification acceptance
  • May 16, 2005: Camera-ready due


Papers should be submitted electronically at MAD Submission Page: MAD Submissions by Feb. 28, 2005. The format of submitted papers must follow the IEEE/ACM conference proceedings guidelines, including no page numbers. 

Accepted papers will be published in the workshop proceedings of the 29th IEEE Computer Software and Applications Conference(COMPASC2005). At least one of the authors of each accepted paper must register as a full participant of the workshop to have the paper published in the proceedings.