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
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. 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. 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
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. 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. Viewpoints
• Standard viewpoints and correspondences
• Enterprise viewpoint
• Information viewpoint
• Computational viewpoint
• Engineering viewpoint
• Technology viewpoint
• Correspondence between viewpoints
8
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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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 … -