フィーチャー図とbricroboで 簡単プロダクトライン...umlと似たモデル図から...

21
フィーチャー図とBricRobo簡単プロダクトライン 2014/11/19~21 (株)富士通コンピュータテクノロジーズ 伊澤 松太朗 ET2014 ミニセミナー Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 1294karch01

Upload: others

Post on 27-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

フィーチャー図とBricRoboで 簡単プロダクトライン

2014/11/19~21 (株)富士通コンピュータテクノロジーズ 伊澤 松太朗

ET2014 ミニセミナー

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

1294karch01

目 次

1. 当社のご紹介

2. 派生開発でよくある課題

3. フィーチャー図のススメ

4. フィーチャー図とBricRoboによる 簡単プロダクトライン開発

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 1

当社のご紹介

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 2

会社概要

株式会社 富士通コンピュータテクノロジーズ

設立 1983年

事業所 川崎本社、豊橋事業所、長野事業所

事業内容

サーバ、ストレージ

モバイル端末、車載/FA機器、画像認識

ハードウェア、ネットワーク、検証ソリューション

従業員数 536名

組込みソフトウェア開発 300名

組込みハードウェア開発 50名

組込みプラットフォーム 35名

テストプログラム 開発/検証評価 100名

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 3

派生開発によくある課題

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 4

増大するバリエーションへの対応

製品ファミリーの増加や海外向け対応などにより、 製品や機能のバリエーションが煩雑になっている

顧客毎に変わるニーズに対応するため類似製品を開発

既存製品のバージョンアップによる機能追加/変更対応

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

類似製品を個別に開発して苦労していませんか?

製品毎にバラバラに管理しているから 仕様変更対応が大変

ソースコードがifdefだらけで 間違いが起こりがち

5

無駄なモノを作らないために

類似する製品や機能の個別開発から脱却するために製品の共通な部分は流用し、固有な部分だけを開発

製品や機能を特徴づける要素間の関係をツリー状に表した図に「フィーチャー図」がある

プロダクトライン開発では良く使われる

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

製品や機能の共通な部分や固有な部分を 簡潔に表現できる方法は無いのか?

フィーチャー図を使って共通性・可変性を可視化

6

フィーチャー図のススメ

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 7

フィーチャー図とは

例えば、以下のような機能検討中のネットワーク機器製品に対して機能をフィーチャー図で表現

Wi-Fi対応機能がある製品と無い製品がある

ポート数は4個または8個

Wi-Fi対応機能がある製品はポート数が4個の製品のみ

8

<<TopLevelFeature>>ネットワーク機器製品

<<MandatoryFeature>>ポート数

<<Feature>>4ポート

<<Feature>>8ポート

<<OptionalFeature>>Wi-F i機能

フィーチャー図で表現

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

選択しても 選択しなくても良い

フィーチャー

必須なフィーチャー

排他的な選択

ドメインとなる フィーチャー

製品のフィーチャー

フィーチャー図で表現したものの、これが製品戦略的に正しい?

9

検討後のフィーチャー図

Wi-Fi機能はポート数に関わらず選択可能に検討

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

<<TopLevelFeature>>ネットワーク機器製品

<<MandatoryFeature>>ポート数

<<OptionalFeature>>Wi-F i機能

<<Feature>>4ポート

<<Feature>>8ポート

製品ファミリーの要求分析・検討が容易に行える

10

フィーチャー図とBricRoboによる 簡単プロダクトライン開発

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 11

ドメインはETロボコン走行体

従来はNXT素材の走行体だったが、来年(2015年)から 次世代機のEV3が使用可能予定

NXTとEV3の共通部分の開発工数を削減したい

NXTの資産を有効活用したい

プロダクトライン開発として分析

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

光センサ

マイコン

NXT EV3

モータ

ジャイロセンサ

カラーセンサ

マイコン

モータ

ジャイロセンサ

記載されている製品名などの固有名詞は、各社の商標または登録商標です。

12

プロダクトライン全体を可視化

フィーチャー図で分析や検討し、共通・固有部品を抽出

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

可変性を考慮した柔軟性の高い設計が可能 13

表形式だと製品バリエーションのフィーチャーを管理できる

ツリー形式だと論理的な構造を整理しやすい

製品毎のフィーチャーを選択

フィーチャー図を参考に製品バリエーション(NXT/EV3)のフィーチャーを選択する

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 14

CompositionType

ETROBO

Λ /in

EV3_RIGHT_MOTOR: Mot orBricEV3

Λ /in

Λ /in

EV3_LEFT_MOTOR: Mot orBricEV3

Λ /in

▲/out

EV3_GYRO: GyroSensorBricEV3

▲/out

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

CON: Cont rol ler

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR▲/outTacho

EV3_TACHO_RIGHT: Mot orTachoBricEV3

▲/outTacho

▲/outTacho

EV3_TACHO_LEFT: Mot orTachoBricEV3

▲/outTacho

CompositionType

ETROBO

Λ /in

NXT_LEFT_MOTOR: Mot orBricNXT02

Λ /in

Λ /in

NXT_RIGHT_MOTOR: Mot orBricNXT02

Λ /in

▲/out

NXT_GYRO: GyroSensorBricNXT

▲/out

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

CON: Cont rol ler

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR▲/outTacho

NXT_TACHO_RIGHT: Mot orTachoBricNXT

▲/outTacho

▲/outTacho

NXT_TACHO_LEFT: Mot orTachoBricNXT

▲/outTacho

個別製品モデルの開発

