integrated development environment for working with models ard
DESCRIPTION
Integrated Development Environment for Working with Models ARD. Barak Agiv Itamar Ben- Zaken Barak Nahum Vladislav Smolensky Academic Advisor: Yuval Elovici Professional Advisor: Mira Balaban. Vision. To construct an Integrated Development Environment (IDE) for working with models - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/1.jpg)
Integrated Development Environment for Working with Models
ARD
Barak AgivItamar Ben-Zaken
Barak NahumVladislav Smolensky
Academic Advisor: Yuval Elovici
Professional Advisor: Mira Balaban
![Page 2: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/2.jpg)
To construct an Integrated Development Environment (IDE) for working with models
Providing feedback on the design
Providing modeling tools for the design process
Vision
![Page 3: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/3.jpg)
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)
The Problem Domain
![Page 4: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/4.jpg)
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
The Problem Domain Cont.
![Page 5: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/5.jpg)
Deployed as an Eclipse plug-in Feedback given in Problems View, graphical
editor, dialogs
Software Context
![Page 6: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/6.jpg)
• UML2Tools – graphical editors for UML diagrams
• UML2 – an EMF-implementation of the UML meta-model
• EMF (Eclipse Modeling Framework) – a meta-modeling framework
Software Interfaces
ToolsUML 2 Tools
UML 2 (meta-model)
EMF
Framework Framework
![Page 7: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/7.jpg)
Functional Requirements – Class Diagram Refactoring
Rename ClassAfter 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 Class Merge one class into the other
Pull Up Field/Method Move a common field/method from several subclasses to their super-class.
![Page 8: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/8.jpg)
A class diagram before refactoring:
Extract Interface – An Example
![Page 9: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/9.jpg)
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
Extract Interface
![Page 10: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/10.jpg)
Functional Requirements – Templates Definition
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
![Page 11: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/11.jpg)
Templates – An Example
![Page 12: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/12.jpg)
Functional Requirements – Analyzing The Model
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
![Page 13: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/13.jpg)
Genset proposal – An Example
![Page 14: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/14.jpg)
Patterns Recognition - Examples
Hierarchy Cycle
Diamond Pattern
![Page 15: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/15.jpg)
Patterns Recognition - Examples Redundancy
![Page 16: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/16.jpg)
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
Non-Functional Requirements
![Page 17: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/17.jpg)
Use Case Diagram
![Page 18: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/18.jpg)
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 for2. The modeler starts the search3. The system directs the modeler to the matched
patterns Alternative flows: None Covered Requirements: Verifying a model against registered
inconsistency-patterns
Model Verification Against Registered Patterns
![Page 19: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/19.jpg)
Sequence Diagram
![Page 20: Integrated Development Environment for Working with Models ARD](https://reader034.vdocuments.net/reader034/viewer/2022051821/56816136550346895dd09321/html5/thumbnails/20.jpg)
Thank you!