1 Current trends and frameworks for modeldriven approaches to software development Trial Lecture Odd Petter Nord Slyngstad Trondheim, 1 st April 2011 Anita Gupta 28/05/2009
2 Overview What is a model-driven approach? Current trends and selected frameworks Research directions what s next?
3 What is a model-driven approach? Models and modeling comprise one of the most fundamental techniques for addressing common challenges in software engineering [Beydeda 2005], e.g.: an ever-evolving customer domain required time and effort implementation, integration, coordination new errors, updates, refinements, priorities scheduling, resource management, risk mitigation Models provide abstractions for understanding complex, real-world systems [Beydeda 2005] A model is thus an abstract representation of relevant details for reasoning about a (software) system, which allows extraneous detail to be left out.
4 Model-Driven Software Development (MDSD) Particular model views or perspectives highlight specific aspects of a system Model transformations facilitate conversion between views on: equivalent abstraction levels; e.g. between structural and behavioral views, and different abstraction levels; e.g. high-level and detailed views Meta-models provide constructs (e.g. objects, relationships, containers) and corresponding characteristics (e.g. name, description) Trend towards utilizing visual languages, e.g. Unified Modeling Language (UML), Business Process Modeling Notation (BPMN), and Information-Role-Task-Views Language (IRTV) [Lillehagen & Krogstie 2008]. Idea generation, initial studies and analyses, and conceptual design are still manual work, thus easily lost [Lillehagen & Krogstie 2008].
5 Conceptual Modelling Approaches Code only Code Visualization Roundtrip Engineering Model-centric Model only Model Model Model Model Code Code Code Code What s a Model? The code is the model Code and model coexist The model is the code Let s do some design [Brown 2005]
6 Modeling perspectives (1) Structural static description of a structure, given a domain E.g. conceptual graphs Commonly used in practice, also for logical language modeling Behavioral describing system dynamics E.g. state charts Used particularly within real-time and telecom systems Functional transformations Popular within e.g. process modeling, data flow diagrams Combination with control flow (behavorial) [Krogstie 2009]
7 Modeling perspectives (2) Goal- and rule-oriented rules based on goals vs. constraints E.g. business rule systems (if A, then B) Temporal ; used in combination with structural and functional/behavioral Object-oriented autonomous, communicating objects E.g. Object diagrams Increasing use, particularly UML and related extensions Social communication intent, spoken expression, related act E.g. workflow modeling Diminishing popularity for CSCW/Groupware applications Actor/role oriented influence and behavior E.g. group dynamics, organizational structure [Krogstie 2009]
8 Overview What is a model-driven approach? Current trends and selected frameworks Future directions what s next?
9 Current trends and selected frameworks Enterprise Modeling Active Knowledge Modeling (AKM) [Lillehagen & Krogstie 2008] Model-Driven Architecture (MDA) [OMG 2011] Eclipse Modeling Framework (EMF) [EMF 2011] Model-Driven Testing The UML Testing Profile [Baker 2008] Other related frameworks Athena Model-Driven Interoperability framework [Athena 2007] MODI framework for data integration [MODI 2005] Strong tradition for leveraging modeling work in other engineering fields [Lillehagen & Krogstie 2008].
10 Enterprise Modeling (EM) Defined as: the art of externalizing enterprise knowledge, i.e., representing the core knowledge of an enterprise [Vernadat 1996]. Enables identification connected roles, objects, and processes, e.g. to identify software applications and their relationships as used in an enterprise, analyze their degree of interoperability. Shift in approaches and methods proposed: Allow regular industrial developers to become active modelers. Preserve context and enable reuse. [Lillehagen & Krogstie 2008]
11 Active Knowledge Modeling (AKM) (1) Active Knowledge Modeling (AKM) [Lillehagen & Krogstie 2008] Data and knowledge are stored in and reactivated from an Active Knowledge Architecture (AKA). Active : roles, task patterns, information structures, and reflective views automatically configure the workplaces. Work-centric data directly folded back into the architecture, towards closing the learning loop.
12 Active Knowledge Modeling (AKM) (2) Enterprise Knowledge Architecture (EKA): generic knowledge model: represent any AKA content as information, roles, tasks, and views (reflecting IRTV language). Core EKA elements [Lillehagen & Krogstie 2008]
13 Example: Active Knowledge Architecture [Lillehagen & Krogstie 2008]
14 Model-Driven Architecture (MDA) (1) Model-Driven Architecture (MDA) [OMG 2011] Emerging standards to define models, notations, transformation rules Open, vendor-neutral, and platform-independent Benefits include increasing quality, efficiency, and predictability [Kleppe 2004] [Mellor 2004] [Frankel 2003]
15 MDA layers [Brown 2005]
16 Model-Driven Architecture (MDA) (2) Founded on [OMG 2011]: Meta Object Facility (MOF) Standard language for expressing metamodel construct syntax XML Metadata Interchange (XMI) and between models via XML documents, levels of the MOF MOF Query/Views/Transformation (QVT) language Transforming Platform Independent Models (PIM) into Platform Specific Models (PSM) Query instances defined in the source model View model derived from and dependent on the source model Transformation generates target model from source model
17 Eclipse Modeling Framework (EMF) an Eclipse-based modeling framework and code generation facility, providing tools and runtime support for MDSD [EMF 2011] Models can be specified using annotated Java, UML, XML documents, or modeling tools. Collection of EMF-based tools together implement OMG s MDA, e.g.: Model to Model Transformation (M2M): extensible framework for model-to-model transformation languages, with an exemplary implementation of the QVT Core language.
18 Model-Driven Testing The application of modeling to design and execute the necessary artifacts for performing software testing [Baker 2008]. Testing model can usually be derived from system model Definition of formal and executable semantics for UML is still under investigation towards a universal approach for automatic test generation from UML models. Semantic-specific models exist e.g. for guiding test development for model elements such as UML state and activity diagrams
19 The UML Testing Profile (1) Adds concepts of test specification and execution to UML as a base [OMG 2011]. Goal is to enable black-box testing of computational models in UML. Enables: Test definition and generation from structural and behavioral aspects of UML models Interoperability with existing black-box testing technologies.
20 The UML Testing Profile (2) defines the following concepts for testing [OMG 2011]: test architecture structure, components, and configuration of a test test data data and templates used during a test procedure test behavior the dynamic aspects of a test procedure test time the time-related aspects of a test procedure
21 Athena Model-Driven Interoperability (MDI) framework (1) provides guidelines for model-driven development (MDD) approaches applied in developing interoperable enterprise software systems [Athena 2007] with respect to: Model-driven architecture (MDA) and interoperability Metamodelling UML profiles and domain-specific languages (DSLs) Model transformations Method engineering
22 Athena MDI framework (2) [Athena 2007]
23 MODI framework for interoperability (1) MOdel-based approach to Data Integration (MODI) [MODI 2005]: enables heterogeneous systems to integrate data by using models provides a set of guidelines which specify how to develop tools that support data integration between heterogeneous enterprise systems.
24 MODI framework for interoperability (2) [MODI 2005]
25 Overview What is a model-driven approach? Current trends and selected frameworks Research directions what s next?
26 Research directions what s next? Challenge: Model versioning not covered by MDE standards [Altmanninger 2008] [Altmanninger 2009] Motivation: Parallel development work requires proper versioning support. Manual migration of models and metamodels is costly, tedious, and error-prone. Proposed solution: Adaptable Model Versioning, including conflict detection, resolution, and versioning framework. Challenge: Controlling and managing model and metamodel evolution. [Hermannsdoerfer 2008] [Rose 2009] [Hermannsdoerfer 2009] Motivation: Modelling frameworks implementing OMG s metamodelling architecture can t manipulate models that are inconsistent with their metamodels. Also, migration of models cannot inherently be fully automated. Proposed solution: Metamodel co-evolution support, e.g. through maintaining difference mappings.
27 Empirical Research Challenge: automatic software measurement from conceptual models [Condori-Fernández 2008] Motivation: Low acceptance in industry despite widespread acceptance in academia. Reasons explored through acceptance model: Findings: Quality of results and Job relevance found to influence Perceived Usefulness, and in turn Intention to use and Actual usage.
28 Empirical Research Challenge: Efficiency of Model-Driven development for embedded systems [Bunse 2008] Motivation: Investigate claims on reuse and quality improvement. Findings: Model-Driven, component-oriented development is advantageous and yields maintainable systems; has a positive impact on amount of reuse, development effort and code quality.
29 Food for thought Models are widely used in industry in other fields, but what s needed to improve knowledge transfer to the software industry and industrial practices? Research seems focused on problem-solving case studies; How to increase the number and commonality of empirical studies? What are the implications of MDE on empirical research?
30 References [Selic 2003] B. Selic. The pragmatics of model-driven development. IEEE Software, 20(5):19 25, September October 2003. [Beydeda 2005] S. Beydeda, M. Book and V. Gruhn (eds.): Model-Driven Software Development, Springer Verlag, Berlin, 2005, ISBN 9783540285540. [OMG 2011] Object Management Group. Model Driven Architecture. http://www.omg.org/mda/, accessed March 2011. [Kleppe 2004] A. Kleppe et al. MDA Explained: The Model Driven Architecture Practice and Promise. Addison- Wesley, Reading, MA, 2004. [Mellor 2004] S.J. Mellor et al. MDA Distilled: Principles of Model-Driven Architecture. Addison-Wesley, Reading, MA, 2004. [Frankel 2003] D. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, New York, 2003. [Brown 2005] A. W. Brown, J. Conallen, D. Tropeano: Introduction: Models, Modeling, and Model-Driven Architecture (MDA), in S. Beydeda, M. Book and V. Gruhn (eds.): Model-Driven Software Development, Springer Verlag, Berlin, 2005, ISBN 9783540285540. [Jacobsen 1998] I. Jacobsen G. Booch and J. Rumbaugh. The Unified Modeling Language User s Guide. Addison Wesley, Reading, MA, 1998. [Ahmed 2001] K. Ahmed. Developing Enterprise Java Applications with J2EE and UML. Addison-Wesley, 2001. [Lillehagen & Krogstie 2008] F. Lillehagen and J. Krogstie: Active Knowledge Modeling of Enterprises, Springer Verlag, Berlin, 2008, ISBN 978-3-540-79416-5. [Krogstie 2009] J. Krogstie: Model-driven development and evolution of information systems: A quality approach, ch. 3.3, http://www.idi.ntnu.no/~krogstie/publications/2009/b33.pdf, accessed March 2011. [Hermannsdoerfer 2008] M. Hermannsdoerfer, S. Benz, E. Juergens, COPE: A Language for the Coupled Evolution of Metamodels and Models, in Proc. 1st Int l Workshop on Model Co-Evolution and Consistency Management (MCCM 08), 2008. [Altmanninger 2008] Kerstin Altmanninger, Gerti Kappel, Angelika Kusel, Werner Retschitzegger, Wieland Schwinger, Martina Seidl, Manuel Wimmer: AMOR Towards Adaptable Model Versioning, in Proc. 1st Int l Workshop on Model Co-Evolution and Consistency Management (MCCM 08), 2008.
31 References [Altmanninger 2009] Kerstin Altmanninger, Petra Brosch, Gerti Kappel, Philip Langer, Martina Seidl, Konrad Wieland, and Manuel Wimmer: «Why Model Versioning Research is Needed!? An Experience Report», in Proc. Joint MoDSE- MCCM 2009 workshop. [Hermannsdoerfer 2009] M. Herrmannsdoerfer, D. Ratiu: Limitations of Automating Model Migration in Response to Metamodel Adaptation, in Proc. Joint MoDSE-MCCM 2009 workshop. [Li & Chen 2009] Q. Li, Y. Chen: Modeling and Analysis of Enterprise and Information Systems From Requirements to Realization, Springer Verlag, Berlin, 2009, ISBN 978-3-540-89555-8. [MODI 2005] M. A. Khan, K. Mahmood: MODI framework a model-based approach to data integration, MSc. Thesis, University of Oslo, 30. July 2005. [Athena 2007] Athena Model-Driven Interoperability Framework, http://www.athena-ip.org/. [EMF 2011] Eclipse Modeling Framework, www.eclipse.org/emf. [Baker 2008] P. Baker, Z. Dai, J. Grabowski, Ø. Haugen, I. Schieferdecker, C. Williams: Model-Driven Testing using the UML Testing Profile, Springer Verlag, Berlin, 2008, ISBN 978-3-540-72562-6. [Condori-Fernández 2008] N. Condori-Fernández, O. Pastor: Analyzing the Influence of Certain Factors on the Acceptance of a Model-based Measurement Procedure in Practice: An Empirical Study, in Proc. Empirical Studies of Model-Driven Engineering (ESMDE'08) workshop, at 11th International Conference on Model Driven Engineering Languages and Systems Toulouse, France, 29 September 2008. [Bunse 2008] C. Bunse, H. Gross, and C. Peper: Embedded System Construction Evaluation of Model- Driven and Component-Based Development Approaches, in Proc. Empirical Studies of Model-Driven Engineering (ESMDE'08) workshop, at 11th International Conference on Model Driven Engineering Languages and Systems Toulouse, France, 29 September 2008.