http://www.moskitt.org Automating the Development of Information Systems with the MOSKitt Open Source Tool Vicente Pelechano Universidad Politécnica de Valencia viernes 18 de mayo de 12
Content • PART I: About the Project and the Tool • PART II: Advanced Features • PART III: Industry, Research and Lessons viernes 18 de mayo de 12
Content • Project Overview • What is MOSKitt? PART I: • Technologies About the • Tools Project and the • Infrastructure Tool viernes 18 de mayo de 12
Project Overview • The history begins with gvPontis • Conselleria d’Infraestructures, Territori i Medi Ambient (CITMA) (Infrastructures, Territory and Environment Regional Ministry) • Comunidad Valenciana Government (Generalitat) viernes 18 de mayo de 12
Project Overview • gvMétrica : Software Development Method • How to apply gvMétrica? • Document Templates • Tools? viernes 18 de mayo de 12
Project Overview • Free CASE tools survey: • April 2006 • No tools satisfying most of the organization requirements were found • Decision : Develop “New” free CASE tool • UPV-PROS proposes Eclipse as technological platform • gvCASE Project : Starts April 2007 • Renamed as MOSKitt in 2008 viernes 18 de mayo de 12
Project Overview Project ¡Participants Leading Technical Knowledge Requirements Development Dissemination Fundings viernes 18 de mayo de 12
What is MOSKitt? • A free CASE tool built on Eclipse (EPL license) • It provides the necessary tools for CITMA supporting gvMétrica and much more... • Supports UML modeling language and more... viernes 18 de mayo de 12
What is MOSKitt? it is MORE than a CASE Tool... • MOSKitt has been conceived as a “ Particular ” CASE tool • MOSKitt is a general Framework for the definition and implementation of SW production methods based on MDE principles • MOSKitt can be easily adapted and extended viernes 18 de mayo de 12
Technologies Eclipse Modeling Project EMF GMF UML2 Tools GEF EMF Compare Eclipse Process EMF Search Framework (EPF) viernes 18 de mayo de 12
Technologies ATL Data Tools Platform AMW BPMN STP XPand2 Xtend JUnit EVL viernes 18 de mayo de 12
Technologies Content Management System Control Version System Project Management Web App viernes 18 de mayo de 12
Distribution • Currently, MOSKitt is based on Eclipse Galileo • Now, we are Migrating to Eclipse INDIGO RC2 (3.7.2) • MOSKitt is distributed as a standalone RCP • Modules can be downloaded and installed to build a concrete version of MOSKitt adapted to user needs viernes 18 de mayo de 12
General View Method Support: gvMÉTRICA X METHOD Z METHOD ... Method Designer TOOLS UML Editor User Interface Modeling BPMN Editor RDB Designer Sketcher INFRASTRUCTURE Graphical Editors Traceability Artifacts Library Model Synchronization Transformation Management Model Explorer and Configuration Forms Modeling Framework viernes 18 de mayo de 12
Tools Method Support: gvMÉTRICA X METHOD Z METHOD ... Method Designer TOOLS UML Editor User Interface Modeling BPMN Editor RDB Designer Sketcher INFRASTRUCTURE Graphical Editors Traceability Artifacts Library Model Synchronization Transformation Management Model Explorer and Configuration Forms Modeling Framework viernes 18 de mayo de 12
BPMN Modeler • BPMN Modeling • Support Administrative Procedures • Lanes, Tasks, SubProcess and Control Flow • Document Modeling • Groups and Families of Documents • Templates viernes 18 de mayo de 12
UML2 Modeler • UML2 Modeling • Class • Sequence • State Transition • Activity • Use Cases • Support the Definition and Application of UML Profiles viernes 18 de mayo de 12
RDB Designer • RDB Modeling • Tables • Keys • Views • Users • Roles • Groups • DDL Generation • MySQL • PostgreSQL • Oracle • Reverse Engineering viernes 18 de mayo de 12
User Interface Modeling • User Interface Modeling • User/Roles • System Views • Interaction Units • Navigations • Presentation Options • Interface Behavior • Interface Patterns viernes 18 de mayo de 12
Sketcher • Sketcher • Window • Label • Button • Textbox • Checkbox • Table • Tab Panel • Bar Menu • Pagination viernes 18 de mayo de 12
Infrastructure Method Support: gvMÉTRICA X METHOD Z METHOD ... Method Designer TOOLS UML Editor User Interface Modeling BPMN Editor RDB Designer Sketcher INFRASTRUCTURE Graphical Editors Traceability Artifacts Library Model Synchronization Transformation Management Model Explorer and Configuration Forms Modeling Framework viernes 18 de mayo de 12
The MOSKitt Perspective A Predefined Set of Views Resource Explorer Model/Diagram Editor Palette Model Explorer Properties Tab viernes 18 de mayo de 12
Forms Modeling Framework (FMF) • Facilitates the development of Forms Editors to manipulate Ecore models • Links Widgets and Model Elements through Databinding viernes 18 de mayo de 12
Transformation Manager Executing Transformations Registering Transformations Input Parameters Visualization Results, Validation and Execution Organization Infrastructure (Extensions) Prioritization MOSKitt Transformations viernes 18 de mayo de 12
Transformation Manager 2. Configuration 1. Transformation Parameters 4. Results 3. Validation 2. Configuration 2. Configuration 2. Configuration viernes 18 de mayo de 12
Transformation Configuration We can apply different design/implementation decisions (configuration rules) to the same Input Model. AllTables OnlyChildTables Generalization OnlyParentTable viernes 18 de mayo de 12
Transformation Configuration FMF Forms for Rule Selection viernes 18 de mayo de 12
ModelSync and Traceability MOSKitt provides a complete framework for supporting Model Traceability and Synchronization MOSKitt provides M2M transformations to automate and simplify modeling tasks viernes 18 de mayo de 12
Artifacts Library • A repository to store pieces of diagrams to be reused viernes 18 de mayo de 12
Content • Process Support and Method Engineering PART II: • Dealing with User Interfaces Advanced • Model Transformations and Code Features Generation viernes 18 de mayo de 12
Process Support and Method Engineering http://www.moskitt.org Dashboard and Moskitt4ME viernes 18 de mayo de 12
Dashboard • Simple DSL for Specifying Development Processes • Method Modeler • Method Interpreter • Integrated Workbench • Reuse GMF Dashboard Infrastructure viernes 18 de mayo de 12
Dashboard DSL Primitives: • Tasks • Task Dependencies • I/O Resources, References to Resources • Actions: open Editor, execute Transformation..... • Help Guides: invoke Cheatsheets, invoke Help, open an URL... viernes 18 de mayo de 12
Dashboard Snapshot of the Project State • Analysis task is Finished and its Resources are Completed (“Finished”) • The Dependency between Analysis and Design tasks is Resolved • Doing/Executing the Design Task (“ToDo”) viernes 18 de mayo de 12
Dashboard Dashboard Interpreter Open Editors Link and Edit Open Cheet Sheets Resources viernes 18 de mayo de 12
MOSKitt4ME • A Methodological Framework to support the specification of methods and the generation of CASE tools following MDE and ME principles. Model'Driven'Engineering' Method'Model' ! 4ME CASE'Environment' ! ! ! Process'Part' Product'Part' ! ! ! Method! Process ! ! ! ! Support! ! Retrieve' Store' ! ! ! ! ! ! M2T' Method! Product ! ! ! ! Transforma2on' Support! ! ! ! Method!Base! Method'Design' Method'Implementa2on' viernes 18 de mayo de 12
MOSKitt4ME Method Design Method model SPEM 2.0 standard. Reuse of method fragments. 4ME EPF$Composer$ Repository$client$ viernes 18 de mayo de 12
MOSKitt4ME Method Configuration Reusable assets (RAS standard). • Repository includes: editors, model transformations, etc. • Must be associated with method elements to indicate how these elements will be managed in the generated CASE environment. 4ME Repository*client* viernes 18 de mayo de 12
MOSKitt4ME Method Implementation Method process supported by a process engine Method product supported by reusable assets ! Configured'Method'Model' Method'Model' So7ware'Pla:orm' ! ! ! ! ! ! Method! Process !Support! ! ! ! ! ! ! !!!!!! Process!Engine! ! ! ! ! ! ! references' references' ! references' ! ! Method! Product !Support! ! ! ! ! ! ! ! ! ! ! ! Method'Base' Asset'Base' ! Method'Design' Method'Configura4on' Method'Implementa4on' Method'''''''''''''''''''''Engineer' Model'''''''''''''''''Transforma4on' viernes 18 de mayo de 12
MOSKitt4ME viernes 18 de mayo de 12
MOSKitt4ME viernes 18 de mayo de 12
MOSKitt4ME Process View • Tasks can be filtered by: • Roles • State (All, Pending) • Use Colors to distinguish Task State: Optional Executable Not Executable Done viernes 18 de mayo de 12
Dealing with UIs http://www.moskitt.org User Interface Model ( UIM ) and Sketcher viernes 18 de mayo de 12
Recommend
More recommend