58
Introduction to Open Services for Lifecycle Collaboration (OSLC) Axel Reichwein Consultant, Koneksys January 25, 2015 1

Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Introduction to Open Services for Lifecycle Collaboration (OSLC)

Axel Reichwein

Consultant, Koneksys

January 25, 2015

1

Page 2: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Axel Reichwein

• As PhD student and postdoc: UML-based and SysML-based integration solutions to bridge the gap between systems engineering and discipline-specific engineering

• As consultant: Implementation of (open-source) OSLC-based solutions including OSLC adapters for MagicDraw SysML, Simulink, AMESim, and PTC Integrity

• Co-Chair of the OMG OSLC4MBSE Working Group to apply OSLC beyond software engineering

2

INCOSE IW2015

Page 3: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

• Consultants specializing in providing integration solutions based on OSLC

• Develop OSLC solutions including OSLC adapters, clients, synchronization middleware, triple stores, SPARQL endpoints

• Contribute open-source OSLC solutions to Eclipse Lyo

• Provide consulting for developing OSLC solutions

• Provide OSLC training ranging from 1-day tutorials to advanced 4-day courses

3 INCOSE IW2015

Page 4: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Models for Architectural Design

Requirements

System Architecture

Dynamic system models

Computer-Aided Design (CAD)

(e.g. 3D models, 2D drawings)

Meshed Analysis Models (e.g. FE,

CFD, Thermo)

Many Relationships between Models

4

And more…

INCOSE IW2015

Page 5: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Problem: Rollover Risk of SUVs

• Higher center of gravity -> higher risk of rollover

• More than a third of all fatal crashes in the US are rollovers!

http://www.cars.com/go/crp/buyingGuides/Story.jsp?section=SUV&story=suvSafe2012&subject=stories&referer=&year=New

5 INCOSE IW2015

Page 6: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Static Stability Factor Test

Mechanical Engineer computes center of gravity height of new vehicle through geometric model

System Engineer defines SSF Test Case

6

Center of Gravity

INCOSE IW2015

Page 8: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Link between COG Parameter of Geometric Model and Simulation Model

Center of gravity in geometric model Center of gravity in simulation model

Center of Gravity + Moments of Inertia

8 INCOSE IW2015

Page 9: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

v

Relationships between Engineering Data

Requirements

Test Cases

Simulation Model

Geometric Model

9 INCOSE IW2015

Page 10: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Reality in Complex System Design: (Too Many) Relationships between Engineering Data

Requirements

Test Cases

Simulation Model

Geometric Model

System Architecture

Software

10 INCOSE IW2015

"NX7-HD3D-car-300dpi" by Jsarfati - Own work. Licensed under Creative Commons Attribution 3.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:NX7-HD3D-car-300dpi.jpg#mediaviewer/File:NX7-HD3D-car-300dpi.jpg

v

Page 11: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Network of Relationships

11 INCOSE IW2015

Page 12: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Impact Analysis

12

Change here

INCOSE IW2015

Page 13: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Queries

13

Query: Which elements are related to this requirement?

INCOSE IW2015

Page 14: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Overview of Relationships

14

Good Overview => Better Decisions

INCOSE IW2015

Page 15: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Relationships on the Web

Linked Web Pages (Unstructured Data)

Linked Data (Structured Data)

15 INCOSE IW2015

"Lod-datasets 2010-09-22 colored" by Anjeve, Richard Cyganiak - Own work. Licensed under Creative Commons Attribution-Share Alike 3.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Lod-datasets_2010-09-22_colored.png#mediaviewer/File:Lod-datasets_2010-09-22_colored.png

World Wide Web

http://www.wikipedia.org/

https://www.google.com/

http://www.cnn.com/

http://espn.go.com/

https://www.facebook.com/

Page 16: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Linked Data Example

16

Example DBPedia Query: Cities in Germany with population larger than 1Mio?

INCOSE IW2015

http://liris.cnrs.fr/~pchampin/spark/gmapv3.html

Page 17: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Open Services for Lifecycle Collaboration

• OSLC = Reusing the Web for tool integration

• Based on Web standards (Linked Data and RESTful Web Services)

• Initiated by IBM

• Adopted by many tool vendors

• Managed by OASIS

17 INCOSE IW2015

http://open-services.net/wiki/communications/OSLC-Stickers/ licensed under CC BY 3.0 US

Page 18: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Overview of Operations on OSLC Resources

• Publishing OSLC resources

• Retrieving OSLC resources

• Linking OSLC resources across tools

• Adding/Updating/Deleting OSLC Resources

• Viewing OSLC resources of other tools

• Interchanging OSLC resources between tools

• Tracking changes to OSLC resources

INCOSE IW2015 18

Page 19: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Publishing OSLC Resources

19

Tool

OSLC Adapter

INCOSE IW2015

Page 20: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Linked Data Principle 1

Requirement in Systems Engineering Tool

http://myDomain/myTool/myProject/requirements/S5.4.1

URI of Requirement

20

Use URIs to denote things

INCOSE IW2015

