© 2004 Teknowledge Corporation State Consistency Strategies for COTS Integration Sven Johann Teknowledge Corp. / University of Applied Sciences Mannheim.

Slides:



Advertisements
Similar presentations
Observer Method 1. References Gamma Erich, Helm Richard, “Design Patterns: Elements of Reusable Object- Oriented Software” 2.
Advertisements

© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Software Testing and Quality Assurance
Observer Pattern Fall 2005 OOPD John Anthony. What is a Pattern? “Each pattern describes a problem which occurs over and over again in our environment,
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Common Mechanisms in UML
Data Warehouse View Maintenance Presented By: Katrina Salamon For CS561.
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
National Survey and Cadastre – Denmark Conceptual Modeling of Geographic Databases - Emphasis on Relationships among Geographic Databases Anders Friis-Christensen.
Mapping Designs to Code Larman, Chapter 20 CSE432 Object Oriented Software Engineering.
SE-1010 Dr. Mark L. Hornick 1 Introduction to Object-Oriented Programming (OOP) Part 1.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Computer Science 101 Database Concepts. Database Collection of related data Models real world “universe” Reflects changes Specific purposes and audience.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
International Workshop on Incorporating COTS-Software into Software Systems: Tools and Techniques (IWICSS) Alexander Egyed (Teknowledge Corporation) Dewayne.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
1 Forward and Reverse Engineering. 2 The UML is not just an OO modeling language. It also permits forward engineering (FE) and reverse engineering (RE).
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User.
Lecture 6: Structural Modeling
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Design Model Lecture p6 T120B pavasario sem.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Observer design pattern A closer look at INotifyPropertyChanged, INotifyPropertyChanging and ObservableCollection Observer design pattern1.
Behavioural Design Patterns Quote du jour: ECE450S – Software Engineering II I have not failed. I've just found 10,000 ways that won't work. - Thomas Edison.
CS 151: Object-Oriented Design October 15 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
Manali Joshi1 The Observer Design Pattern Presented By: Manali Joshi.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
1 ER Modeling BUAD/American University Mapping ER modeling to Relationships.
Essentials of Modeling with IBM Rational Software Architect V7.5
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
Model View Controller (MVC) an architecture Rick Mercer with help from many of others 1.
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.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
MiniDraw Introducing a Framework... and a few patterns.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
Modeling with Rational Rose Huzefa Kagdi Software Development Laboratory Department of Computer Science Kent State University Kent Ohio, USA.
Design Pattern Support based on principles of model driven development Zihao Zhao.
The Observer Design Pattern Author :Erich Gamma, et al. Source :Elements of Reusable Object-Oriented Software Speaker : Chiao-Ping Chang Advisor : Ku-Yaw.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
MAIME: A Maintenance Manager for ETL Processes
Logical Database Design and the Rational Model
SOFTWARE DESIGN AND ARCHITECTURE
Observer Design Pattern
Active Directory and Group Policy
Chapter 2: GUI API Chapter 2.
Model-View-Controller Patterns and Frameworks
Towards Automatic Model Synchronization from Model Transformation
Patterns.
Introduction to UML.
Starting Design: Logical Architecture and UML Package Diagrams
4+1 View Model of Software Architecture
Metadata The metadata contains
PROJECT PROGRESS PRESENTATION
4+1 View Model of Software Architecture
Graphical Modeling of INFOD applications
Presentation transcript:

© 2004 Teknowledge Corporation State Consistency Strategies for COTS Integration Sven Johann Teknowledge Corp. / University of Applied Sciences Mannheim Alexander Egyed Teknowledge Corp.

© 2004 Teknowledge Corporation Outline Motivation for State Consistency Realization of State Consistency State Consistency between Semantically Different Domains

© 2004 Teknowledge Corporation Motivation (1) COTS software integrated into system:  passive COTS software (back-end)  active COTS software (front-end) E.g., UML Model Analysis Tool  Model Analysis Tool  UML Modeling Tool (Rose) New Requirement: Only changes in UML should be re-analyzed (incremental analysis instead of batch transformation and re- analysis of all)  UML Modeling Tool (Rose)  Model Analysis Tool BUT: Rose does not want to be a service requesting component!

© 2004 Teknowledge Corporation Motivation (2) UML Model Analysis Tool Model analysis tool gets notified about Rose model changes instantly  when it changed and  where it changed Solution?: Change Notification, e.g., MVC, Observer, Publisher/Subscriber Problem: COTS software typically does not support this solution (Rose does not) And we cannot do anything about that (no source code)

© 2004 Teknowledge Corporation Detect a Change (1) A change notification mechanism for COTS? Observations:  Changes seem to happen by mouse clicks and keyboard events only (when)  Changes seem to happen to selected elements only (where) We assume that selected elements have changed after every event  done?  Rose tells us about selected elements  Our Instrumentation technology tells about keyboard and mouse event  Double-clicking a class selects the class and opens its properties  not a change

© 2004 Teknowledge Corporation Detect a Change (2) Better Solution:  Cache the current state of element(s) when first selected  Compare cached state with latest state after keyboard and mouse events. How do we know about state?  Rose has a programmatic API to access all properties of UML model elements (state) => Difference between cached state and latest state is a change!

© 2004 Teknowledge Corporation Detect a Change (3) Exceptions for new and deleted elements:  How do we know about newly created elements?  indexing system that keeps track of things we have seen before  Deleted elements are in cache, but not in Rose  exception implies no longer available

© 2004 Teknowledge Corporation Detect a Change (4) Non-selected elements can be changed after all:  deletion of a class in Rose also deletes all its relationships, attributes and methods  Only class was selected (not relationships, attributes, etc.)  Requires knowledge of side effects of Rose actions that need to be handled explicitly And there are other anomalies that have to be handled individually => BUT WE CAN DO IT. IN FACT, WE HAVE DONE IT FOR RATIONAL ROSE AND OTHER COTS SOFTWARE

© 2004 Teknowledge Corporation Demo

© 2004 Teknowledge Corporation Imagine: ESCM Model Analysis Tool for Rose - ESCM is semantically very different from UML - The graphical notation of Rose is not UML any longer AttributeAbstract Component Variability TaggedValue Find a way to translate UML change notifications into ESCM change notification Batch transformation Non-trival mapping (one-to-many) (many-to-many)

© 2004 Teknowledge Corporation How to find the When and Where? Abstract Component Variability TaggedValue Attribute TaggedValue CompositeTag Abstract Component Attribute Variability TaggedValue 1)ESCM model always consistent with Rose 2)ESCM change notifications whenever there is inconsistency Trivial: re-transform all & compare

© 2004 Teknowledge Corporation How to find the When and Where? 1)ESCM model always consistent with Rose 2)ESCM change notifications whenever there is inconsistency Better: re-transform partially & compare & update Abstract Component Variability TaggedValue CompositeTag Abstract Component Attribute Variability TaggedValue

© 2004 Teknowledge Corporation Thank You! Design critique Design navigation Design feedback Design sharing