Download presentation
Presentation is loading. Please wait.
Published byNathaniel Taylor Modified over 9 years ago
1
© 2004 Teknowledge Corporation State Consistency Strategies for COTS Integration Sven Johann Teknowledge Corp. / University of Applied Sciences Mannheim Alexander Egyed Teknowledge Corp.
2
© 2004 Teknowledge Corporation Outline Motivation for State Consistency Realization of State Consistency State Consistency between Semantically Different Domains
3
© 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!
4
© 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)
5
© 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
6
© 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!
7
© 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
8
© 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
9
© 2004 Teknowledge Corporation Demo
10
© 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)
11
© 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
12
© 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
13
© 2004 Teknowledge Corporation Thank You! Design critique Design navigation Design feedback Design sharing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.