Page 21: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Linked Data Principle 2

Requirement in Systems Engineering Tool

http://myDomain/myTool/myProject/requirements/S5.4.1

URI of Requirement

21

HTTP

Use HTTP URIs so that these things can be referred to and looked up

INCOSE IW2015

Page 22: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Linked Data Principle 3

Requirement in Systems Engineering Tool

http://myDomain/myTool/myProject/requirements/S5.4.1

URI of Requirement

22

HTTP

Provide useful information about the thing when its URI is dereferenced, leveraging standards such as RDF, SPARQL.

W3C standard for data interchange on the Web

INCOSE IW2015

Page 23: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

• Statements in the form of subject-predicate-object expressions (triples)

• W3C standard for data interchange on the Web

• Used for semantic reasoning

• Variety of serialization formats (e.g. JSON-LD)

Resource Description Framework (RDF)

23

http://.../requirements/S5.4.1

Subject = URI

http://.../usecases/Decelerate_Car

Object = URI or literal

http://.../Requirement/elaboratedBy

Predicate = URI

INCOSE IW2015

Page 24: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

RDF Example

24

RDF = subject-predicate-object statements

(triples)

Subject Predicate Object Requirement „Master Cylinder Efficacy“

refinedBy Use Case „Decelerate Car“

Requirement „Master Cylinder Efficacy“

satisfiedBy Block „Brake System“

Requirement „Master Cylinder Efficacy“

derivedRqt Requirement „Loss of Fluid“

Requirement „Master Cylinder Efficacy“

derivedRqt Requirement „Reservoir“

INCOSE IW2015

Page 25: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

RDF Graph Representation

INCOSE IW2015 25

Requirement „Master Cylinder Efficacy“

Use Case „Decelerate Car“

Block „Brake System“

Requirement „Loss of Fluid“ Requirement „Reservoir“

refinedBy

satisfiedBy

derivedRqt derivedRqt

Page 26: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Linked Data Principle 4

Tool-specific

26

Include links to other related things (using their URIs) when publishing data on the Web.

INCOSE IW2015

Page 27: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Retrieving Resources

27

Client

HTTP Request URL: http://.../requirements/S5.4.1 GET Method Accept: application/rdf+xml

HTTP

INCOSE IW2015

Tool C

OSLC Adapter for Tool C

Page 28: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Tool-specific

HTML

28

Representation Examples

INCOSE IW2015

Page 29: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

RDF

Tool-specific

29

Representation Examples

INCOSE IW2015

Page 30: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Demo

INCOSE IW2015 30

Page 31: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Linking Resources Across Tools

31 INCOSE IW2015

Tool A

OSLC Adapter for tool A

OSLC Adapter for tool C

Tool C

OSLC Adapter for tool B

Tool B

Page 32: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Defining Links Between OSLC Resources of Different Tools

32

Tool A

OSLC Adapter for tool A

OSLC Adapter for tool C

Tool C

OSLC Adapter for tool B

Tool B

Link Tool

INCOSE IW2015

Page 33: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Adding/Updating/Deleting Resources Through RESTful OSLC Web Services

33

Client

HTTP

Tool C

•Publishing, Querying, Creating, Updating, Deleting Resources •Aligned with W3C Linked Data Platform

OSLC Adapter for Tool C

INCOSE IW2015

Page 34: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Overview of Operations on OSLC Resources

• Publishing OSLC resources

• Retrieving OSLC resources

• Linking OSLC resources across tools

• Adding/Updating/Deleting OSLC Resources

• Viewing OSLC resources of other tools

• Interchanging OSLC resources between tools

• Tracking changes to OSLC resources

INCOSE IW2015 34

Page 35: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Overview of Operations on OSLC Resources

• Publishing OSLC resources

• Retrieving OSLC resources

• Linking OSLC resources across tools

• Adding/Updating/Deleting OSLC Resources

• Viewing OSLC resources of other tools

• Interchanging OSLC resources between tools

• Tracking changes to OSLC resources

INCOSE IW2015 35

Page 36: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Use Case Scenario of OSLC Tutorial

A user needs to list bugs that correspond to an incident of a customer. The listed bugs of the CRM should correspond to the Bugzilla bugs

Bugzilla: web-based bug tracking tool

CRM system: lists bugs/defects associated with an incident reported by a customer

OSLC Service Provider OSLC Service Consumer

INCOSE IW2015

Page 37: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

CRM System

INCOSE IW2015

Page 38: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Adding a Bug to the CRM System

A user would like to add a bug to the CRM system by manually indicating its URI. The URI should match the URI of a bug in the Bugzilla repository

Example:

INCOSE IW2015

Page 39: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Delegated UI for Resource Selection

A user would like to get from bugzilla a delegated UI for searching and selecting an existing Bugzilla bug

Example:

Page 40: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Delegated UI for Resource Creation

A user would like to create a new bug within the Bugzilla repository

Example:

Page 41: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

UI Preview

A user would like to hover over a bug with the mouse and get a small UI preview from Bugzilla

Example:

Page 42: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Overview of Operations on OSLC Resources

