80 likes | 231 Views
Model Driven Integrated Development Environment. Barak Agiv Itamar Ben-Zaken Vladislav Smolensky. Academic Advisor: Yuval Elovici Professional Advisor: Mira Balaban. Today there are no tools that help in writing correct models Most of them are visualization tools (e.g. Visual Paradigm)
E N D
Model Driven Integrated Development Environment Barak Agiv Itamar Ben-Zaken Vladislav Smolensky Academic Advisor: Yuval Elovici Professional Advisor: Mira Balaban
Today there are no tools that help in writing correct models • Most of them are visualization tools (e.g. Visual Paradigm) • They do not try to analyze the model semantically • One can create an inconsistent/redundant/infinite models using them The Problems
The Problems (Cont.) • The same problem existed in the code world - one can: • use an uninitialized variable • leave a variable/method unused • render code unreachable • Most of today’s IDEs support detection of these problems using static analysis tools
Static Modeling Tools: • Visual Paradigm • Eclipse (UML2 Tools) • USE (a tool that provides evaluation of object diagram given a class diagram and OCL) • Allows: • designing and visualizing a UML model • validating instances of the model using OCL • Generating code from UML (and vice versa) • but not analysis and reasoning about the model Existing Modeling Tools
Recognition of finite satisfiability problems in UML class diagram and detection of the constraints that cause them • • Suggesting implementation ways for a given Class Diagram • • Identifying inconsistency patterns - contradictory generalization set constraints. for instance: diamond class hierarchy Project Requirements
Project Requirements (Cont.) • Ability to add new model based algorithms easily, schedule them and support their different outputs (e.g. generated report, markers on model elements) • Identifying an opportunity to use a known Design Pattern • Suggesting known refactoring when appropriate • Transforming a Class Diagram into a State Machine when possible
Solution Abstract Framework Framework The Eclipse Modeling Framework (EMF) project is a modeling framework for building tools and other applications based on a structured data model.
Solution Abstract (Cont.) • We will develop an Eclipse plug-in which: • provides a framework for running model tools • provides a set of: static analysis tools, refactoring tools, validation and reasoning algorithms • integrates the tools with the IDE