MDAFA 2004 Presentation1Dennis Wagelaar Context-Driven Model Refinement Dennis Wagelaar Vrije Universiteit Brussel.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Design Patterns Ref : Chapter 15 Bennett et al. useful groups of collaborating classes that provide a solution to commonly occuring problems. provide.
CSCI-383 Object-Oriented Programming & Design Lecture 15.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 6 Class Inheritance F Superclasses and Subclasses F Keywords: super F Overriding methods F The Object Class F Modifiers: protected, final and abstract.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
An Object-Oriented Approach to Programming Logic and Design
1 Understanding Inheritance COSC 156 C++ Programming Lecture 8.
An Introduction to Software Architecture
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
Introduction to MDA (Model Driven Architecture) CYT.
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
J-OCM is a system for monitoring distributed Java applications conforming to OMIS specification with J-OMIS extensions. It is used to: gather information.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
A language to describe software texture in abstract design models and implementation.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 16 Applying UML and Patterns Craig Larman
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Software Engineering Lecture 8 Object-Oriented Analysis.
MDD approach for the Design of Context-Aware Applications.
Interfaces About Interfaces Interfaces and abstract classes provide more structured way to separate interface from implementation
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Object-Oriented Parsing and Transformation Kenneth Baclawski Northeastern University Scott A. DeLoach Air Force Institute of Technology Mieczyslaw Kokar.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Sheet 1 MDAFA 2003 A Synthesis-based Approach to Transformations in an MDA Software Development Process Ivan Kurtev, Klaas van den Berg University of Twente.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Design Pattern Support based on principles of model driven development Zihao Zhao.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
2009 copyright Leslie Munday University Requirements Management and Traceability For IIBA By Leslie Munday.
CSCE 240 – Intro to Software Engineering Lecture 3.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Architecture for View Modeling in SysML Auto-View Generation Working Group Lead: Christopher Delp NASA JPL.
CSCI 383 Object-Oriented Programming & Design Lecture 15 Martin van Bommel.
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
Common Design Patterns
Object Oriented Analysis and Design
Slides by Steve Armstrong LeTourneau University Longview, TX
Chapter 20 Object-Oriented Analysis and Design
Class Diagrams.
An Introduction to Software Architecture
Data Models.
Software Development Process Using UML Recap
Inheritance Lakshmish Ramaswamy.
Object Oriented Design
Presentation transcript:

MDAFA 2004 Presentation1Dennis Wagelaar Context-Driven Model Refinement Dennis Wagelaar Vrije Universiteit Brussel

MDAFA 2004 Presentation2Dennis Wagelaar Contents Developing for Ambient Intelligence Context-Aware Modelling Context-Driven Refinement Conclusions and Future Work

MDAFA 2004 Presentation3Dennis Wagelaar Developing for AmI (1) Developing for AmI Context-Aware Modelling Context-Driven Refinement Conclusions

MDAFA 2004 Presentation4Dennis Wagelaar Developing for AmI (2) Developing for AmI Context-Aware Modelling Context-Driven Refinement Conclusions In MDSD, models abstract from context for reusability over different contexts –UML allows only limited abstraction: there is no “general” language element Alternative refinements exist for use in specific contexts –Refinement alternatives are currently chosen manually: does not scale up

MDAFA 2004 Presentation5Dennis Wagelaar Context-Driven Development Developing for AmI Context-Aware Modelling Context-Driven Refinement Conclusions CoCompose2: –Uses general “concept” language construct that can later be refined –Automatically chooses and applies model refinements, based on context –Separated from UML language model CoCompose2 can also be applied to other (modelling) languages

MDAFA 2004 Presentation6Dennis Wagelaar Context-Aware Modelling Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Each model element is initially represented as a “concept” Concepts can be connected with “relationships” –Nature defined by an intermediate concept Concepts can contain other concepts Concepts can have several “refinements”

MDAFA 2004 Presentation7Dennis Wagelaar Example: Breakout Game Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions

MDAFA 2004 Presentation8Dennis Wagelaar Example: Breakout Game Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout Ball Paddle Brick

MDAFA 2004 Presentation9Dennis Wagelaar Example: Breakout Game Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout Ball Paddle Brick ABall APaddle Bricks 1 1 n

MDAFA 2004 Presentation10Dennis Wagelaar Refining Concepts (1) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Several kinds of refinements exist: – Solution Patterns: template designs – Implementation Patterns: code templates – Model Transformations: executable model adaptors – Implementation Generators: executable code generators

MDAFA 2004 Presentation11Dennis Wagelaar Refining Concepts (2) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Refinements can be inherited from or superimposed on other concepts Icons are used to mark often-used concepts: when inheriting refinements, the icon is also inherited Refinements replace the original concept, unless specified otherwise

MDAFA 2004 Presentation12Dennis Wagelaar “Brick” Solution Pattern Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions java.awt.Panel Brick Is Breakout Ball Paddle Brick ABall APaddle Bricks 1 1 n

MDAFA 2004 Presentation13Dennis Wagelaar Refining Models (1) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout Ball Paddle Brick ABall APaddle Bricks 1 1 n BreakoutStructure Breakout Ball Paddle Brick

MDAFA 2004 Presentation14Dennis Wagelaar Refining Models (2) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions BreakoutStructure Ball Paddle Brick Breakout BreakoutFactory Product IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child...

