1 / 36

Extensibility and Modularity for Model Driven Engineering Environments.

Extensibility and Modularity for Model Driven Engineering Environments. Thomas Leveque , Jacky Estublier, German Vega. ADELE. Grenoble University France. Outline. Model Driven Engineering Environments CADSE Architecture CADSE Model CADSE Extensions Experiences & Conclusion. Developer.

heller
Download Presentation

Extensibility and Modularity for Model Driven Engineering Environments.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extensibility and Modularity forModel Driven Engineering Environments. Thomas Leveque, Jacky Estublier, German Vega ADELE Grenoble University France

  2. Outline • Model Driven Engineering Environments • CADSE Architecture • CADSE Model • CADSE Extensions • Experiences & Conclusion

  3. Developer Workspace Uses manages Workspace commit SharedRepository @Override publicvoid create() { super.create(); … } import

  4. IDE Evolution Device model Web Service model Application Type DSDP(DeviceSoftDevPlatform) WTP(WebToolsPlatform) Application Type JDT(JavaDevTooling) Language TPTP(TestPerformancePlatform) Activity CDT(CDevTooling) Language Test model Java model C model Files and directories Extends

  5. Environment Trends • Domain specific Environments • Language • Application type • Activity • Business • Model Driven Environments • Java model • Web App model • Test model

  6. Domain • Business • Technical • Activity • Mixed • A Domain is an area in which a number of stakeholders is repeatedly performing similar activities.

  7. Developer Model Driven Engineering Environments

  8. Developer Extend Workspace with models Uses manages Workspace <xmi:A> <xmi:B name=“B”> </xmi> </xmi> <xmi:C> </xmi> commit SharedRepository import @Override publicvoid create() { super.create(); … }

  9. Model Driven Engineering Environments • Manage abstractions of the software. • In form of a model • Derive a part or full software code from these models. • Modifications made on code and model may be reconciled (in the workspace). • Allow different actors to work with the “same” models in different workspaces. • Allow reusing part of model to construct new applications. • Main goal • Most of work is done on models to simplify software development

  10. Outline • Model Driven Engineering Environments • CADSE Approach • CADSE Model • CADSE Extensions • Experiences & Conclusion

  11. Service Application Example

  12. CADSE • Computer Aided Domain Specific Environment • Model Driven Engineering Environment • Domain specific • Allow manipulating an application model • Conform to a domain model • Extend generic environments • IDE • SCM • Model and code are always synchronized

  13. ApplicationModel Developer Application artefacts CADSE: Model Driven Development Requirement CADSE CADSE Eclipse plugins @Override publicvoid create() throws MelusineException { super.create(); String packageName = getPackageNameAttribute(getItem()); String className = getClassNameAttribute(getItem()); // Create servlet Java file String servletContent = new ServletGenerator(). generate(packageName, className); } Solution

  14. Developer Extend SCM with models Service DevCADSE Uses manages commit Workspace ModelRepository (MySQL DB) import @Override publicvoid create() { super.create(); … } @Override publicvoid create() { super.create(); … } SubVersionRepository

  15. Developer2 Extend SCM with models Service DevCADSE Uses manages commit Workspace ModelRepository (MySQL DB) import SubVersionRepository @Override publicvoid create() { super.create(); … } @Override publicvoid create() { super.create(); … }

  16. Generative approach

  17. Outline • Model Driven Engineering Environments • CADSE Approach • CADSE Model • CADSE Extensions • Experiences & Conclusion

  18. CADSE Model defines Domain Model Editors Synchronization Evolution CADSE Model

  19. CADSE Model : Domain Model • Concepts • Attributes • Relationships • Aggregation • Part • Composition • Require

  20. CADSE Model : Model Editors • Creation wizard • List of pages • Modification pages • Actions • View • Filter model elements and actions • Define structure

  21. CADSE Model : Synchronization • Artefact structure • Synchronization

  22. CADSE Model : Evolution • Attribute • Mutable • Immutable • Final • Transient • Link Destination • Mutable • Immutable • Final • Effective • Branch • Coupled

  23. Plan • Model Driven Engineering Environments • CADSE Approach • CADSE Model • CADSE Extensions • Experiences & Conclusion

  24. Service Application Example +version Development activity Design activity Testing activity Deployment activity

  25. InterDependencies extends Development Deployment extends Design extends Test Development activity Design activity Testing activity Deployment activity

  26. Extensibility for domain experts

  27. CADSE Extensibility • A CADSE can extend another CADSE • Domain model extension • Add attributes and relationships • Model Editor extension • Add new editor, actions… • Synchronization extension • Add synchronizer • Evolution management • Define evolution control politics for added attributes and relationships

  28. LifeCycle Development Design Deployment Test Development activity Design activity Testing activity Deployment activity

  29. Extensibility for users

  30. CADSE Execution

  31. Developer2 Model elements migration Service DevCADSE + Service DeployCADSE Uses manages commit Workspace ModelRepository (MySQL DB) import SubVersionRepository @Override publicvoid create() { super.create(); … } @Override publicvoid create() { super.create(); … }

  32. Outline • Model Driven Engineering Environments • CADSE Approach • CADSE Model • CADSE Extensions • Experiences & Conclusion

  33. Experiences • First CADSE in 2001, CADSEg in 2006 • Many CADSEs • Melusine, APEL, OSGi, iPojo, Think, SAM • DOCOSOC, FOCAS and CADSEg • Reduce development effort • 80 % code is generated • Need improvement • Tree structure editors => Graph editors • CADSE extensibility => most appreciated feature

  34. Conclusion • CADSEs meet all Environment requirements • Produced in a reasonable cost • Reuse of domains (CADSE) • Feasibility, usability, efficiency have been validated • Open Source project

  35. References • CADSE web site • http://cadse.imag.fr • ADELE team web site • http://www-adele.imag.fr • ECBS/MBD paper • Extensibility and Modularity forModel Driven Engineering Environments

  36. ThanksQ & A

More Related