製品バリエーション管理表から個別製品モデル(NXT/EV3)を開発

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

NXT用モデル

EV3用モデル

手作業

手作業

手作業

手作業

手作業

15

EA上でフィーチャー図が描ける

フィーチャー図が他のモデルと混在可

操作性を統一

フィーチャー図からバリエーション管理表を自動生成

相互にデータ連携

バリエーション定義はフィーチャー図・Excelどちらからも可能

新開発のEAアドインによる効率化

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

Enterprise Architect ファイル

UML SysML

フィーチャー図 etc...

ツールにより 相互変換可能

16

抽出ツールによる個別製品モデルの作成

バリエーション管理表(Excel)と全体設計モデルから 個別製品モデルを自在に抽出

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

CompositionType

ETROBO

Λ /in

NXT_LEFT_MOTOR: Mot orBricNXT02

Λ /in

Λ /in

NXT_RIGHT_MOTOR: Mot orBricNXT02

Λ /in

Λ /in

EV3_RIGHT_MOTOR: Mot orBricEV3

Λ /in

Λ /in

EV3_LEFT_MOTOR: Mot orBricEV3

Λ /in

▲/out

NXT_GYRO: GyroSensorBricNXT

▲/out

▲/out

EV3_GYRO: GyroSensorBricEV3

▲/out

▲/outValue

FORWARD: Cons tVa lue

▲/outValue

/outValue

TUIRN: Cons tVa lue

/outValue

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

CON: Cont rol ler

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

▲/outTacho

EV3_TACHO_RIGHT: Mot orTachoBricEV3

▲/outTacho

▲/outTacho

EV3_TACHO_LEFT: Mot orTachoBricEV3

▲/outTacho

▲/outTacho

NXT_TACHO_RIGHT: Mot orTachoBricNXT

▲/outTacho

▲/outTacho

NXT_TACHO_LEFT: Mot orTachoBricNXT

▲/outTacho

CompositionType

ETROBO

Λ /in

NXT_LEFT_MOTOR: Mot orBricNXT02

Λ /in

Λ /in

NXT_RIGHT_MOTOR: Mot orBricNXT02

Λ /in▲/out

NXT_GYRO: GyroSensorBricNXT

▲/out

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

CON: Cont rol ler

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

▲/outTacho

NXT_TACHO_RIGHT: Mot orTachoBricNXT

▲/outTacho

▲/outTacho

NXT_TACHO_LEFT: Mot orTachoBricNXT

▲/outTacho

NXT用モデル

CompositionType

ETROBO

Λ /in

EV3_RIGHT_MOTOR: Mot orBricEV3

Λ /in

Λ /in

EV3_LEFT_MOTOR: Mot orBricEV3

Λ /in

▲/out

EV3_GYRO: GyroSensorBricEV3

▲/out

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

CON: Cont rol ler

▲/outMotorL

▲/outMotorR

Λ /inGyro

Λ /inTachoL

Λ /inTachoR

▲/outTacho

EV3_TACHO_RIGHT: Mot orTachoBricEV3

▲/outTacho

▲/outTacho

EV3_TACHO_LEFT: Mot orTachoBricEV3

▲/outTacho

EV3用モデル

NXTとEV3混合 全体設計モデル

個別製品向けモデル抽出ツール

17

モデル駆動開発ツール BricRobo

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED

CompositionType

<<TopLevel>>SensorNode

<<RunnableEntity>>+ Initialize() :void

<<BricRoboKeyElement>>SendTask :Task

elapse = 1000initTimer = 0

<<BricRoboKeyElement>>SenseTask :Task

elapse = 1initTimer = 0

Λ<<RPortEv>>in

led :Led

Λ<<RPortEv>>in

<<PPortEv>>recv

Λ

<<RPortEv>>senduart :Uart

<<PPortEv>>recv

Λ

<<RPortEv>>send

▲<<PPortEv>>count

in fraredSensor :Ceramic In fraredSensor

▲<<PPortEv>>count

<<BricRoboKeyElem...LedTask :Task

elapse = 100initTimer = 0

Λ<<RPortEv>>in ▲

<<PPortEv>>led

parser :RecvPacketParser

Λ<<RPortEv>>in ▲

<<PPortEv>>led

Λ

<<RPortEv>>count

▲<<PPortEv>>packetOut

Λ

<<RPortEv>>temperature

packetBu i lder :SendPacketBu i lder

Λ

<<RPortEv>>count

▲<<PPortEv>>packetOut

Λ

<<RPortEv>>temperature

▲<<PPortEv>>temperature

temperatureSensor :TemperatureSensor

▲<<PPortEv>>temperature

<<BricRoboKeyElement>>SendTask :Task

uart :UartinfraredSensor:CeramicInfraredSensor

packetBuilder:SendPacketBuilder

temperatureSensor:TemperatureSensor

Run()

Run()

Run()

RunSend()

BricRobo コードジェネレータ

ソース コード

BricRobo 検索

FUJITSU Embedded System BricRobo

UMLと似たモデル図から コード生成するツール

BricRoboモデル

18

最後に

BricRoboの展示ブースでは今回ご紹介したツールのデモを ご覧いただけます

デモカーをドメインとしたフィーチャー図

フィーチャー図からバリエーション管理表(Excel)の自動生成

フィーチャー図とバリエーション管理表(Excel)の相互連携

全体設計モデルから個別製品向けモデルの抽出

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED 19

Copyright 2014 FUJITSU COMPUTER TECHNOLOGIES LIMITED