2. Agenda
• About RM-ODP
• A frameworkforspecifying opendistributedsystems
• Features---viewpoint, object,role,community,policy…
• A familyofstandards(ISO/ITU-T)
• RelationshipwithEnterpriseArchitecture
• A DSL4ODP tool
• WhatandWhy
• Approach
• Capability
• Status
• RelationshipwithUML4ODPtool
• Summary
2
3. About RM-ODP
• Reference Model of Open Distributed Processing
• A family of Standards (ISOand ITU-T)
• Foundation–ISO/IEC10746-2/ITU-TRec.X.902
• Framework– ISO/IEC10746-3/ITU-TRec.X.903
• EnterpriseLanguage– ISO/IEC15414:2002/ITU-TRec.911
• UseofUML forODPsystemspecifications–ISO 19793/ITU-TRec.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-ODPcanbeusedfor:
• Specifying system architectures for open/interoperable distributed systems
• Characteristics
• Method independent
• Notation independent
• UML Profile was standardizedatlaterstage
• 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.900series)
4
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
• Invariantschema
• 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 concernedwith the structures and behaviors of a business, especially
business roles and processes that create anduse business data.
• It has been defined as "a well-defined practice for conducting enterprise analysis, design, planning, and
implementation, using a comprehensiveapproach 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 changesnecessarytoexecute theirstrategies.
• These practices utilize the various aspects of an enterprise to identify, motivate, and achievethese
changes."[1]”
10
11. Enterprise Architecture
• Enterprise Architecture (EA) and EA Framework examples
• Zachman Framework (commercial)
• 6 Perspectivesand5W1H
• Federal Enterprise Architecture (FEA)of the US government
• DoD Architecture Framework
• Unified Profile forDoDAF andMODAF (OMG specification)
• TheOpen GroupArchitecture Framework (TOGAF)
• ArchiMate(language forADM)
• Archi (graphicaltoolimplementing ArchiMate)
• Obeo’sSmartEAproduct(ArchiMatesupport)etc.
11
12. RM-ODP and TOGAF
12
RM-ODP ISO, ITU-T
A framework forspecifyingopen
distributedsystems
EnterpriseViewpoint,
InformationViewpoint,
ComputationalViewpoint,
EngineeringViewpoint,
TechnologyViewpoint
RM-ODP ViewpointLanguages
- Enterpriseviewpointlanguage,
- Informationviewpointlanguage,
- Computationalviewpointlanguage,
- Engineeringviewpointlanguage,
- Technologyviewpointlanguage
notation
independent
(exception:
UML4ODP)
methodindependentMagicDraw etc.
TOGAF TheOpen Group
A framework forEnterpriseArchitectureor
A standardapproachforassistingin the
acceptance,production,useand
maintenanceof EnterpriseArchitecture
BusinessArchitecture
DataArchitecture
ApplicationArchitecture
TechnologyArchitecture
ArchiMatelanguagecovering
- BusinessArchitecture
- DataArchitecture
- ApplicationArchitecture
- TechnologyArchitecture
ArchiMate's
GraphicalNotation
TOGAF/
ADM
(Architecture
Development
Method)
Archi,
SmartEA,
Modelio,
MagicDraw,
EnterpriseArchitect,
VisualParadigmfor
UML etc.
Standard Scope Viewpoint Language Notation Method Tools
Maintechnical differences: 1) scope, 2) choice ofviewpoint andits languages, and3) 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 UMLTools 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 havea variety of methods/notations to write ODP specifications.
• However, communication may becomean issue.
• A UML Profile standard was introduced.
14
15. Use of UML for ODP system specifications (UML4ODP)
• UMLbased notation for the expression of ODP specifications for easier communications between ODP
stakeholders
• UML wasalreadyan internationalstandard. It wasnaturaltomakeuseof UML Profile mechanism forRM-ODP.
• It provides:
• The expressionofasystem specificationin termsofRM-ODPviewpoint specificationsusing definedUML concepts and
extensions
• Aset ofUML2.0 profiles (one for each viewpoint)
• Away of using these profiles (structuring rules)
• relationshipsbetween the resultantRM-ODPviewpoint specifications;
• Away of modelling ODP correspondences
• Aprofile forcorrespondences
• A wayformodelling conformanceofimplementationstospecifications;
• Aprofile forconformance (reference points, conformance statements, etc.)
15
16. Use of UML for ODP system specifications (UML4ODP)
• Howit was developed
I. Createmeta-modelor conceptualmodel ofRM-ODP
II. Define UML Profile,basedon themeta-model
Issue: Thecreated UMLProfile was semantically richerthan the original meta-model.
• UML4ODP allows
• UML userstocreate RM-ODPbasedspecification,and
• RM-ODPuserstouseUML (tools)to createRM-ODPbasedspecificationwithUML.
• TheUML Profile was implemented against several UMLtools. Forinstance, an implementation for
MagicDraw was the tool used in writing ourODP book.
16
26. DSL4ODP tool: Approach
• [Temporarily] Defined a ODP instance model structure to allow navigations within the model.
• Newdiagram creation
• Originallyusedcontextmenu of model elements in model explorer
• Switchedtodouble-clickablediagramelements ,in caseit waspossible
• Typical Tycho/Maven build
26
27. DSL4ODP: Status
• DSL4ODP is a work-in-progress project.
• Thefollowing parts of UML4ODP werecovered as Sirius-based DSL modeleras of today.
• EnterpriseViewpoint
• InformationViewpoint
• CorrespondencebetweenEnterpriseandInformation
• Openfor review(the latest version)
• https://www.dropbox.com/sh/pymiyxn07rcau77/AADCxITJRJQ7ym-Iqp-8NcWia?dl=0
• Currentlyversion 0.2 rev1
• Newrelease(s) will bepostedonaboveURL
27
28. About DSL4ODP tool
• Contents of open for review’s ULR
• Documents folder
• docsEcontaining”AboutDSL4ODPtool.docx”and“Using DSL4ODPtool.docx”
• docsJ
• video containing“Installation.mp4”and“SampleProject.mp4”
• ReleaseNote folder
• README(E).txtandREADME(J).txt
• SampleProject folder
• SampleProject.zip
• WorkingProduct folder
• DSL4ODPDesignerforLinux,Mac,andWindowsarchivefile
• README.txt
28
30. DSL4ODP andUML4ODP
30
Functionality Availability Extendibility Dependencies Openness
DSL4ODP [work-in-progress]
Enterprise Viewpoint
Information Viewpoint
E-ICorrespondence
Stand-alone app and
freely downloadable
Various possibilities (e.g. Model
transformation, Codegeneration,
Textual model, on the web etc.)
Eclipse Sirius andEMF
(Acceleo, Xtext etc.)
Will be open
sourced in future
UML4ODP
- MagicDraw+ODPplugin
Full
Needs MagicDraw
license
ODP Plugin
UMLspec andthe tool's
implementation including
APIs
?
31. DSL4ODP: Future Plan
• Future work candidates
• Adding remaining viewpoints (next: Computational viewpoint)
• Adding codegenerations (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 otherDSLs (e.g.BMM, BPMN, … )
31
32. Summary
• Do not forget it’s an on-going/work-in-progress project.
• Covered first twoviewpoints so far.
• Thetool allowscreatingmost UML4ODP diagrams of Enterprise andInformation Viewpoints in DSL4ODP style.
• Therearevarious possibilities to extend.
• Confirmed that Eclipse Sirius is a very suitable tool for DSL4ODP project:
• Withanecore, you candefine a configurationfile to generateyour model editor.
• From my experience in doing this project:
• If you startwithmeta-model of anyUMLProfile, you might need toaddPackage, Association,common structuresto meta-model,
andrelax Multiplicities.
• Execute theloop untilyou aredone: [Update the ecore model, re-generatecode,] edit the configurationfile, andtest themodeler.
• Sirius documentationand validationfunctionon the configurationfile, aswellas searchingSirius forum and github.com, wasvery
helpful.
32
33. Check against“Requirements for ODP
EnterpriseArchitecture Tools”
33
# Functional requirements Check
1 Model editors areneeded foreach ODPviewpoint
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 formodeling defects (structural defects, undefined behaviour, ODP-specific inconsistences, etc.) Future
work
6 Change andevolution management -
7 Take advantage of MDDtechniques: model transformations Future
work
8 Handling model repositories -
34. Check against“Requirements for ODP
EnterpriseArchitecture Tools”
34
# Functional requirements Check
9 Take advantange ofMDDtechniques: model transformations
- Generation ofpartial implementations tocommon platforms using the different viewpoint specifications (IV, CV…)
- Translation between different notations
- Codegeneration
Future
work
10 Automatic addition of transparencies tothe ODP specification -
11 Provision of a librarywith the most common ODP functions -
12 Possibility of adding new features andfunctionalities according tofurther ODP standards -
13 Consideration ofsoftware metrics -
14 Inference ofuseful information (models, design elements orrelationships, assets, metainformation, etc.) fromthe repository -
15 Ensuring the correctness oftransactions andthe provision of the proper communication andcoordination mechanisms -
16 RM-ODP is methodology independent BUT … -
Editor's Notes
Say whom this applies to
Computational – software engineers
Engineering - deployment architecture – technical architect, operations manager, DBA (what tables are created where)
Capsule – application server (you deploy war files to application server)
Cluster – war file
Interceptor - Proxy – load balancing, security and session management (often Apache is used as a proxy)
Technology Viewpoint – testers, integration architect