NECSIS 2012, Gatineau, QC
27 June 2012
Maged Elaasar
Overview of Design Management (DM)
Defining a domain with DM
The remaining challenges
DM is a collaborative web-based tool that enables stakeholders to contribute to and influence the design of software and systems.
DM embraces the Semantic Web principles: Linked Data, Open-world assumption
DM is implemented as a set of web services on top of the Jazz platform
DM capabilities are integrated in two products:
Rational Software Architect Design Manager (beta available on Jazz.net)
Rational Rhapsody Design Manager (beta available on Jazz.net)
3
Domain definition
Declaratively define a modeling domain along with a domain-specific tool for it.
In-context collaboration
Create, share and review models collaboratively using a web client with stakeholders.
Change management for designs
Store and manage model elements on a server directly (i.e., no need to map to files)
Traceability and impact analysis
Set up links between model elements, trace between them and analyze impact of change
Reporting and document generation
Use document/report templates to generate and share documents and reports
Other: Validation, Transformation, Migration of models
4
Design creation, editing, search, query, validate, analyze, report
Design change control and versioning (modelbased)
Design Management services on Jazz Team
Server (JTS)
RSA client
Design creation, search, query, view, comment, review, link, report, validate, analyze
Web client
Rhapsody client
Jazz Storage
§ Architecture Elements
§ Index
§ Comments (visual, textual)
§ Links
§ Reviews
5
Overview of Design Management (DM)
Defining a domain with DM
The remaining challenges
A domain is a definition of a domain-specific modeling language and its tooling
Before Design Management
A domain was defined as either a MOF (EMF) metamodel or a UML profile
A model is serialized in XMI and queried using OCL/XPath
Closed world assumption: hard to integrate domains or extend models
Most domain-specific tooling was code driven
With Design Management
A domain is defined as a set of OWL ontologies
A model is serialized in RDF and queries using SPARQL
Open world assumption: easy to integrate domains and extend models
Most domain-specific tooling is data driven
7
DM Domain Toolkit allows for defining a domain declaratively:
The abstract syntax is defined with a set of OWL ontologies (with DM extensions)
The concrete graphical syntax is defined with a mapping to a graphics
Various (diagram, tree or form based) editors can be defined in details
Live and batch validation rules can be defined in several expression languages
Future aspects: transformation, migration, inference…etc.
Several domains are prepackaged:
UML (ontology is imported from EMF)
BPMN (ontology is imported from EMF)
Topology
Sketcher
Rich Text
8
UML, BPMN and Topology
9
Rich Text and Sketcher
10
11
12
DM provides a Core domain that consists of several ontologies including:
XSD/RDF/RDFS/OWL (subset) for concept (class/property) modeling
DM Core fills some gaps in concept modeling
DM Editor/Explorer for defining content, layout and behavior of various kinds of editors
DM File/Folder for defining domain-independent hierarchical organization of models
DM Validation/Problem for defining validation rules using a number of languages
DM Index/Query for controlling search/traceability related aspects on models
DM Reporting/UI for controlling various UI and reporting aspects
13
DM Core fills some gaps in concept modeling by special annotations
Document boundaries: which concepts should be defined in separate documents?
dmcore:DocumentClass (class)
dmcore:canDefine (property of dmcore:DocumentClass)
Deletion cascade: how to cascade deletion of a model element?
dmcore:deleteCascade (property of owl:ObjectProperty)
Detailed container modeling: what is the type of container members?
dmcore:allMembersFrom (property of owl:Restriction)
Initial values for properties: is there an initial value for a property?
dmcore:hasInitialValue (property of owl:Restriction)
Type compatibility: can two given types be used together on a model element?
dmcore:compatibleWith (property of owl:Class)
14
Overview of Design Management (DM)
Defining a domain with DM
The remaining challenges
Scalable Inferencing
We need some level of scalable inferencing support for OWL ontologies
Validation based on semantics of OWL
We need to validate models against their ontology definition (a use case for inference?)
Scalable and extensible SPARQL Queries
We need SPARQL queries to scale regardless of order of statements in query
We need the ability to define a library of useful utility functions to be used in SPARQL
Derived properties
We need a strategy to derive values of some properties such that they can be queried
16
Model to model mapping
We need a way to declaratively define a mapping between two domains
We need the mapping to define document
Model Migration
We need a way to automatically migrate models when domains change
Model Refactoring
We need a way to perform model refactoring (update)
17
Diagram Definition
We need to define a diagram interchange ontology
We need a way to declare the graphical syntax of a diagram (rendering rules)
Scalable diagram loading
We need a way to load diagrams incrementally as they are browsed
Diagram Auto layout
We need a way to declare auto layout strategy for a diagram
Mapping OWL to UML Notation
We need to define a mapping of the UML notation to OWL
Multi resource editing
We need a way to declare which resources should be impacted by a high level gesture
18
Domain Extensibility
We need a strategy for automatically managing extensions across document boundaries
Domain Subsetting
We need a strategy for defining a subset of a domain that should be visible
19
What tooling do you get by defining ?
© Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM ’ s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
20