design management: a collabortive design solution ecmfa 2013 montpellier, france maged elaasar...
TRANSCRIPT
Design Management: a Collabortive Design
Solution
ECMFA 2013
Montpellier, France
Maged Elaasar (Presenter)Senior Software Engineer, [email protected]
Jim ConallenSenior Software Engineer, [email protected]
2Design is a Key Phase of Development Lifecycle
Reduces software development complexity
Identifies issues early in development lifecycle
Documents technical decisions for stakeholders
Accelerates implementations through model-driven development
3Challenges for Design Tools Today
Designers work in silos unaware of team activities
Difficult to express designs in a suitable formalism
Difficult to share designs and get feedback from stakeholders
Difficult to work in parallel on design with other designers
Difficult to manage change and variability of design
Difficult to link designs to other lifecycle artifacts
Difficult to trace and analyze the impact of design changes
Difficult to create reports across multiple designs and lifecycle artifacts
4Required Design Tool Features
CollaborativeTeam Access
Team Awareness
Lifecycle integration
Configuration management
Parallel development
Expressive Design Domains
5
Rational Design Management (DM)
Design Management: a Collaborative Design Solution
RationalSoftwareArchitect
RationalRhapsody
DM
DM
RationalDesign
Management
6Collaborative Team Access
Shared design respository with one or more clients
Access with role-based permissions
Search using keywords or queries
Browse elements and discover relationships
Collaborate by mark-up, comment, and review
RSA Client
Rhapsody Client
Web Client
7Team Awareness
Provide a project overview dashboard as a mashup of widgets
8Lifecycle Integration
Create links to other lifecycle artifacts
Preview link details and navigate to the linked artifact
Create reports and generate documents that cover linked artifacts
Analyze the impact of change to artifacts across the lifecycle
9Configuration Management
Designs are organized into project
Designs evolve with change sets producing new versions
Design versions are recorded in one or more configurations A configuration can be changeable (workspace) or frozen (snapshot)
Configurations are organized in a hierarchy
10Parallel Development
Support a traditional design process
Designer works in a private WS and delivers/rebases to intergration WS
Conflicts are resolved with compare/merge
Support an agile design process
More than one designer work in parallel in same WS
Minimize edit lock-out by maximizing design componentization
11Expressive Design Domains
Structured Domains
UML, BPMN
Non Structured Domains
Sketches, Rich Text
Custom Domains Abstract syntax
Concrete syntax
Tool behavior
12Design Management: Embracing Semantic Web
Semantic web makes it easier to build modern design tools
Representing designs with RDF
Defining design domains with OWL
Linking designs to lifecycle artifacts with OSLC
13Representing Designs with RDF
Designs are represented as RDF graphs
Design integration (multi-classification, aliases)
Design extension (open world assumption)
Design modularization (multi-definition)
Separation of concerns
Parallel development
<rdf:Description rdf:about="#activity1"> <rdfs:label>Activity 1</rdfs:label> <rdf:type rdf:resource=“uml#Activity”/> <rdf:type rdf:resource=“bpmn#Activity”/></rdf:Description>
<rdf:Description rdf:about="#William"> <rdf:sameAs rdf:resource=“#Bill”/></rdf:Description>
<rdf:Description rdf:about=“people#Person"> <rdf:equivalentClass rdf:resource=“species#Human”/></rdf:Description>
<rdf:Description rdf:about=“#activity1"> <uml:isReadOnly>true</uml:isRealOnly> <notation:Diagram rdf:resource=“#Diagram1”/></rdf:Description>
14Defining Design Domains with OWL
Design domains are defined with OWL ontologies that define
Syntax (some validation, reflective tooling)
Semantics (reasoning, consistency check)
Extra tooling annotations (e.g., componentization, cascade delete)
Generic mapping from/to MOF-defined metamodels
Support for mapping profiles (using multi-classification)
<rdf:Description rdf:about=“uml#context"> <rdfs:label>Context</rdfs:label> <rdf:type rdf:resource=“owl#ObjectProperty”/> <rdf:domain rdf:resource=“uml#Comment”/> <rdf:range rdf:resource=“uml#Namespace”/> <dmcore:cascadeDelete rdf:resource=“dmcore:cd-domain”/></rdf:Description>
<rdf:Description rdf:about=“uml#Comment"> <rdf:type rdf:resource=“owl#Class”/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=“uml#context”/> <owl:maxCardinality>1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdf:type rdf:resource=“dmcore:GraphType”/></rdf:Description>
<rdf:Description rdf:about=“#class1 "> <rdf:type rdf:resource=“uml#Class”/> <rdf:type rdf:resource=“sysml#Block”/> <sysml:isEncapsulated>true</sysml:isEncapsulated></rdf:Description>
15Linking Designs to Lifecycle Artifacts with OSLC
DM adopts Open Services for Lifecycle Collaboration (OSLC)
Designs are represented using linked data (URI, RDF graph, etc.)
Designs have expected OSLC properties (e.g., dcterms:title)
Designs may use predefined link propeties (e.g.,dmoslc:validatedBy)
<rdf:Description rdf:about="http://company.org/dm/model/123#class1"> <rdf:type rdf:resource=“uml#Class”/> <dcterms:title>Class 1</dcterms:title> <dmoslc:validatedBy rdf:resource=“../testcase1”/></rdf:Description>
16Contributions and Future Work
Described challenges facing software design tools today
Identified features that should help tools meet these challenges
Provided examples in the context of Design Management (DM) tool
Discussed how semantic web can help realize some of those features
Future work includes: Assess impact of DM on design team productivity through case studies
Define ways to define a rigorous design process
Support configurations across the lifecycle
Support automation of design migration due to domain evolution
17
17