Towards 2D Traceability

Similar documents
Integrating a Declarative with an Imperative Model Transformation Language

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

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

Dresden OCL2 in MOFLON

Copying Subgraphs within Model Repositories

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

Generating JMI model transformation code from UML profile models for SDM Aligning Graph Rewriting with MDA-light

Raising the Level of Development: Models, Architectures, Programs

The Write Once, Deploy N MDA Case Study

OCL for the Specification of Model Transformation Contracts

Formal Methods for Software Engineers

All you need are models Anneke Kleppe, Klasse Objecten

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

QoS-aware model-driven SOA using SoaML

Domain-Frontier approach to. MDA based. software development

Write Once, Deploy N a Performance Oriented MDA Case Study

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

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Model Driven Engineering (MDE)

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Object Oriented Program Correctness with OOSimL

A Taxonomy of Model Transformation

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

Towards the integration of security patterns in UML Component-based Applications

02291: System Integration

Overview of lectures today and Wednesday

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

OCL Support in MOF Repositories

Model Driven Architecture for Software Application Generation

Formal Support for QVT-Relations with Coloured Petri Nets

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

An integrated framework for automated simulation of SysML models using DEVS

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

ATL Demystified and an Introduction to the RPG2Petrinet Experiment

A Graphical Specification of Model Composition With Triple Graph Grammars

SCENARIO-BASED REQUIREMENTS MODELLING

Model Driven Architecture with Enterprise Architect

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

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

Sequence Diagram Generation with Model Transformation Technology

Object-Oriented Theories for Model Driven Architecture

BLU AGE 2009 Edition Agile Model Transformation

Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy

Managing Complex Interoperability Solutions using Model-Driven Architecture

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

Enabling Component-Based Model Transformations with QVT. Li Dan

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

2nd Belgian-Dutch workshop on Software Evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Meta-modelling and Model Transformation the two pivots of Model Driven Architecture

Change Impact Analysis based on Formalization of Trace Relations for Requirements

AUTOMATIC GENERATION OF DATA MERGING PROGRAM CODES

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

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

Leveraging UML Profiles to Generate Plugins From Visual Model Transformations

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars

Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation

The Model-Driven Semantic Web Emerging Standards & Technologies

Model driven Engineering & Model driven Architecture

Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios

Do model transformations solve all the problems?

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater

Generic Modeling using UML extensions for variability

Modelling in Enterprise Architecture. MSc Business Information Systems

ROLE OF OCL AND ITS SUPPORTING TOOLS IN REQUIREMENT SPECIFICATION

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

51. Model and Program Analysis with Graph Reachability

Architectural Decomposition Reid Holmes

Eclipse Support for Using Eli and Teaching Programming Languages

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software

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

Basics : the Requirements Engineering Process

Object-Oriented Systems Development: Using the Unified Modeling Language

Architectural Decomposition & Representations Reid Holmes

Software Engineering from a

Towards Transformation of Integrity Constraints and Database States

Formal Specification of Software Systems

A Library-Based Approach to Translating OCL Constraints to JML Assertions for Runtime Checking

University of Alabama

Specification with OCL

Computer Science at Kent

Update on AADL Requirements Annex

Current trends and frameworks for modeldriven approaches to software development

16 Evaluation Framework for Model-Driven Product Line Engineering Tools

Enabling Multi-View Modeling With SysML Profiles and Model Transformations. Aditya A. Shah, Dirk Schaefer and Christiaan J.J.

A Proposed Engine Implementation Mechanism to Execute the Code of Relations Query/View/Transformation Language

Domain-Driven Development with Ontologies and Aspects

SCOS-2000 Technical Note

Model Abstraction versus Model to Text Transformation

Transformation Language Integration based on Proles and Higher Order Transformations

Reconciling TGGs with QVT

CSC Advanced Object Oriented Programming, Spring Specification

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Chapter 1: Programming Principles

CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL

First Steps Towards Conceptual Schema Testing

ATL: Atlas Transformation Language. ATL User Manual

Transcription:

Towards 2D Traceability in a platform for Contract Aware Visual Transformations with Tolerated Inconsistencies Pieter Van Gorp pieter.vangorp@ua.ac.be Frank Altheide frank.altheide@gmail.com Dirk Janssens dirk.janssens@ua.ac.be

