Current trends and frameworks for modeldriven approaches to software development

Similar documents
Modelling in Enterprise Architecture. MSc Business Information Systems

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

MDSE PRINCIPLES. Chapter #2

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Model Driven Engineering (MDE)

AMOR Towards Adaptable Model Versioning

Model driven Engineering & Model driven Architecture

Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

State of the Art and Future Directions in Model Management Research

Introduction to MDE and Model Transformation

Domain Models for Laboratory Integration

An Introduction to MDE

Overview of lectures today and Wednesday

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

Ontology-based Model Transformation

Practical Model-Driven Development with the IBM Software Development Platform

INTRODUCTION. Chapter #1

Transformational Design with

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

QoS-aware model-driven SOA using SoaML

Model Migration Case for TTC 2010

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A (Very) Short Introduction to Model-Driven Development (MDD)

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

Sequence Diagram Generation with Model Transformation Technology

Modeling with UML, with semantics

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Evolving Models in Model-Driven Engineering: State-of-the-Art and Future Challenges

Definition of Visual Language Editors Using Declarative Languages

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

MDSE USE CASES. Chapter #3

The Eclipse Modeling Framework and MDA Status and Opportunities

MDA and Integration of Legacy Systems: An Industrial Case Study

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

A Generic Framework for Realizing Semantic Model Differencing Operators

Defining Domain-Specific Modeling Languages

A Model-driven approach to NLP programming with UIMA

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

INF5120 Model-Based System Development

1 Introduction. 1.1 Introduction

OMG Specifications for Enterprise Interoperability

Improving Military Information Technology Through Common Conceptual Models

Methods for the Development

All you need are models Anneke Kleppe, Klasse Objecten

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

Bizagi Process Management Suite as an Application of the Model Driven Architecture Approach for Developing Information Systems

Software Language Engineering of Architectural Viewpoints

MODEL DRIVEN ARCHITECTURE A REVIEW OF CURRENT LITERATURE

First Steps Towards Conceptual Schema Testing

bahmanzamani.com Computer Engineering i Dept. University of Isfahan

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

Index. business modeling syntax 181 business process modeling 57 business rule 40

From Object Composition to Model Transformation with the MDA

Spemmet - A Tool for Modeling Software Processes with SPEM

A Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications

OCL for the Specification of Model Transformation Contracts

The Model-Driven Semantic Web Emerging Standards & Technologies

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

* Corresponding Author

Model Migration Case for TTC 2010

Model Driven Ontology: A New Methodology for Ontology Development

Science of Computer Programming. GREAT: UML transformation tool for porting middleware applications

11 Model-Driven Architecture

BrainTool. A Tool for Generation of the UML Class Diagrams

Implementing the Unifying Meta-Model for Enterprise Modeling and Model-Driven Development: An Experience Report

Model Driven Architecture - The Vision

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Enabling Component-Based Model Transformations with QVT. Li Dan

A universal PNML Tool. Lukasz Zoglowek

Generation Rules in POMA Architecture

Transformation of the system sequence diagram to an interface navigation diagram

A Formal V&V Framework for UML Models Based on Model Transformation Techniques

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Model-Based Social Networking Over Femtocell Environments

Dresden OCL2 in MOFLON

The Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab

Model Driven Service Interoperability through use of Semantic Annotations

INF5120 and INF9120 Modelbased System development

Introduction to Dependable Systems: Meta-modeling and modeldriven

Static analysis and testing of executable DSL specification

Software Architecture

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Towards Transformation Migration After Metamodel Evolution

Model Driven Development Unified Modeling Language (UML)

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Approaches of using UML for Embedded System Design

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Multimedia Ontology-Driven Architecture for Multimedia Systems

Coral: A Metamodel Kernel for Transformation Engines

Reusable Object-Oriented Model

Design Patterns for Description-Driven Systems

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

ITBIS393 Web-Based Information Systems

AT&T Government Solutions, Inc.

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Transcription:

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.