Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integrating Modeling Tools in the Development Lifecycle with OSLC Miami, October 2013 Adam Neal (Presenter) Maged.

Similar presentations


Presentation on theme: "Integrating Modeling Tools in the Development Lifecycle with OSLC Miami, October 2013 Adam Neal (Presenter) Maged."— Presentation transcript:

1 Integrating Modeling Tools in the Development Lifecycle with OSLC Miami, October 2013 Adam Neal Adam_Neal@ca.ibm.com (Presenter) Adam_Neal@ca.ibm.com Maged Elaasar melaasar@gmail.com melaasar@gmail.com

2 2 Agenda  Introduction  Migration from XMI to RDF  Overview of OSLC and its benefits:  Technical Foundation  Resource  Data Integration API  Resource Shape  Delegated UI Integration  Summary

3 3 Software development is complex  Complexity can be mitigated with additional tools  Design Management  Requirements Management  Change Management  Quality Management  Weak or no integration between tools  Minimal or no traceability between artifacts

4 4 Linking Design Tools to Other Lifecycle Tools with OSLC  Integrated development environment (IDE)  Point to Point integrations are expensive and complex  MOF uses closed world assumptions  Supports validation  Does not help integrate tools built on different platforms  Does not help when data or API used for integration evolve  Open Services for Lifecycle Collaboration (OSLC)  Built on Resource Description Framework (RDF)  Uses open world assumptions  Data representation based on the principles of linked data  Minimal web-based API allowing workflow integration

5 5 Migrating from XMI to RDF 1.Mapping MOF concepts to OWL 2.Mapping resource instances  Corse or fine grained fragmentation 3.Generating URIs for RDF Graphs

6 6 Migrating from XMI to RDF 1.Mapping MOF concepts to OWL 2.Mapping resource instances  Corse or fine grained fragmentation 3.Generating URIs for RDF Graphs Hello true 1 dsl a:Integer [1] X b:String [*] Y c * pdsl d:Boolean Z dsl a:Integer [1] X b:String [*] Y c * pdsl d:Boolean Z

7 7 Migrating from XMI to RDF 1.Mapping MOF concepts to OWL 2.Mapping resource instances  Corse or fine grained fragmentation 3.Generating URIs for RDF Graphs UML Model UML Class UML Operation XMI file http://abc.org/ex/model http://abc.org/ex/class http://abc.org/ex/operation Example: Fine RDF Graphs ex 2 http://abc.org/ex/model http://abc.org/ex/class http://abc.org/ex/class#op Example: Corse RDF Graphs UML Model UML Class UML Operation XMI file http://abc.org/ex/model UML Model UML Class UML Operation XMI file http://abc.org/ex/model UML Model UML Class UML Operation XMI file http://abc.org/ex/model http://company.org/dm/model/123 a uml:Operation, profileA:steroetypeX; uml:name “Operation 1”; uml:visibility uml:kind_public.

8 8 UML Model Migrating from XMI to RDF 1.Mapping MOF concepts to OWL 2.Mapping resource instances  Corse or fine grained fragmentation 3.Generating URIs for RDF Graphs UML Model UML Class UML Operation XMI file http://abc.org/ex/model http://abc.org/ex/123 http://abc.org/ex/guid_efab0-s34 RDF Graphs http://abc.org/ex/model

9 9 Design Management Implements OSLC  RSA Design Management server implements OSLC AM  Converting XMI  RDF  Providing RDF resources as OSLC AM resources  Supporting core OSLC protocols  RSA Rich Client interacts with DM server to discover resources

10 10 Overview of OSLC  Technical Foundation  Resource  Data Integration API  Resource Shape  Delegated UI Integration

11 11 OSLC Technical Foundation Based on W3C Linked Data  Use URIs as names for things  Use HTTP URIs so that people can look up those names  When someone looks up a URI, provide useful information using RDF  Include links to other URIs. so that they can discover more things  Core specification defines protocols and some resources  Domain specifications define additional resources types, but not protocols OSLC => Open Services for Lifecycle Collaboration

