Download presentation
Presentation is loading. Please wait.
1
Barak Agiv Itamar Ben-Zaken Barak Nahum Vladislav Smolensky Academic Advisor: Yuval Elovici Professional Advisor: Mira Balaban
2
To construct an Integrated Development Environment (IDE) for working with models Providing feedback on the design Providing modeling tools for the design process
3
Modeling is an essential step in the design process of many systems A common model is a structural model – depicts the structure of a system, rather than the behavior A common notation is the Class Diagram in the Unified Modeling Language (UML)
4
Class Diagrams allow significant expressive power, but also allow the creation of redundant, inconsistent and incorrect models Designers are human – they make mistakes (e.g. lack of experience, complex models, merging several models) Most UML Editors offer visualization of the model, and syntactic restrictions – but not semantic restrictions
5
Deployed as an Eclipse plug-in Feedback given in Problems View, graphical editor, dialogs
6
UML2Tools – graphical editors for UML diagrams UML2 – an EMF- implementation of the UML meta- model EMF (Eclipse Modeling Framework) – a meta-modeling framework Tools UML 2 Tools UML 2 (meta-model)EMF Framework
7
Rename Class After picking a new class in a wizard, a suggestion for renaming related: associations, fields and parameters is given Extract Interface Extract features from a class into a new interface, and update references to use the new interface In-line ClassMerge one class into the other Pull Up Field/Method Move a common field/method from several subclasses to their super-class.
8
A class diagram before refactoring:
9
In order to perform the Extract Interface refactoring we will need to: Create the interface Create the generalization between the class and the interface Move the operations of the class to the interface Update association ends that pointed to the class to now point to the interface
10
Defining Design- pattern templates Defining new templates and adding them to the tool-box Pasting Design- pattern templates into the model Picking a template from the tool-box and adding it to the model
12
Define Patterns Ability to add new pattern and registering it in the system Verifying a Model Against Registered Patterns Matching registered patterns against a model and warning when a match is found. For example: Contradictory generalization-set constraints Finite Satisfiability Pattern Patterns of Redundant and Incomplete Design Generalization – Sets Implementation Proposals We suggest to find the best alternative implementation for a generalization-set by the compiler constraints according to a heuristic search
14
Hierarchy Cycle Diamond Pattern
15
Redundancy
16
Verifying a model against an inconsistency pattern should take TBD seconds The system will be able to handle a model with up to 2500 elements Defining and registering a new template will be done visually The system should be responsive at any time Background processes can be aborted at any time
18
Primary actors: Simple Modeler Description: The modeler validates the model and looks for an inconsistency pattern. He can also choose to look for many/all the existing inconsistency patterns. Trigger: The modeler wants to check the consistency of the model Pre-conditions: none Post-conditions: All the found patterns are shown to the modeler Flow of events: 1. The modeler chooses the patterns he want to look for 2. The modeler starts the search 3. The system directs the modeler to the matched patterns Alternative flows: None Covered Requirements: Verifying a model against registered inconsistency-patterns
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.