Overview 2 Context Heterogenous Models Levels of Traceability Levels of Consistency Background CAViT ICONS Case Study Requirements Specification Conceptual Model Robustness Model Models are Graphs ICONS 1 OCL and Story Diagrams Recurring Patterns: too low-level ICONS 2 Declarative TGG rules Refinement to Story Diagrams Tweaking Story Diagrams Traceability in 2nd Dimension!

3 Heterogenous Models

4 Levels of Traceability Not always feasible to reach level (c)

Consistency Maintenance Levels of Consistency 5 Anthony Finkelstein. A foolish consistency: Technical challenges in consistency management. In Proceedings of the 11th International Workshop on Database and Expert Systems Applications, 2000. Bashar Nuseibeh, Steve Easterbrook, and Alessandra Russo. Leveraging inconsistency in software development. Computer, 33(4):pp. 24 29, 2000. Tolerate Inconsistencies (Controlled) MDA Anneke Kleppe, Jos Warmer, and Wim Bast. MDA explained: the model driven architecture: practice and promise. Object Technology Series. Addison Wesley, 2003. Enforce Consistency by Transformation More recent: Model Weaving (etc.)

Overview 6 Context Heterogenous Models Levels of Traceability Levels of Consistency Background CAViT ICONS Case Study Requirements Specification Conceptual Model Robustness Model Models are Graphs ICONS 1 OCL and Story Diagrams Recurring Patterns: too low-level ICONS 2 Declarative TGG rules Refinement to Story Diagrams Tweaking Story Diagrams Traceability in 2nd Dimension!

7 Background (1): CAViT Contract Aware Visual Transformations Why Contract Aware? Constraints needed for monitoring Use of OCL with Inv, Pre, Post (<> ATL, YATL,...) Minimal extension of OCL's semantics:» reactive behavior upon invariant violation Why Visual? Evaluating UML as a visual QVT language Graph Transformation: already quite mature in 2002

Background (2): ToolNet 8

Overview 9 Context Heterogenous Models Levels of Traceability Levels of Consistency Background CAViT ICONS Case Study Requirements Specification Conceptual Model Robustness Model Models are Graphs Sample Constraint ICONS 1 OCL and Story Diagrams Recurring Patterns: too low-level ICONS 2 Declarative TGG rules Refinement to Story Diagrams Tweaking Story Diagrams Traceability in 2nd Dimension!

Case Study: Meeting Scheduler 10 Requirements Specification Conceptual Model Robustness Model

UML Profiled Models as Graphs 11

12 Sample Constraint (Informal Version) All classes from the conceptual model should correspond to entities in the robustness model. Their attributes and attribute types should correspond. Both internal types and library types should be supported.

Overview 13 Context Heterogenous Models Levels of Traceability Levels of Consistency Background CAViT ICONS Case Study Requirements Specification Conceptual Model Robustness Model Models are Graphs Sample Constraint ICONS 1 OCL and Story Diagrams Recurring Patterns: too low-level ICONS 2 Declarative TGG rules Refinement to Story Diagrams Tweaking Story Diagrams Traceability in 2nd Dimension!

CAViT: Imperative Approach OCL Transformation Contracts Contract (INV, POST) Each class traces to an entity 89 Evaluate whether each class in the conceptual model traces to 90 an entity in the robustness model 91 let eachclasstracestoanentity(): Boolean= 92 conceptualmodeltracestorobustnessmodel() and 93 allclassesfrommodel(cm) >forall(cmc 94 allclassesfrommodel(rm) >exists(rmc 96 l.node >contains(cmc) and 97 l.node >contains(rmc) 98 100 ) Contract for Violation Scenario (PRE): Robustness Model exists There are classes without an entity 114 Transformation launched when there are classes unrelated to an entity while 115 RM does exist already... 116 context CMconsistentRM::fix_eachClassTracesToAnEntity_violated_rmExists(): Boolean 117 pre: 118 conceptualmodeltracestorobustnessmodel() and 'rm' not Undefined 119 not eachclasstracestoanentity() 120 121 post: eachclasstracestoanentity() this.traceabilitylinks >select(ocliskindof(class2entity)) >exists(l 95 99 14 ) ) Engine monitors for violated invariants, triggers proper transformation Declarative, Unidirectional