MDAFA 2004 Presentation15Dennis Wagelaar “Factory” Solution Pattern Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Factory CreateProduct Returns Product [0..*] return new (); Implementation Pattern

MDAFA 2004 Presentation16Dennis Wagelaar Describing Context Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Based on Faceted Classification Each design element can have a tree of general “properties” Constraints can be defined over these “property” trees –Can be inverted –Can be combined with an AND operator or an OR operator

MDAFA 2004 Presentation17Dennis Wagelaar Example Constraint (1) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions brickSolution Device PlatformConstraint Platform Java Windows CE PocketPC 2002 constrainedElement Platform Java Personal Java A constraint holds if the leaf properties of the common subtree are also leaf properties in the original property tree (left)

MDAFA 2004 Presentation18Dennis Wagelaar Example Constraint (2) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions brickSolution Device PlatformConstraint Platform Java Windows CE PocketPC 2002 constrainedElement Platform Java Personal Java Constraint holds, since “Java” was already a leaf element in the original tree on the left.

MDAFA 2004 Presentation19Dennis Wagelaar Example Constraint (3) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions brickSolution Device PlatformConstraint Platform Java Windows CE PocketPC 2002 constrainedElement Platform Java Personal Java Constraint does not hold, since “Java” was not a leaf element in the original tree on the left. Java 2

MDAFA 2004 Presentation20Dennis Wagelaar Context-Driven Refinement Based on Synthesis-Based Design Consists of 4 steps: 1.Choose refinements 2.Apply refinements 3.Determine implementation properties 4.Generate code Alternative: export low-level UML Constraint checking after each step Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions

MDAFA 2004 Presentation21Dennis Wagelaar 1. Choose refinements Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions brickSolution1 Platform Java Brick brickSolution2 Platform Windows CE brickSolution3 Platform Java Java 2 Device PlatformConstraint Platform Java Java 2 J2ME Preferred

MDAFA 2004 Presentation22Dennis Wagelaar 2. Apply refinements (1) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions BreakoutStructure Breakout BreakoutFactory Product IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child Ball Paddle Brick...

MDAFA 2004 Presentation23Dennis Wagelaar 2. Apply refinements (2) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions BreakoutStructure Breakout BreakoutFactory Product IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child Ball Paddle Brick... Breakout Ball Paddle Brick ABall APaddle Bricks 1 1 n

MDAFA 2004 Presentation24Dennis Wagelaar 2. Apply refinements (3) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout BreakoutFactory Product IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child Ball Paddle Brick ABall 1 APaddle 1 Bricks n Breakout Ball Paddle Brick ABall APaddle Bricks 1 1 n Relationships are transferred

MDAFA 2004 Presentation25Dennis Wagelaar 2. Apply refinements (4) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout BreakoutFactory Product IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child Ball Paddle Brick ABall 1 APaddle 1 Bricks n Factory CreateProduct Returns Product [0..*]

MDAFA 2004 Presentation26Dennis Wagelaar 2. Apply refinements (5) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout BreakoutFactory IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child Ball Paddle Brick ABall 1 APaddle 1 Bricks n CreateBreakout Returns... Factory CreateProduct Returns Product [0..*] Names are adapted

MDAFA 2004 Presentation27Dennis Wagelaar 2. Apply refinements (6) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout BreakoutFactory IBreakoutFactory IBF Parent Child IBreakout IBF Parent Child Ball Paddle Brick ABall 1 APaddle 1 Bricks n CreateBreakout Returns... Model Transformation

MDAFA 2004 Presentation28Dennis Wagelaar 2. Apply refinements (7) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout BreakoutFactory IBreakoutFactory IBreakout Ball Paddle Brick ABall 1 APaddle 1 Bricks n CreateBreakout Returns... Is Add inheritance

MDAFA 2004 Presentation29Dennis Wagelaar 2. Apply refinements (8) Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Breakout BreakoutFactory IBreakoutFactory IBreakout Ball Paddle Brick ABall 1 APaddle 1 Bricks n CreateBreakout Returns... Is CreateBreakout Returns Move references Copy public methods

MDAFA 2004 Presentation30Dennis Wagelaar 3. Implementation properties Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Brick JavaClassGenerator Platform Java Construct Class Visibility Concreteness Public Protected Private Implementation Concrete Abstract... Implementation Generators impose special properties

MDAFA 2004 Presentation31Dennis Wagelaar 3. Implementation properties Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Brick JavaClassGenerator Platform Java Construct Class Visibility Concreteness Public Protected Private Implementation Concrete Abstract... Constraints and heuristics are used choose from multiple properties

MDAFA 2004 Presentation32Dennis Wagelaar 4. Generate code Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions Implementation Generators are applied: –Generate code for a specific concept –Insert Implementation Patterns –Invoke Implementation Generators of nested concepts

MDAFA 2004 Presentation33Dennis Wagelaar Conclusions CoCompose2 fits in MDA vision: allows definition of multiple layered refinements Specifically suited for Ambient Intelligence: context description Alternative refinements can be automatically chosen and applied Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions

MDAFA 2004 Presentation34Dennis Wagelaar Future Work Refinement mechanism must be specified in more detail –Experiences with CoCompose tool show possible scalability problems: these must be addressed Tool support has to be extended –Necessary features are (1) automated refinement, (2) UML import/export, (3) code generation, etc. Refinement problems Context-Aware Modelling Context-Driven Refinement Conclusions

MDAFA 2004 Presentation35Dennis Wagelaar Questions?