Presentation on theme: "05/10/20101 MODEL DRIVEN INTEROPERABILITY First Workshop on."— Presentation transcript:
05/10/20101 MODEL DRIVEN INTEROPERABILITY First Workshop on
05/10/20102 About the MDI Workshop Interoperability is the ability of separate entities, systems or artifacts (organizations, programs, tools, etc.) to work together. Although there has always been the need to achieve interoperability between heterogeneous systems and notations, the difficulties involved in overcoming their differences, the lack of consensus on the common standards to use and the shortage of proper mechanisms and tools, have severely hampered this task. Model-Driven Engineering (MDE) is an emergent discipline that advocates the use of (software) models as primary artifacts of the software engineering process. In addition to the initial goals of being useful to capture user requirements and architectural concerns, and to generate code from them, models are proving to be effective for many other engineering tasks. New model-driven engineering approaches, such as model-driven modernization, models-at-runtime, model-based testing, etc. are constantly emerging. Model interoperability is much more complex than simply defining a local serialization format, e.g., XMI. This would just resolve the syntactic (or plumbing) issues between models and modeling tools. However, interoperability should also involve further aspects, including behavioral specifications of models (which in turn describe the behavioral aspects of the systems being modeled), and other semantic issues such as agreements on names, context-sensitive information, agreements on concepts (ontologies), integration conflict analysis (including for example automatic data model matching), semantic reasoning, etc. Furthermore, interoperability not only means being able to exchange information and to use the information that has been exchanged, but also to exchange services and functions to operate effectively together. Models and MDE techniques (especially metamodeling and model transformations) can play a fundamental role for fully accomplishing these tasks. Thus, models can become cornerstone elements for enabling and achieving interoperability between all kinds of systems and artifacts, including data sets (under the presence of different data schemata, and possibly at different levels of abstraction), services (despite their differences in data representation, access protocols and underlying technological platforms), event systems (with different complex types and origins), languages (that use different notations and may have different semantics), tools (with different data formats and semantic representations), technological platforms (with different notations, tools and semantics), etc. Interoperability is the ability of separate entities, systems or artifacts (organizations, programs, tools, etc.) to work together It is our claim that Models and MDE (esp. metamodels and transformations) can play a key role for enabling and achieving interoperability between systems, artifacts, functions, services, platforms and tools. Interoperability goes beyond a common serialization format (e.g., XML or XMI): Names, protocols, behavior and semantics need to be agreed
05/10/20103 Scope of the workshop The goal of this workshop is to discuss the potential role of models as key enablers for interoperability, and the challenges ahead. It aims to provide a venue where researchers and practitioners concerned with all aspects of models and systems interoperability could meet, disseminate and exchange ideas and problems, identify some of the key issues related to model-driven interoperability, and explore together possible solutions.
05/10/20104 Topics for the workshop Precise specification of models, metamodels and their properties. Precise notations of compatibility/composition of models and metamodels (for, e.g., DSL combination). Automated tool support for constructing, analyzing, comparing and composing models. Definition of underlying formal frameworks that allow automated reasoning about model interoperability. Requirements for interoperability: challenges and roadmap. Tool metamodeling. Use of existing MDE technologies for interoperability (model transformation, model weaving, model differencing, model evolution, …). Analysis of current standards and proposals for extensions to standards to enable interoperability. Industrial and experience reports on interoperability. Architectures for MDI. Integration between Business and IT models. Model transformation for Semantic Interoperability. Ontological and semantic support for MDI. Reverse engineering of Information Systems and MDI. Taxonomy of interoperability problems and solutions. Methods and support for achieving interoperability through models.
05/10/20105 Agenda 9:00– 10:30 Introduction and welcome "MDI in practice: preliminary evidences and issues from an industrial project" "Semantic Interoperability of Clinical Data Exchange" "A Process Model Discovery Approach for Enabling Model Interop in Signal Engineering" 11:00 – 12:30 "Efficient Analysis and Execution of Correct and Complete Model Transf Based on TGG" "Expressivity Bnchmrk for Mappings based on a syst. classification of Heterogeneities" "Specifying Overlaps of Heterogeneous Models for Global Consistency Checking" "Anticipating Unanticipated Tool Interoperability using Role Models" "Behavioural Interoperability to Support Model-Driven Systems Integration" 14:00 – 15:30 "Aligning Business and IT Models in SOA s using BPMN and SoaML "Domain-specific Templates for Refinement Transformations" "Advanced Modelling Made Simple with the Gmodel Metalanguage" "Model-driven Rule-based Mediation in XML Data Exchange" 16:00 – 17:30 Discussion session (60') Identification of further open issues, research challenges and opportunities. Roadmap Conclusions and farewell (5')
05/10/20106 Model Driven Interoperability MDE is a new technology New technologies usually add to the heterogeneity of legacy systems But MDE is not only a technology to be integrated with others … MDE is also an integration technology
05/10/ Integration Integration (from the Latin integer, meaning whole or entire) generally means combining parts so that they work together or form a whole. In information technology, there are several common usages: Integration during product development is a process in which separately produced components or subsystems are combined and problems in their interactions are addressed. Integration is an activity by companies that specialize in bringing different manufacturers' products together into a smoothly working system. (WhatIs def.) Integrate Make working together, in a whole corresponding to a precise objective, elements that were not initially designed to achieve this objective. Exemple: Enterprise Application Integration (EAI) The process of adapting a system to make applications work together when they would otherwise be incompatible. Dictionary Of Database And Related Technology
05/10/20108 System Integration system integration: The progressive linking and testing of system components to merge their functional and technical characteristics into a comprehensive, interoperable system Note: Integration of data systems allows data existing on disparate systems to be shared or accessed across functional or system boundaries.
05/10/ Data Integration A broad spectrum of data is available on the Web in distinct heterogeneous sources, stored under different formats. As the number of systems that utilize this data grows, the importance of data conversion mechanisms increases greatly… A key observation is that, often, the application programs used by organizations can only handle data of a specific format... To enable a specific tool to manipulate data coming from various sources, a translation phase must take place…The naive way to translate data from one format to another is writing a specific program for each translation task… A sound solution for a data integration task requires a clean abstraction of the different formats in which data are stored, and means for specifying the correspondences between data in different worlds and for translating data from one world to another. Serge Abiteboul & al. Tools for data translation and integration Data engineering Vol. 22,N.1, march 1999.
05/10/ Interoperability (definition) SaSb Compare, Align, Compose, Interoperate, Integrate, etc. Describing with precision different heterogeneous systems, situations, phenomenons, etc. with the help of well-defined languages in order to achieve some form of integration.
05/10/ Interoperability (Goal) SaSb SaSb Sc Two heterogeneous Systems Sa and Sb One « integrated » system Sc (Does not mean that Sa and Sb have been « merged »)
05/10/ (Model Driven) Interoperability SaSb MaMb Two step heterogeneity resolution: (1)Representing systems by models (2)Aligning the models (2) (1)
05/10/ Three main types of MDE applications Three levels of complexity S M (MD Software Development for development automation) S M (MD Reverse Engineering for legacy modernization) S M M S (Run Time Correspondences for system interoperability) MDE Applications « Code » generation Artefact generation Model Discovery (e.g. from code) System interoperability
05/10/ System interoperability is a challenge Model Ma System Sa repOf Model Mb System Sb repOf Metamodel MMa Metamodel MMb c2 Two heterogeneous sytems Sa and Sb System interoperability implemented by model transformations
05/10/ Categories of Systems Types of interoperability Code Data Business Platform Tool Enterprise Requirements Problems Solutions Static systems Dynamic systems Etc. 16 a model M a system S repOf A situation or a phenomenon of the real or imagined world. (a Graph)
05/10/ Examples for MDI Interoperability between different tools Interoperabilty between different versions of systems Interoperability between business and technology Interoperability between diferent platforms Interoperability between the past and the future Interoperability between different languages etc.
05/10/ MDE and Tool Interoperability System engineering in general is highly tool oriented: Composite H/S system specification, design, implementation, deployment, maintenance, etc. Tools are ubiquitous in these contexts 100 tools in a department, 1000 tools in a department, more? iPhone apps, Android apps, more AppStores, etc. Tools have various characteristics APIs & functionalities Features & services Human-driven, semi-automated or fully automated Simple or composite Tool interoperability is becoming a critical issue Behind each tool, there is a metamodel MDE seems to be the only realistic way to approach this huge integration problem
05/10/ Tool interoperability MM a TOOL a The CESAR project RTP : (Reference Technology Platform) a proposal MM b TOOL b Alignement Transformation
05/10/ Interoperability between multiple normative «silos» Exact or partial correspondences Partial alignments The OMG AESIG initiative
05/10/ MoDisco: making the future interoperate with the past M2M Injectors Extractors
05/10/ Interoperability between two versions of the same tool (software evolution) Autosar 2.0Autosar 2.1
05/10/ Language interoperability at work Credit to Marco Didonet del Fabro, IBM/ILOG
05/10/ Interoperability between various DSLs used in one single application
05/10/ Interoperability between tools conforming to the same notation The goal of the MIWG is to improve the interoperability of MOF/XMI-based tools. The initial focus is on model interchange among UML, SysML, and UPDM -capable tools.
05/10/ The «Village metaphor» by Antonio Vallecillo (functional reuse) The Prolog village The Petri net village The Coloured Petri Net Village The Modelica village The SysML village The Autosar village The Coq village etc.