Title: Standards and Technologies for Data Exchange with UML models Andreas Graf
1Standards and Technologies for Data Exchangewith
UML modelsAndreas Graf
2Agenda
- A brief introduction to UML
- UML is not standalone-gtneed for 3rd party tools
- The UML model hierarchy
- Tailoring the UML with Profiles and mapping
meta-models - Loose Integration vs. Tight Integration
- Issues with handling versions and configurations
- Exchange mechanisms
- Summary
3A brief introduction to UML
- Unified modelling language
- Provide one single modelling language for various
domains - (more than) 8 diagram types can be used to
describe various aspects of the model - Built-in mechanisms to extend and adapt the
notation - OMG Standard
- UML 2.0 currently in the works
- UML is not a method or a process
4Aspects not covered
- Requirements Engineering, Source Code,
Documentation, Existing Models - Integration with 3rd party or in-house tools
(Requirements Engineering, IdE etc. ) - Sources of Existing Models Database Schema,
Source Code, Models in different representations. - Problem Map existing different meta-models on
UML.
5UML is not standalone
6UML Modelling Layer Architecture
m3 (MOF)
Definition of syntax for the meta-model layer
m2 (MetaModel)
Definition of syntax and semantic of UML and UML
extensions
Class Car private string type int
power public int Start () int Stop
()
m1 (Model)
Start () Stop ()
Car
Modeling layer (software, system models,
databases)
Start () int Stop () int
m0 (Data)
Instantiated model (data)
7Tailoring the modeling conventions
- Basic Problem Other models might not match the
UML meta-model
- Two Strategies Extending the metamodel or using
profiles - Extending the metamodel breaks tool support
- Profiles do not modify existing metamodels
- Add semantics that does not exist in the
metamodel - Add constraints that restrict the way you may use
the metamodel and its constructs - Add information that can be used when
transforming a model to another model or code
8Adding more Semantics (Profiling)
Import from non-UML tools (implicitly) imply a
model conversion
9Conceptual model as a basis for a Profile SysML
Requirements example
10Conceptual model as a basis for a Profile SysML
Requirements example
11Integration types
Requires strategy to sync models
MechanicsHydraulics
12Configuration Management
UML Model
External Source
Time
- Dedicated Ownership
- Lock foreign elements
- Requires strategies for
- Identifying Objects
- Deleting used objects
13Model Versions
- Various versions of the model have to be managed
- The full model can be a combination of different
versions of the submodel - The different configurations need to be managed
- Different versioning strategies need to be
integrated across tools - Versioning granularity is an issue
- model
- subsystem
- class
Various factors influence the decision for data
exchange technology
14Vendor Specific APIs
- Support of API functionality varies from tool to
tool - Tight integration by modyifing GUI (e.g. to
Requirement-Tools, DIE). - Access to more features of the modelling tool
(diagram layout) - Vendor specific language (Basic, Java, RXE, )
- nm interfaces between tools.
15MOF APIs
- APIs based on MOF
- CORBA interface described in MOF standard
- JMI Java Interface for MetaData, uses MOF 1.4,
not yet MOF 2.0 - Tool Support not yet very widespread.
- Tied to specific languages.
16XMI XML Metadata Interchange
- Defines Mapping of MOF to XML
- XMI integrates three key industry standards XML,
UML, MOF - Standard Method for Exchanging Data between UML
modelling tools - Can be used for import/export from other tools
(see XSLT) - Standard solution supported by many tools.
- Complex structure
- Supports transfer of model deltas
17XMI Example drawbacks
ltXMI.contentgt ltUMLModelgt
ltUMLNamespace.ownedElementgt
ltUMLClass name
'OnlyClass' visibility 'public'
xmi.id '
xmi.uuid
isAbstract 'false'
isRoot
'true'
isLeaf 'true'
isActive 'false'
gt lt/UMLClassgt
ltUMLClass name
'Container_class_for_objects_and_actors'
visibility 'public'
xmi.id 'ID_DUMMY_CLASS' isRoot 'true'
isLeaf 'true'
isActive 'true' /gt
lt/UMLNamespace.ownedElementgt
lt/UMLModelgt lt/XMI.contentgt
- No diagram information is contained in XML
stream. Some UML tools need diagrams as
representation - Autolayout
- Manual work
- Layout of diagram also contain valuable
information, that gets lost.
18Using MDA (Model Driven Architecture)
- Latest trend related to UML
- Model is the focal artifact, it is transformed
into various other models (including source) - No standard yet (but emerging)
- Easy to use
- Template-based tools support text-based output
only - loop(Instances-gtMclass)
- CREATE TABLE Mclass.name
- end loop
19Summary
- UML and its tools have to be integrated with
other models and tools - UMLs architecture allows to define profiles to
integrate other models - UML and MDA are strong standards in software
engineering - Various technologies exist to exchange data with
UML models, XMI is emerging as the most supported - Various issues with the process (versioning,
config management) need to be solved specifically
20Bookmarks
- OMG
- http//www.omg.org/
- UML
- http//www.uml.org/
- XMI
- http//www.omg.org/technology/documents/formal/xmi
.htm - JMI
- http//java.sun.com/products/jmi/index.jsp
- http//forums.objectsbydesign.com/showthread.php?s
threadid1074 - MDA
- http//www.omg.org/mda/
- Aonix
- http//www.aonix.de
- Graf_at_aonix.de