The paper "Model-driven Development of Complex Software: A Research Roadmap" by Robert France and Bernhard Rumpe provides an overview of current research in Model-Driven Engineering (MDE) and discusses the major challenges that must be addressed to realize the MDE vision. MDE involves creating abstract models of software systems and systematically transforming them into concrete implementations. The authors argue that while full realization of the MDE vision may not be possible in the near to medium term due to the complexity and wickedness of the problems involved, pursuing this vision can provide valuable insights to reduce the gap between evolving software complexity and the technologies used to manage it.
The paper highlights the importance of modeling in software development, emphasizing that models can serve multiple purposes beyond documentation. It discusses the gap between the problem domain and the implementation domain, which is often bridged through extensive handcrafting of implementations, leading to accidental complexities. MDE aims to narrow this gap by using models at multiple levels of abstraction and automated support for transforming and analyzing models.
Key challenges in MDE include:
1. **Modeling Language Challenges**: Providing support for creating and using problem-level abstractions and rigorously analyzing models.
2. **Separation of Concerns Challenges**: Managing multiple, overlapping viewpoints and heterogeneous languages.
3. **Model Manipulation and Management Challenges**: Defining, analyzing, and using model transformations, maintaining traceability, consistency, and version control, and using models during runtime.
The paper also reviews major MDE initiatives such as Model Driven Architecture (MDA), Software Factories, and other domain-specific modeling approaches. It emphasizes the need for industrial participation and the integration of research from various software engineering areas to address these challenges effectively.
Finally, the paper discusses the importance of developing formal modeling languages and rigorous methods for analyzing models to ensure their quality and effectiveness in software development.The paper "Model-driven Development of Complex Software: A Research Roadmap" by Robert France and Bernhard Rumpe provides an overview of current research in Model-Driven Engineering (MDE) and discusses the major challenges that must be addressed to realize the MDE vision. MDE involves creating abstract models of software systems and systematically transforming them into concrete implementations. The authors argue that while full realization of the MDE vision may not be possible in the near to medium term due to the complexity and wickedness of the problems involved, pursuing this vision can provide valuable insights to reduce the gap between evolving software complexity and the technologies used to manage it.
The paper highlights the importance of modeling in software development, emphasizing that models can serve multiple purposes beyond documentation. It discusses the gap between the problem domain and the implementation domain, which is often bridged through extensive handcrafting of implementations, leading to accidental complexities. MDE aims to narrow this gap by using models at multiple levels of abstraction and automated support for transforming and analyzing models.
Key challenges in MDE include:
1. **Modeling Language Challenges**: Providing support for creating and using problem-level abstractions and rigorously analyzing models.
2. **Separation of Concerns Challenges**: Managing multiple, overlapping viewpoints and heterogeneous languages.
3. **Model Manipulation and Management Challenges**: Defining, analyzing, and using model transformations, maintaining traceability, consistency, and version control, and using models during runtime.
The paper also reviews major MDE initiatives such as Model Driven Architecture (MDA), Software Factories, and other domain-specific modeling approaches. It emphasizes the need for industrial participation and the integration of research from various software engineering areas to address these challenges effectively.
Finally, the paper discusses the importance of developing formal modeling languages and rigorous methods for analyzing models to ensure their quality and effectiveness in software development.