Related papers
Monograph: Model-Driven Software Development
Fernando Sánchez-Figueroa
2008
Almost four years ago, some of my colleagues at IBM Rational and I co-authored an article entitled" An MDA Manifesto", which was first published in the MDA Journal and then again in the eponymous book by Frankel and Parodi [1]. The primary intent was to articulate our shared vision of model-driven development (MDD). IBM and its Rational business unit in particular were pioneers in the application of modeling methods to software development. Jim Rumbaugh and Grady Booch, both of Rational (and both of whom were authors of the ...
View PDFchevron_right
Model-driven engineering: A survey supported by the unified conceptual model
Alberto Da Silva
Computer Languages, Systems & Structures, 2015
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems starting from those models. These proposals have been classified generically as Model-Driven Engineering (MDE) and share common concepts and terms that need to be abstracted, discussed and understood. This paper presents a survey on MDE based on a unified conceptual model that clearly identifies and relates these essential concepts, namely the concepts of system, model, metamodel, modeling language, transformations, software platform, and software product. In addition, this paper discusses the terminologies relating MDE, MDD, MDA and others. This survey is based on earlier work, however, contrary to those, it intends to give a simple, broader and integrated view of the essential concepts and respective terminology commonly involved in the MDE, answering to key questions such as: What is a model?, What is the relation between a model and a metamodel?, What are the key facets of a modeling language?, How can I use models in the context of a software development process?, What are the relations between models and source code artefacts and software platforms?, and What are the relations between MDE, MDD, MDA and other MD approaches?
View PDFchevron_right
Weaving executability into UML class models at PIM level
Patrizia Scandurra
2009
View PDFchevron_right
Composition semantics for executable and evolvable behavioral modeling in MDA
Elvinia Riccobene, Ella Roubtsova, Audris Kalnins, Ashley McNeile
Proceedings of the 1st Workshop on …, 2009
View PDFchevron_right
Model-driven software engineering in practice
Ali Raza
Marco Brambilla_ Jordi Cabot_ Manuel Wimmer Model-driven software engineering in practice
View PDFchevron_right
First European Workshop on Behaviour Modelling in Model Driven Architecture
Ella Roubtsova
2009
Pushing the button and yielding automatically generated code from behavioral models is one of the dreams of the Model-Driven Architecture approach. Current practice shows that this works quite well in certain domain-specific contexts or in case of low-level (textual) behavior specifications. But, in most cases, behavioral models are only used in early phases of a software development project for documenting user requirements. They are not used for an automatic code generation. This also leads to the problem that behavorial models are separated from the code, which finally even leads to dead models. The talk discusses the role of behavioral models within software development processes. It addresses and compares several approaches for behavior modeling (e.g. (visual) pre-/post-conditions, protocol specifications, graph transformations) and discusses importance and limitations of an automatic code generation. A discussion on alternative usages of behavioral models like modPushing the button and yielding automatically generated code from behavioral models is one of the dreams of the Model-Driven Architecture approach. Current practice shows that this works quite well in certain domainspecific contexts or in case of low-level (textual) behavior specifications. But, in most cases, behavioral models are only used in early phases of a software development project for documenting user requirements. They are not used for an automatic code generation. This also leads to the problem that behavorial models are separated from the code, which finally even leads to dead models. The talk discusses the role of behavioral models within software development processes. It addresses and compares several approaches for behavior modeling (e.g. (visual) pre-/postconditions, protocol specifications, graph transformations) and discusses importance and limitations of an automatic code generation. A discussion on alternative usages of behavioral models like model-driven testing, model-driven monitoring and models@runtime concludes the talk.
View PDFchevron_right
Recursive modeling for completed code generation
P. Scandurra, Elvinia Riccobene, Andreas Prinz
Proceedings of the 1st Workshop on Behaviour Modelling in Model-Driven Architecture - BM-MDA '09, 2009
View PDFchevron_right
Behaviour Modelling in Model Driven Architecture
Elvinia Riccobene, Audris Kalnins, Ella Roubtsova
… Proceedings Series WP09- …, 2009
Modeling languages that aim to capture PIM level behavior are still a challenge. We propose a high level behavioral formalism based on the Abstract State Machines (ASMs) for the specification and validation of software systems at PIM level. An ASM-based extension of the UML and its Action Semantics is here presented for the construction of executable class models at PIM level and also a model weaving process which makes the execution of such models possible. Our approach is illustrated using an Invoice Order System taken from the literature.
View PDFchevron_right
Discovering Business Models for Software Process Management - An Approach for Integrating Time and Resource Perspectives from Legacy Information Systems
Carlos Arévalo Maldonado
Proceedings of the 17th International Conference on Enterprise Information Systems, 2015
Business Process Management (BPM) is becoming the modern core to support business in all type of organizations and software business is not an exception. Software companies are often involved in important and complex collaborative projects carried out by many stakeholders. Each actor (customers, suppliers or government instances, among others) works with individual and shared processes. Everyone needs dynamic and evolving approaches for managing their software projects lifecycle. Nevertheless, many companies still use systems that are out of the scope of BPM for planning and control projects and managing enterprise content (Enterprise Content Management, ECM) as well as all kinds of resources (ERP). Somehow systems include scattered artifacts that are related to BPM perspectives: control and data flow, time, resource and case, for example. It is aimed to get interoperable BPM models from these classical Legacy Information Systems (LIS). Model-Driven Engineering (MDE) allows going from application code to higher-level of abstraction models. Particularly, there are standards and proposals for reverse engineering LIS. This paper illustrates LIS cases for software project planning and ECM, looking at time and resource perspectives. To conclude, we will propose a MDE-based approach for taking out business models in the context of software process management.
View PDFchevron_right
Engine- Cooperative Game Modeling (ECGM)
Alf Inge Wang
Proceedings of the 13th International Conference on Advances in Computer Entertainment Technology
Today game engines are popular in commercial game development, as they lower the threshold of game production by providing common technologies and convenient content-creation tools. Game engine based development is therefore the mainstream methodology in the game industry. Model-Driven Game Development (MDGD) is an emerging game development methodology, which applies the Model-Driven Software Development (MDSD) method in the game development domain. This simplifies game development by reducing the gap between game design and implementation. MDGD has to take advantage of the existing game engines in order to be useful in commercial game development practice. However, none of the existing MDGD approaches in literature has convincingly demonstrated good integration of its tools with the game engine tool-chain. In this paper, we propose a hybrid approach named ECGM to address the integration challenges of two methodologies with a focus on the technical aspects. The approach makes a run-time engine the base of the domain framework, and uses the game engine tool-chain together with the MDGD tool-chain. ECGM minimizes the change to the existing workflow and technology, thus reducing the cost and risk of adopting MDGD in commercial game development. Our contribution is one important step towards MDGD industrialization.
View PDFchevron_right