Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Próximo SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Cargando en…3
×
1 de 34

Developing Modeling Tool for RM-ODP with Eclipse Sirius

0

Compartir

Descargar para leer sin conexión

Defining architecture of your system, existing or to be built, is an important practice to communicate, maintain and extend the system in future. The Reference Model of Open Distributed Processing (RM-ODP) is a set of international standards that can be used for this purpose.

Existing tools to specify RM-ODP based system architectures include UML tools with ODP plugin, since one of the standards defines UML Profile for it. The presenter received an email regarding a more accessible and standalone ODP tool, which eventually initiated this project. It is a work in progress, Eclipse/Sirius-based tool. An overview of the tool and an experience of the development done so far will be presented.

Akira Tanaka, view5 LLC

Audiolibros relacionados

Gratis con una prueba de 30 días de Scribd

Ver todo

Developing Modeling Tool for RM-ODP with Eclipse Sirius

  1. 1. Developing Modeling Tool for RM-ODP with Eclipse Sirius view5 LLC Akira Tanaka SiriusCon 2021
  2. 2. Agenda • About RM-ODP • A framework for specifying open distributed systems • Features --- viewpoint, object, role, community, policy … • A family of standards (ISO/ITU-T) • Relationship with Enterprise Architecture • A DSL4ODP tool • What and Why • Approach • Capability • Status • Relationship with UML4ODP tool • Summary 2
  3. 3. About RM-ODP • Reference Model of Open Distributed Processing • A family of Standards (ISO and ITU-T) • Foundation – ISO/IEC 10746-2/ITU-T Rec. X.902 • Framework – ISO/IEC 10746-3/ITU-T Rec. X.903 • Enterprise Language – ISO/IEC 15414:2002/ITU-T Rec.911 • Use of UML for ODP system specifications – ISO 19793/ITU-T Rec. X.906 … • What is RM-ODP? • A standard framework for specifying open distributed systems • X.902: Basic concepts (e.g. Object, Abstraction, Action, Role, … ) • X.903: Framework with Viewpoints (Viewpoint, Viewpoint Specification, Viewpoint language) 3
  4. 4. About RM-ODP • RM-ODP can be used for: • Specifying system architectures for open/interoperable distributed systems • Characteristics • Method independent • Notation independent • UML Profile was standardized at later stage • Resources • RM-ODP site: http://www.rm-odp.net • RM-ODP Book: Building Enterprise Systems with ODP • Standards: http://www.itu.int/itu-t/recommendations/index.aspx?ser=X (X.900 series) 4
  5. 5. 5
  6. 6. Modeling Concepts: Categories & examples 6 Basic Interpretation Concepts Foundational Concepts Basic Linguistic Concepts Basic Modeling Concepts Specification Concepts Structuring Concepts Conformance Concepts Organizational Concepts Properties of systems and objects Naming Concepts Concepts for Behaviour Management Concepts entity, abstraction, system, architecture … action, object, environment, interface, location … composition/decomposition, type , template, role … configuration , domain… tern, sentence, model, specification … transparency, policy … name, identifier … chain of actions, thread, … application management, … programmatic/perceptual/interworking reference point …
  7. 7. Viewpoints • Different abstractions of the same system • reflect different concerns • expressed in terms of specific viewpoint concepts • Mechanism for dealing with the complexity of distributed systems 7
  8. 8. Viewpoints • Standard viewpoints and correspondences • Enterprise viewpoint • Information viewpoint • Computational viewpoint • Engineering viewpoint • Technology viewpoint • Correspondence between viewpoints 8
  9. 9. 9 Enterprise Technology Information Computational Engineering System • Enterprise object • Community, Role • Policy, accountability … • Business process • Business interactions • Information object • Static schema • Invariant schema • Dynamic schema • Technology object • Implementation • Conformance points • Computational object • Computational bindings • Computational interfaces • Operations, Streams, Signals • Engineering object • Node, capsule, cluster • Channels including interceptor
  10. 10. Enterprise Architecture • Enterprise Architecture Definition (Wikipedia) • “Enterprise architecture (EA) is concerned with the structures and behaviors of a business, especially business roles and processes that create and use business data. • It has been defined as "a well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a comprehensive approach at all times, for the successful development and execution of strategy. • Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. • These practices utilize the various aspects of an enterprise to identify, motivate, and achieve these changes."[1]” 10
  11. 11. Enterprise Architecture • Enterprise Architecture (EA) and EA Framework examples • Zachman Framework (commercial) • 6 Perspectives and 5W1H • Federal Enterprise Architecture (FEA) of the US government • DoD Architecture Framework • Unified Profile for DoDAF and MODAF (OMG specification) • The Open Group Architecture Framework (TOGAF) • ArchiMate (language for ADM) • Archi (graphical tool implementing ArchiMate) • Obeo’s SmartEA product (ArchiMate support) etc. 11
  12. 12. RM-ODP and TOGAF 12 RM-ODP ISO, ITU-T A framework for specifying open distributed systems Enterprise Viewpoint, Information Viewpoint, Computational Viewpoint, Engineering Viewpoint, Technology Viewpoint RM-ODP Viewpoint Languages - Enterprise viewpoint language, - Information viewpoint language, - Computational viewpoint language, - Engineering viewpoint language, - Technology viewpoint language notation independent (exception: UML4ODP) method independent MagicDraw etc. TOGAF The Open Group A framework for Enterprise Architecture or A standard approach for assisting in the acceptance, production, use and maintenance of Enterprise Architecture Business Architecture Data Architecture Application Architecture Technology Architecture ArchiMate language covering - Business Architecture - Data Architecture - Application Architecture - Technology Architecture ArchiMate's Graphical Notation TOGAF/ ADM (Architecture Development Method) Archi, SmartEA, Modelio, MagicDraw, Enterprise Architect, Visual Paradigm for UML etc. Standard Scope Viewpoint Language Notation Method Tools Main technical differences: 1) scope, 2) choice of viewpoint and its languages, and 3) methodology
  13. 13. Enterprise Architecture tools • Various tools – search “enterprise architecture tools” on the web • Examples • Whiteboard/Notebook/Spread sheet/Drawing tools, for capturing and organizing enterprise architecture elements • Archi is a tool from TOG, implementing ArchiMate models of TOGAF • Obeo’s SmartEA: https://www.obeosmartea.com/ • Various UML Tools in the market provide TOGAF (plugin) and/or OMG’s “Unified Profile for DoDAF/MODAF” implementation 13
  14. 14. Toward UML Profile • RM-ODP is notation independent. • ODP specifications are mostly in text form possibly with supporting materials (e.g. documents, diagrams, tables, spreadsheets, … ) • You have a variety of methods/notations to write ODP specifications. • However, communication may become an issue. • A UML Profile standard was introduced. 14
  15. 15. Use of UML for ODP system specifications (UML4ODP) • UML based notation for the expression of ODP specifications for easier communications between ODP stakeholders • UML was already an international standard. It was natural to make use of UML Profile mechanism for RM-ODP. • It provides: • The expression of a system specification in terms of RM-ODP viewpoint specifications using defined UML concepts and extensions • A set of UML 2.0 profiles (one for each viewpoint) • A way of using these profiles (structuring rules) • relationships between the resultant RM-ODP viewpoint specifications; • A way of modelling ODP correspondences • A profile for correspondences • A way for modelling conformance of implementations to specifications; • A profile for conformance (reference points, conformance statements, etc.) 15
  16. 16. Use of UML for ODP system specifications (UML4ODP) • How it was developed I. Create meta-model or conceptual model of RM-ODP II. Define UML Profile, based on the meta-model l Issue: The created UML Profile was semantically richer than the original meta-model. • UML4ODP allows • UML users to create RM-ODP based specification, and • RM-ODP users to use UML (tools) to create RM-ODP based specification with UML. • The UML Profile was implemented against several UML tools. For instance, an implementation for MagicDraw was the tool used in writing our ODP book. 16
  17. 17. UML Profile • Mechanism to extend standard UML • Stereotype • Tag value • Constraint 17
  18. 18. UML4ODP diagram example (top-level) 18
  19. 19. UML4ODP diagram example -- Role, Object, Process, Policy -- 19
  20. 20. UML4ODP diagram example -- Invariant/Static Schema -- 20
  21. 21. UML4ODP diagram example -- Computational, Engineering, Technology -- 21
  22. 22. Development of DSL4ODP tool 22
  23. 23. DSL4ODP tool: what and why • Alternative to UML tool with ODP plugin • Sirius-based graphical DSL tool to edit ODP models • Should be capable of editing similar diagrams in UML4ODP standard • Why do we want “alternative”? • MagicDraw (UML tool) product with ODP plugin was (still is, if you have a license) the best choice to edit ODP models. • The tool vendor was acquired and the licensing fee for MagicDraw product went up significantly. • There are people who need an affordable ODP tool to do their standardization work on a voluntary basis. • The need for alternative ODP tool emerged. • Options: 1) Another UML4ODP implementation for open UML modeler like Papyrus, or 2) Sirius-based DSL modeler <consideration : dependencies and extendability> 23
  24. 24. DSL4ODP tool: Approach • Idea • Sirius-based DSL tool can be created, if we have RM-ODP ecore model. • Fact • UML4ODP standard contains a set of meta-models or conceptual-models to specify UML Profile. • First step • Based on the meta-models, an ecore file was created with Ecore Diagram Editor. • Issues: • The number of Stereotypes were larger than the number of meta-model elements in UML4ODP. I.e. above ecore file need to be extended. • Equivalents of several basic UML elements and structures, such as UML Package, State machine, and Process flow, were not found in RM-ODP. 24
  25. 25. DSL4ODP tool: Approach • For each model diagram in UML4ODP • Create a new diagram in the ecore file to include additional eClass(es) to represent all the necessary elements, if any. • Add additional reference(s) to eClasses needed to represent all the relationships in above diagram, if any. • Save the ecore file. • Edit configuration file (.odesign) to reflect above and edit additional tool (palette) elements. • Try create equivalent diagram (if a diagram could not be described, go back to the first step). 25
  26. 26. DSL4ODP tool: Approach • [Temporarily] Defined a ODP instance model structure to allow navigations within the model. • New diagram creation • Originally used context menu of model elements in model explorer • Switched to double-clickable diagram elements , in case it was possible • Typical Tycho/Maven build 26
  27. 27. DSL4ODP: Status • DSL4ODP is a work-in-progress project. • The following parts of UML4ODP were covered as Sirius-based DSL modeler as of today. • Enterprise Viewpoint • Information Viewpoint • Correspondence between Enterprise and Information • Open for review (the latest version) • https://www.dropbox.com/sh/pymiyxn07rcau77/AADCxITJRJQ7ym-Iqp- 8NcWia?dl=0 • Currently version 0.2 rev1 • New release(s) will be posted on above URL 27
  28. 28. About DSL4ODP tool • Contents of open for review’s ULR • Documents folder • docsE containing ”About DSL4ODP tool.docx” and “Using DSL4ODP tool.docx” • docsJ • video containing “Installation.mp4” and “SampleProject.mp4” • ReleaseNote folder • README(E).txt and README(J).txt • SampleProject folder • SampleProject.zip • WorkingProduct folder • DSL4ODPDesigner for Linux, Mac, and Windows archive file • README.txt 28
  29. 29. Demo 29
  30. 30. DSL4ODP and UML4ODP 30 Functionality Availability Extendibility Dependencies Openness DSL4ODP [work-in- progress] Enterprise Viewpoint Information Viewpoint E-I Correspondence Stand-alone app and freely downloadable Various possibilities (e.g. Model transformation, Code generation, Textual model, on the web etc.) Eclipse Sirius and EMF (Acceleo, Xtext etc.) Will be open sourced in future UML4ODP - MagicDraw + ODP plugin Full Needs MagicDraw license ODP Plugin UML spec and the tool's implementation including APIs ?
  31. 31. DSL4ODP: Future Plan • Future work candidates • Adding remaining viewpoints (next: Computational viewpoint) • Adding code generations (e.g. from invariant schema to java) • Adding model validations • Adding model transformations (e.g. Engineering to Technology) • Adding textual DSL support with Sirius-Xtext Integration • Integration with other DSLs (e.g. BMM, BPMN, … ) 31
  32. 32. Summary • Do not forget it’s an on-going/work-in-progress project. • Covered first two viewpoints so far. • The tool allows creating most UML4ODP diagrams of Enterprise and Information Viewpoints in DSL4ODP style. • There are various possibilities to extend. • Confirmed that Eclipse Sirius is a very suitable tool for DSL4ODP project: • With an ecore, you can define a configuration file to generate your model editor. • From my experience in doing this project: • If you start with meta-model of any UML Profile, you might need to add Package, Association, common structures to meta-model, and relax Multiplicities. • Execute the loop until you are done: [Update the ecore model, re-generate code,] edit the configuration file, and test the modeler. • Sirius documentation and validation function on the configuration file, as well as searching Sirius forum and github.com, was very helpful. 32
  33. 33. Check against “Requirements for ODP Enterprise Architecture Tools” 33 # Functional requirements Check 1 Model editors are needed for each ODP viewpoint Each editor should implement the corresponding viewpoint language providing a concrete syntax OK 2 Each viewpoint editor should enforce the structuring rules OK 3 Modeling the correspondences between viewpoints OK 4 Checking the consistency between different specifications Future work 5 Checking for modeling defects (structural defects, undefined behaviour, ODP-specific inconsistences, etc.) Future work 6 Change and evolution management - 7 Take advantage of MDD techniques: model transformations Future work 8 Handling model repositories -
  34. 34. Check against “Requirements for ODP Enterprise Architecture Tools” 34 # Functional requirements Check 9 Take advantange of MDD techniques: model transformations - Generation of partial implementations to common platforms using the different viewpoint specifications (IV, CV…) - Translation between different notations - Code generation Future work 10 Automatic addition of transparencies to the ODP specification - 11 Provision of a library with the most common ODP functions - 12 Possibility of adding new features and functionalities according to further ODP standards - 13 Consideration of software metrics - 14 Inference of useful information (models, design elements or relationships, assets, metainformation, etc.) from the repository - 15 Ensuring the correctness of transactions and the provision of the proper communication and coordination mechanisms - 16 RM-ODP is methodology independent BUT … -

×