OSLCチュートリアル - TERAS Web Site

OSLCチュートリアル
Tool Environment for Reliable and Accountable Software
株式会社OTSL
目次
OSLCとは?
OSLCのDomainとWorkgroup
OSLCとLinked Data
OSLCとREST
OSLCドメイン:要件管理
OSLCドメイン:要件リソースの関係プロパティ
OSLCの認証
他のトピック








2
Copyright © 2012 TERAS All Rights Reserved.
OSLCとは?
Open Services for Lifecycle Collaboration(OSLC)
2008年IBMにより提案された
OSLCを推進している団体(Community)





OSLC仕様の策定
OSLCの参考実装とテスト・スイートの開発
OSLC仕様


ソフトウェアおよび製品の企画、開発から使用、破棄までを管
理することを支援するツールを統合するための仕様
何故OSLCが生まれたの?


いろいろなツールの統合が試みられてきたが、多くはうまく
いっていない。



3
原因:独自のAPI、一つに統合されたリポジトリ
異なったALM(またPLM)ツール間での連携の要求が強い
Webの発展(異なったサービス間の連携)
Copyright © 2012 TERAS All Rights Reserved.
OSLCとは?(特徴)
オープン



以下の条件に従う場合に限り、自由に使うことができる

Creative Commons Attribution 3.0 United States license

http://creativecommons.org/licenses/by/3.0/us/deed.ja
以下の条項のどちらかに合意できれば、誰でもが参加できる

the Patent Non-assertion Covenant

the Patent License
詳細は、http://open-services.net/terms/

インターネット(REST)とLinked Data

シナリオ駆動

4
メンバーが合意できる部分からシナリオを決めていく
Copyright © 2012 TERAS All Rights Reserved.
OSLCとは?(そのメンバは)
メンバは?

Accenture, Alcatel-Lucent, APG, BigLever, Black Duck,
Boeing, BSD Group, CESAR, Citigroup, EADS, Emphasys,
Empulsys, Galorath, General Motors, IBM, Institut TELECOM,
Integrate Systems, Integrate Systems Engineering, Kovair,
KTH, Northrup Grumman, Oracle, Price Systems, QSM, Rally
Software, Ravenflow, Shell, Siemens, Sogeti, SourceGear,
SPRINT, State Street, Stoneworks Software, Tasktop,
Thales, Tieto, TOPIC Embedded Systems, UrbanCode,
WebLayers
OSLCのWebサイト


5
http://open-services.net/
Copyright © 2012 TERAS All Rights Reserved.
OSLCのDomainとWorkgroup

OSLCのDomainとは?
ALMやPLMで特定の関心
領域


Workgroup
透明性
(OSLC wiki, メーリングリ
スト, workgroup会議)
シナリオ駆動
最小かつ単純に
短期間で繰り返しに
(4~6カ月)
仕様策定と初期実装と同
時に





6
分類
Workgroup
コラボレーティブ・ライフ 変更管理
サイクル管理
品質管理
(Collaborative
要件管理
Lifecycle Management)
製品管理(Asset
Management)
アーキテクチャ管理
ソフトウェア構成管理
Automation
ソフトウェア・プロジェク
ト管理
PLM
推定と測定
統合サービス管理
性能監視
基本と共通
コア
PLMとALM
報告(Reporting)
仕様外
Copyright © 2012 TERAS All Rights Reserved.
コミュニケーション
OSLCとLinked Data
Linked Dataとは、データ版のWorld Wide Web
Linked Dataの4原則


1.
2.
3.
4.
ものの名前としてURIを使いなさい。
名前の検索のためにHTTP URIを使いなさい。
検索時、標準技術(RDF, SPARQL)を使って、有益な情報を
提供しなさい。
より多くのものを発見できるように、データの中に他のURIへ
のリンクを含めなさい。
OSLCリソースとは、OSLCのサービスで追加・更新・削除
されるもの



7
例えば、要件、変更管理における変更など
OSLCリソースはRDF表現を持つ(必須)。
Copyright © 2012 TERAS All Rights Reserved.
OSLCとREST
RESTとは? Representational State Transfer(REST)
原則






ステートレス
「よく定義された操作」
リソースを識別する仕組み
リソース間の関係性の記述
クライアント
Consumer
RESTを使った組込み事例


ZigBee Smart Energy Profile 2.0
OSLCでの統合

ソフトウェア
構成管理の
Consumer
8
ソフトウェア構成管理の
OSLC Service Provider
兼
OSLC Consumer
Copyright © 2012 TERAS All Rights Reserved.
REST
サーバ
OSLC
Service
Provider
要件管理
OSLC Service Provider
変更管理
OSLC Service Provider
品質管理
OSLC Service Provider
OSLCドメイン:要件管理
要件管理リソース


Requirement, RequirementCollection
Requirementリソースのプロパティ