12 12 OSLC Resource  A resource is represented following the principles of linked data  A resource is identified with a web URL (http://abc.com/dm/model/000)  A resource is represented as an RDF graph  Contains standard set of properties (e.g., rdfs:type, dcterms:title )  May contain pre-defined link properties  May contain other properties (open world assumption) http://company.org/dm/model/123 a oscl_am:Resource, uml:Operation; dcterms:title “Operation 1”; uml:name “Operation 1”; dmlinktypes:validatedBy.

13 13 OSLC Data Integration API  Retrieve/update/delete using HTTP GET/ PUT/DELETE on resource URI  HTTP GET http://abc.com/dm/model/001http://abc.com/dm/model/001  HTTP GET http://abc.com/dm/model/001?oslc.properties=dcterms:title, uml:NamedElement_visibilityhttp://abc.com/dm/model/001?oslc.properties=dcterms:title, uml:NamedElement_visibility  Create using HTTP POST on creation factory URI  HTTP POST http://abc.com/dm/models/creationFactory http://abc.com/dm/models/creationFactory  Query using HTTP GET on query base URI  HTTP GET http://abc.com/dm?oslc.where=dcterm:title=”Class1”http://abc.com/dm?oslc.where=dcterm:title=”Class1

14 14 OSLC Resource Shape  RDF and OWL support open world assumptions  OWL ontology supports inferencing  Validation requires closed world assumption  Resource Shape supports validation 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 @prefix oslc:. @prefix xsd:. @prefix dcterms:. @prefix uml:. a oslc:ResourceShape; dcterms:title "Shape of resources of type UML Class"; oslc:describes: uml:Class; oslc:property [ a oslc:Property; dcterms:title "details for dcterms:title property"; oslc:propertyDefinition dcterms:title; oslc:name "title"; oslc:occurs oslc:Zero-or-many; oslc:valueType xsd:String ]; oslc:property [ a oslc:Property; dcterms:title "details for visibility property"; oslc:propertyDefinition uml:NamedElement_visibility; oslc:name "visibility"; oslc:occurs oslc:Zero-or-one; oslc:valueType oslc:Resource; oslc:allowedValue uml:VisibilityKind::public; oslc:allowedValue uml:VisibilityKind::private; oslc:allowedValue uml:VisibilityKind::protected; oslc:allowedValue uml:VisibilityKind::package ]; oslc:property [ a oslc:Property; dcterms:title "details for superClass property"; oslc:propertyDefinition uml:Class_superClass; oslc:name "superClass"; oslc:occurs oslc:Zero-or-many; oslc:valueType oslc:Resource; oslc:range uml:Class ].

15 15 Delegated User Interface Integration  Delegated UI: consumer tool invokes dialogs supplied by provider tools  Resource creation dialog URI  Resource selection dialog URI

16 16 Summary  Many benefits to integrating modeling tools with other lifecycle tooling  Enhanced user experience  Traceability, rich hovers, enhanced impact analysis  Difficult integration problems (e.g. creating artifacts) are handled by the native tool  Complicated business logic and UI is provided by the other tool  Point to point integrations are expensive and tightly coupled  OSLC integrations have one time investment to support core protocols  Adding support for specific domains (Change, Quality, etc) becomes light weight  Integrations are loosely coupled, yet strong and robust

17 17

18 18 Additional Slides

19 19 Future Work  Adoption of OSLC 3  Incremental (partial) updates of resources  Configuration awareness  Additional Resources and Link Types  Industry case studies of using RSA DM with the other Collaborative Lifecycle Management (CLM) tool suite to define an integrated development process

20 20 User Interface Integration API  Link preview: consumer tool asks provider tool for compact rendering  Consumer does HTTP GET with “application/x-oslc-compact+xml” header  Provider replies with RDF/XML document containing:

21 21 Impact Analysis  Able to identify impacted lifecycle artifacts  Changing behavior of some design artifact can impact Requirements and Tests  Need to be aware of previous Change Requests to ensure no regressions Change Request (CM) Requirement (RM) Test Case (QM)

22 22 OSLC Service Provider API  Defines the domain [AM, RM, QM or CM]  Defines creation factory URL  Defines query capability URL 01 02 03 04 05 06 07 08 09 10 11 12 13 14 @prefix oslc:. a oslc:ServiceProvider; oslc:service [ a oslc:Service; oslc:domain ; oslc:creationFactory [ a oslc:CreationFactory; oslc:creation http://abc.com/toolA/creationhttp://abc.com/toolA/creation ]; oslc:queryCapability [ a oslc:QueryCapability; oslc:queryBase http://abc.com/toolA/queryhttp://abc.com/toolA/query ] 01 02 03 04 05 @prefix rdfs:. ; # … 998 more triples here ….

23 23 Providing OWL Ontologies as OSLC Resource Shapes  Provide a mapping from OWL ontologies to OSLC resource shape  Define a resource shape for each given OWL class  Add all properties with the OWL class (or its superclasses) as the property’s domain  Derive the oslc:name, oslc:occurs, oslc:valueType, oslc:allowedValue from OWL ontology @prefix oslc:. @prefix xsd:. @prefix dcterms:. @prefix uml:. a oslc:ResourceShape; dcterms:title "Shape of resources of type Y"; oslc:describes: dsl:Y; oslc:property [ a oslc:Property; dcterms:title “b"; oslc:propertyDefinition dsl:b; oslc:name “b"; oslc:occurs oslc:Zero-or-many; oslc:valueType xsd:String ];

24 24 Representing 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 Activity 1 true


Download ppt "Integrating Modeling Tools in the Development Lifecycle with OSLC Miami, October 2013 Adam Neal (Presenter) Maged."

Similar presentations


Ads by Google