• Publishing OSLC resources

• Retrieving OSLC resources

• Linking OSLC resources across tools

• Adding/Updating/Deleting OSLC Resources

• Viewing previews of OSLC resources of other tools

• Interchanging OSLC resources between tools

• Tracking changes to OSLC resources

INCOSE IW2015 42

Page 43: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Data Interoperability

INCOSE IW2015 43

Tool A

OSLC Adapter for tool A

OSLC Adapter for tool C

Tool C

Page 44: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

RDF Example

44

RDF = subject-predicate-object statements

(triples)

Subject Predicate Object Requirement „Master Cylinder Efficacy“

refinedBy Use Case „Decelerate Car“

Requirement „Master Cylinder Efficacy“

satisfiedBy Block „Brake System“

Requirement „Master Cylinder Efficacy“

derivedRqt Requirement „Loss of Fluid“

Requirement „Master Cylinder Efficacy“

derivedRqt Requirement „Reservoir“

INCOSE IW2015

Page 45: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Interoperability Through Standardized Resource Properties and Resource Types

45 45

Subject Predicate Object

Requirement „Master Cylinder Efficacy“

type

Requirement

Requirement „Master Cylinder Efficacy“

description

„A master cylinder shall…“

http://purl.org/dc/elements/1.1/description

http://www.w3.org/1999/02/22-rdf-syntax-ns#type

http://open-services.net/ns/rm#Requirement

Any HTTP URI

Any HTTP URI

INCOSE IW2015

Page 46: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Snapshot of the OSLC Requirements Management Specification

46 INCOSE IW2015

Standardized OSLC Requirement Properties

Page 47: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

OSLC Specifications for Interopera-

bility and Information Discovery

47

Domain Status

Core 2.0

Architecture Management 2.0

Asset Management 2.0

Automation 2.0

Change Management 2.0

Performance Monitoring 2.0

Quality Management 2.0

Reconciliation 2.0

Requirements Management 2.0

Reporting Converge

Estimation and Measurement Converge

ALM/PLM Interoperability Draft

Configuration Management Scope

Tool A

Tool B

OSLC Resource

INCOSE IW2015

Page 48: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Version Management of OSLC Resources

• OSLC Configuration Management Working Group

48

Time

Configuration Version 1

Configuration Version 2

Configuration Version 3

INCOSE IW2015

Page 49: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Closed World Standards non-compatible with Linked Data

49

SysML

STEP

FMI

Page 50: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Open World Standards compatible with Linked Data

50

SysML

STEP

FMI

Page 51: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Advantages of Minimalistic Standards over „Universal“ Standards

„Closed world“ Standards

„Open world“ Standards

Example UML/SysML + STEP OSLC Specifications

Scope Large Minimalistic

Size Large Minimalistic

Effort until release High Small

Time until release Long Short

Ease of implementation Difficult Easy

Ease of adoption Difficult Easy

51 OSLC4MBSE Update - Axel Reichwein

Page 52: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

OMG OSLC4MBSE Working Group

52

• Define OSLC Specification for describing system architectures

• Collect use case scenarios from the systems engineering community

• Share use case scenarios with OSLC community

• Get technical feedback from OSLC community

OSLC4MBSE Update - Axel Reichwein

Page 53: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Overview of Operations on OSLC Resources

• Publishing OSLC resources

• Retrieving OSLC resources

• Linking OSLC resources across tools

• Adding/Updating/Deleting OSLC Resources

• Viewing previews of OSLC resources of other tools

• Interchanging OSLC resources between tools

• Tracking changes to OSLC resources

INCOSE IW2015 53

Page 54: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Tracking Changes to a Base Resource Set

54

Time

Resource Set Version 1

Resource Set Version 2

Resource Set Version 3

INCOSE IW2015

Base

Change Event Change Event

Change Event

Change Event

Base Base

Change Event

Page 55: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Retrieving ChangeEvents Through OSLC TRS Protocol

55

Client

HTTP

55

OSLC Adapter for tool C supporting Tracked Resource Set Protocol

Tool C

Only Change Events

INCOSE IW2015

Page 56: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

OSLC-Based Ecosystem

56

•Registry of OSLC Service Providers •Single Point of Entry to OSLC Resources •Editors to define Relationships between OSLC Resources •Views for seeing Relationships between OSLC Resources •Synchronization of OSLC Resources •Advanced workflows based on Enterprise Service Bus

INCOSE IW2015

OSLC Adapter

OSLC Adapter

OSLC Adapter OSLC

Adapter

OSLC Adapter

OSLC Adapter

Page 57: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Implementing OSLC Adapters

57

http://www.eclipse.org/lyo/

INCOSE IW2015

Page 58: Introduction to Open Services for Lifecycle Collaboration (OSLC) 2015. 1. 26. · Reality in Complex System Design: (Too Many) Relationships between Engineering Data Requirements Test

Summary

• OSLC = Reusing the Web infrastructure for tool integration

• Key OSLC advantages – Open technologies

– Scalability

– Flexibility

58 INCOSE IW2015