15 ICONS: Story Diagrams triggering ToolNet GUI Usability: Any interaction pattern can be implemented: Story Diagrams is formalism of transformation writer setfocus End-user (= modeler) choosealternative interacts with dialogs only.... is guided through elements in his models

Story Pattern: Is the Class related to an Entity? 16 Model Query as a primitive graph transformation rule

17 Problem Too low-level» additional example in paper Recurring Patterns Story diagram for creating elements Story diagram for incremental update Story diagram for manual resolution... Can be abstracted by TGG rules..

Overview 18 Context Heterogenous Models Levels of Traceability Levels of Consistency Background CAViT ICONS Case Study Requirements Specification Conceptual Model Robustness Model Models are Graphs Sample Constraint ICONS 1 OCL and Story Diagrams Recurring Patterns: too low-level ICONS 2 Declarative TGG rules Refinement to Story Diagrams Tweaking Story Diagrams Traceability in 2nd Dimension!

Classes to Entities 19 Added Value of Triple Graph Grammar rules: One declarative rule covers 6 (to 9) operational rules! Reduced duplication, better focus.

Operational Rule Derivation 20 A Higher Order Transformation produces: Forward-Create Forward-Delete Forward-Consistency Backward-Create Backward-Delete Backward-Consistency

Towards 2D Traceability 21 Traceability links across application models, created by first order transformations. Traceability links between transformation models, created by second order transformations.

22 Why Traceability in 2nd Dimension? Not only: understandability & debugging, but also expressiveness Examples from case study...

23 Manual Completion of derived operational rules Example: consistency of attribute types Internal Attribute Types» Type of attribute in conceptual model resides within conceptual model» Type of corresponding attribute in robustness model resides in robustness model External Attribute Types» Type of attribute in conceptual model resides in library model» Type of corresponding attribute in robustness model should be that library type too Declarative TGG rules lead to non determinism

Internal Attribute Types 24 External Attribute Types

25 Handling Internal Attribute Types

26 Handling External Attribute Types

27 Problem Overlapping Applicability Need user decision to resolve

Solution 28 Embed some operational rules in a control flow» forward consistency and backward consistency in this case... Add/remove some operational rules manually Calls to ToolNet GUI takes care of interaction» setfocus, choosealternative

Tolerating Inconsistencies: Extra TGG Rule 29 Collecting traces of inconsistent attribute types» Can be displayed to modeler and tolerated explicitly» Overlapping TGG rule applicability again handled at operational level TGG Rule causes similar ambiguity

Model Transformations need to Interact with Modelers Tolerate Inconsistencies (controlled) Conclusions 30 Model Transformation Languages Need combination of declarative and imperative features Manage Complexity Divide and Conqueror Clean separation between declarative and imperative language 2D Traceability? Transformation models become first class Traceability between high level and low level transformation models (PIM to PSM ~ PIT to PST) Hide 2nd Dimension from Application Modelers However: essential for managing complete set of models Static Comprehension: eases transition to declarative languages Runtime Debugging Manual Completion

Related Work 31 Simon Becker, RWTH Aachen QVT Relational» Graphical QVT maps very closely to Triple Graph Grammars» Also 2 layer language: QVT relational mapped to QVT core» QVT could benefit from 2D traceability as well

32 Current & Future Work Implement on top of Fujaba Plugins» MOFLON, or» MOTE/MORTE Extend H.O.T deriving Operational Rules from TGGs» ignoreconstraints property can be set on traceability link (correspondence node)» no problem in ICONS 1» impact on rule derivation strategy needs to be investigated further: e.g. aclass.name==anentity.name trace.ignoreconstraints Compare with Alternative Hybrid Transformation Language:» Story Diagrams, integrated with» TGG Rules Eliminates need for Transformation Traceability Several Pro's/Con's

33 Thanks for your Attention Questions? pieter.vangorp@ua.ac.be http://www.fots.ua.ac.be/~pvgorp/research/