A hybrid approach for multi-view modeling

Similar documents
Development Process Automation Experiences in Japan

A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment

METHOD & TOOLS TO SECURE AND SUPPORT COLLABORATIVE ARCHITECTING OF CONSTRAINED SYSTEMS

Principal MDM Components and Capabilities

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

A Software Development Platform for SOA

Model-based Version Management System Framework

The Role of the Software Architect

Towards Model-Driven Approach for Rapid ERP Development

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

OpenEmbeDD basic demo

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Model-Driven Health Tools (MDHT) CDA Tools Overview.

Quality Assurance of Software Models within Eclipse using Java and OCL

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Textual Modeling Languages

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

This is an author-deposited version published in : Eprints ID : 15447

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

An eclipse-based Feature Models toolchain

How To Develop Software

Implementation of hybrid software architecture for Artificial Intelligence System

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS

UML PROFILING AND DSL

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Agile Requirements Traceability Using Domain-Specific Modelling Languages

SystemDesign Methodologies

Model-Driven Development - From Frontend to Code

A Model Repository for Collaborative Modeling with the Jazz Development Platform

Development of a Feature Modeling Tool using Microsoft DSL Tools.

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Meister Going Beyond Maven

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Large-Scale DS(M)L Deployment in Thales

Introduction. Software Development and Change Management Recommendations

How To Use Networked Ontology In E Health

B.Com(Computers) II Year DATABASE MANAGEMENT SYSTEM UNIT- V

Unification of AOP and FOP in Model Driven Development

Metamodels and Modeling Multiple Kinds of Information Systems

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts

Scenario-driven Testing of Security-related Domain-specific Language Models

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Revel8or: Model Driven Capacity Planning Tool Suite

"FRAMEWORKING": A COLLABORATIVE APPROACH TO CONTROL SYSTEMS DEVELOPMENT

EMF Compare. EMF Compare. Summary : Table des mises à jour Version Date Auteur(s) Mises à jour v1.0 06/10/11 Laurent Goubet Initial Version

Zoom Plug-ins for Adobe

CHAPTER 6: DISTRIBUTED FILE SYSTEMS

Viewpoint Modeling. Agenda. 1. Viewpoint Modeling 2. ODS, Enterprise Architecture, Viewpoints, Models 3. Modeling approaches and standards

Requirements Engineering Process

Foundations of Model-Driven Software Engineering

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

A. Document repository services for EU policy support

How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)

Automatic Synthesis of Graphical User Interfaces for Health Information Systems

Bringing Business Objects into ETL Technology

Managing Data in Test Automation Frameworks. Vladimir Belorusets, PhD Xerox Corp

MQT, an Approach for Runtime Query Translation: From EOL to SQL

Evaluating OO-CASE tools: OO research meets practice

Embarcadero DB Change Manager 6.0 and DB Change Manager XE2

RE tools survey (part 1, collaboration and global software development in RE tools)

Oracle Warehouse Builder 10g

Using the TASKING Software Platform for AURIX

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov

WHITEPAPER. Managing Design Changes in Enterprise SBM Installations

How To Do Continuous Integration

Towards Collaborative Requirements Engineering Tool for ERP product customization

Producing Regional Profiles Based on Administrative and Statistical Data in New Zealand

Software Engineering. Objectives. Designing, building and maintaining large software systems

Version Control Using Subversion. 12 May 2013 OSU CSE 1

Scenario-based Requirements Engineering and User-Interface Design

Design Patterns for Complex Event Processing

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

JOURNAL OF OBJECT TECHNOLOGY

How To Write Software

Toward Families of QVT DSL and Tool

Dimensions of Statistical Quality

Bidirectional Tracing of Requirements in Embedded Software Development

What is a life cycle model?

Distributed Software Development with Perforce Perforce Consulting Guide

Mt. San Antonio College. Director, Research & Institutional Effectiveness. Type of Position: Full-time, 40 hrs per week

Transcription:

A hybrid approach for multi-view modeling Antonio Cicchetti, Federico Ciccozzi, Thomas Leveque School of Innovation, Design and Engineering Mälardalen University, MRTC Västerås, Sweden Multi-Paradigm Modeling 2011 Wellington, New Zealand

Agenda Introduction Motivation Contribution Proposed Approach Conclusion Future Work

Introduction Continuous growth of software systems complexity demands adequate techniques to face their development Model-driven engineering helps in tackling such complexity abstracting the real phenomena A problem is typically decomposed into different viewpoints, each of which deals with a domain-specific perspective Multi-view modeling mechanisms are usually distinguished between (ISO/IEC 42010): synthetic: each view is implemented as a distinct meta-model and the overall system is obtained as synthesis of the information carried by the different views projective: views are virtual, i.e. made of selected concepts coming from a single meta-model by non-relevant details