共通プロパティ
dcterms:title, dcterms:description, dcterms:identifier,
oslc:shortTitle, dcterms:subject, dcterms:creator,
dcterms:contributor, dcterms:created, dcterms:modified,
rdf:type, oslc:serviceProvider, oslc:instanceShape
関係プロパティ
oslc_rm:elaboratedBy, oslc_rm:elaborates,
oslc_rm:specifiedBy, oslc_rm:specifies, oslc_rm:affectedBy,
oslc_rm:trackedBy, oslc_rm:implementedBy,
oslc_rm:validatedBy,
dcterms
rdf
oslc
oslc_rm
9
http://purl.org/dc/terms/
http://www.w3.org/1999/02/22-rdf-syntax-ns#
http://open-services.net/ns/core#
http://open-services.net/ns/rm#
Copyright © 2012 TERAS All Rights Reserved.
OSLCドメイン:要件リソースの関係プロパティ
oslc_rm:elaboratedBy
oslc_rm:elaborates
oslc_rm:specifiedBy
oslc_rm:specifies
要件
oslc_rm:affectedBy
oslc_rm:trackedBy
oslc_rm:implementedBy
oslc_rm:validatedBy
10
Copyright © 2012 TERAS All Rights Reserved.
モデル要素
要件
モデル要素
要件
障害
変更要求
変更要求
テストケース
OSLCの認証

OSLCで使用する認証プロトコル


HTTP Basic認証
OAuth


一言解説:信頼関係を構築したサービス間でユーザの合意のもと
ユーザのアクセス権をセキュアに委譲するプロトコル仕様
ユーザの登録、アクセス権の設定とその粒度について
は実装依存
11
Copyright © 2012 TERAS All Rights Reserved.
他のトピック
今日のチュートリアルでは言及しなかったOSLC
の特徴






12
Delegated User Interface Dialog
ServiceProviderCatalog
OSLC Resource Shape
Resource Paging
OSLC検索機構
Creation Factory
Copyright © 2012 TERAS All Rights Reserved.
補足1:仕様作成状況
分類
版 Scope Draft Converge
Finalize
変更管理
v2 Scope Draft Converge
Finalize
品質管理
v2 Scope Draft Converge
Finalize
要件管理
v2 Scope Draft Converge
Finalize
製品管理
v2 Scope Draft Converge
(Asset Management)
アーキテクチャ管理 v2 Scope Draft Converge
Finalize
ソフトウェア構成管理 v1 Scope Draft Converge
Finalize
Automation
v1 Scope Draft Converge
Finalize
ソフトウェア・プロ
ジェクト管理
PLM
推定と測定
v2 Scope Draft Converge
Finalize
PLMとALM
v1 Scope Draft Converge
Finalize
統合サービス管理
性能監視
v1 Scope Draft Converge
Finalize
基本と共通
コア
v2 Scope Draft Converge
Finalize
報告(Reporting)
v1 Scope Draft Converge
Finalize
コラボレーティブ・ラ
イフサイクル管理
(Collaborative
Lifecycle
Management)
13
Workgroup
Copyright © 2012 TERAS All Rights Reserved.
Finalize
補足2:URIの説明




Uniform Resource Identifier(URI)
1998年8月RFC 2396として制定。2005年1月RFC 3986
として改定。
URIとは、リソースを示すもの
事例:

http://www.teras.or.jp/?page_id=439


urn:iso:std:iso:26262:-8:ed-1:en:table:4


ISO 26262 Part8の表4, 「Qualification of software tools classified
TCL3」
urn:iso:std:iso:26262:-8:ed-1:en:clause:11.4.6.1

14
TERAS Webの成果報告会のページ
ISO 26262 Part8の11.4.6.1節(表4を含む節)
Copyright © 2012 TERAS All Rights Reserved.
補足3:OSLC用語

OSLCリソース


OSLCサービスにより管理されるリソース。OSLCリソースはプ
ロパティや他のリソースへのリンクを持つことができる。
OSLCサービス

15
WebクライアントがOSLCに関してリソースを作成、検索、更新、
削除できるようにする機能集合
Copyright © 2012 TERAS All Rights Reserved.
補足4:RDFの説明



Resource Description Framework(RDF)
リソースを記述するための枠組みとしてW3Cが規格化
3つの要素(三つ組)でリソースを表現
Subject(主語)
Predicate(述語)
ISBN
978-4-7981-1563-4
dc:title
Object(目的語)
改訂版
組込みソフトウェア向
け開発プロセスガイド
RDF/XML形式のサンプル
<rdf:RDF
xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about=“urn:isbn:978-4-7981-1563-4">
<dc:title>改訂版 組込みソフトウェア向け開発プロセスガイド</dc:title>
</rdf:Description>
</rdf:RDF>
16
Copyright © 2012 TERAS All Rights Reserved.
補足4: RDF/XML形式のサンプルの実体
17
Copyright © 2012 TERAS All Rights Reserved.
補足4:RDFのOSLC リソース・サンプル
<rdf:RDF
アーキテクチャ管理リソース例
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:oslc_am="http://open-services.net/xmlns/am/1.0/"
xmlns:acme="http://acme.com/links/">
<oslc_am:Resource rdf:about="https://acme.com/resources/res1">
<dc:title>ServiceInterface</dc:title>
<dc:description>This interface is used to do service things.
</dc:description>
<dc:type
rdf:resource="http://www.eclipse.org/uml2/3.0.0/UML/Interface" />
<dc:format>application/x-uml+xml</dc:format>
<acme:elaborates
rdf:resource="https://reqserver.acme.com/requirements/req10"/>
</oslc_am:resource>
</rdf:RDF>
18
Copyright © 2012 TERAS All Rights Reserved.