Motivation The synthetic solution allows to accurately separate different concerns and express view-related concepts thanks to its radical multi-metamodel nature (+) Adopting the synthetic solution raises problems mainly related to consistency management among different views (-) Technically, the projective solution relies on a single underlying metamodel to ease the consistency management; changes are always operated on a single shared model (+) The approach may become too restrictive because either the metamodel is too generic or the views are too specific to be reused in several development contexts (-) Moreover, the fact that generally the base metamodel does not have any concept of view embedded in it makes it difficult to express view-specific notions (e.g. editing rights for specific views) (-)

Problem SO.. Both approaches have advantages and drawbacks.... BUT What if we try to take the best of each by combining them?

Contribution Automated mechanism representing a hybrid technique for multi-view modeling Based on the definition of multiple views as separate metamodels (synthetic) View meta-models are sub-portions of a single overall metamodel (projective) Changes are propagated from the modifying view to the overall model and from that propagated to the other views Goal: a good trade-off between synthetic and projective techniques for a more efficient and reusable multi-view modeling approach

Multi-view Support View definition: view defined as custom selection of a subportion of the overall metamodel support for any number of views support for overlapping views (different views can be built on top of (partially) overlapping sub-metamodels) management of well-formedness issues Editing facilities: each view should carry with it a set of modification rights on its elements coherent with the perspective it pertains to support of customized view editor Synchronization management: transparent merge of separate views, meaning that consistency management across views should happen without any end-user intervention non-blocking management of concurrent manipulations for overlapping views

Views Creation Original View1 View2 ViewN View1 Model View2 Model Original Model ViewM Model view creation conforms to

Views Creation Wizard View properties selection: general information needed for creating the view, storing it and generating a related Eclipse editor model View elements selection: the elements constituting the overall meta-model are shown and the developer is able to select each meta-element that is going to be part of the new view Unique identifiers selection: in order to allow synchronization for each selected meta-class a non-empty set of its meta-attributes and/or meta-references must be selected to act as its unique identifier Editing rights selection: once the view is populated, desired editing rights are selected for each of the selected elements among two possibilities: Read-only Read/write Further elements may appear automatically selected by the consistency checking engine to ensure the creation of a view whose models will be still consistent and conforming to the initial meta-model

The Synchronization Process

View 1 (Teacher) Original View 2 (Student) Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation transforms

View 1 Original View 2 Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation

View 1 Original View 2 Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation transforms

View 1 Original View 2 Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation transforms

View 1 Original View 2 Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation transforms

View 1 Original View 2 Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation transforms

View 1 Original View 2 Original Model Updated Model Difference Model Conforms To Modification Additional Input Model Transformation transforms

Basic set of view customization features Limitations Element identification mechanism by means of unique identifiers as set of meta-attributes/meta-references Conflicts that may arise from concurrent modifications in overlapping views

Conclusion Approach for hybrid support to multi-view modeling through a combination of synthetic and projective approaches Definition of a set of basic needs for view customization Implementation of view creation wizard and synchronization mechanisms as well as generation of view-customized Eclipse editor Proposed solution based on EMF but approach independent of the modeling technology

Extension of view customization features Full automation of the process Future Work Validation of the proposed technique against a properlysized case study to verify feasibility and analyze possible scalability issues Enhancement of the element identification mechanism Resolution of conflicts that may arise from concurrent modifications in overlapping views by means of suggested quick-fixes (when applicable)

Thanks for Your attention.. Questions and/or comments?

Synchronization Process Original Wizard View View Editor Model metamodel model transforms references transformation

Synchronization Process Original Wizard View View Editor Model M2T Eclipse View Editor Plugin Code metamodel model transforms references transformation

Synchronization Process Original Original Diff Wizard View View Diff View Editor Model M2T Eclipse View Editor Plugin Code metamodel model transforms references transformation

Synchronization Process Original Original Diff H-O ComputeDiff + ApplyDiff Transformations Wizard View View Diff H-O ComputeDiff + ApplyDiff Transformations View Editor Model M2T Eclipse View Editor Plugin Code metamodel model transforms references transformation

Synchronization Process Original Original Diff H-O ComputeDiff + ApplyDiff Transformations Wizard TranslateDiffModel Transformation View View Diff H-O ComputeDiff + ApplyDiff Transformations View Editor Model M2T Eclipse View Editor Plugin Code metamodel model transforms references transformation

Synchronization Process Original Original Diff H-O ComputeDiff + ApplyDiff Transformations Wizard TranslateDiffModel Transformation View View Diff H-O ComputeDiff + ApplyDiff Transformations View Editor Model M2T Eclipse View Editor Plugin Code metamodel model transforms references transformation