狠狠撸

狠狠撸Share a Scribd company logo
計測器の組込みソフトウェア開発への
ZIPC適用事例

2011/10/05
コニカミノルタセンシング株式会社
久保 明

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.
はじめに
本発表が、ソフトウェアエンジニアが幸せに
なることのお役に立てたら嬉しい

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

2
AGENDA
? 計測器組み込みソフトの現状
? ZIPC選定理由
? 実施内容
? 結果
? 今後の計画
? 導入のポイント
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

3
計測器

色の「ものさし」
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

4
計測器組み込みソフトの現状
? 製品寿命が長くメンテナンスが重要
? 大規模化、短納期化
? 仕様変更へ短期間で対応

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

5
ZIPC選定理由
? コード生成能力
? STM設計経験あり
? グループ内での導入実績

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

6
不安点
? 習得時間
? 効果
? 不具合

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

7
習得時間がかかるのでは?
サポートを活用

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

8
効果が出ないのでは?
Small Feedback Cycle

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

9
ツールの不具合があるのでは?
標準的機能を用いる

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

10
実施内容
1. 導入計画
2. 適用
① キー認識
② 画面遷移

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

11
導入計画
? Small Start
–キー認識から
–基本機能

? 工夫点
–イベント、状態に名前付け(名称選択)

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

12
イベント/状態追加時の差
StateC を追加

B=1

EventC
を追加

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

13
番号選択の場合
B=2

処理関数
{
=>遷移先
}

処理関数名称=事象番号+状態番号
遷移先名称=状態番号

追加により以降の状態や事象に変更が生じる
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

14
名称選択の場合
B=B

処理関数
{
=>遷移先
}

処理関数名称=事象名称+状態名称
遷移先名称=状態番号名称

追加により以降の状態や事象に変更が生じない
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

15
キー認識の実施プロセス
機能要求仕様書作成

ZIPC適用部分
STM作成
シミュレーション
テスト デバッグ
実機搭載
テスト

デバッグ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

16
STM作成
? E型通常
? 実機に近い条件
–ポート割り込み
–周期ハンドラ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

17
プログラム構成
ポート割り込み

サンプリング
周期ハンドラ
サンプリング周期

キー

キー
ドライバ

タスク起床
キータスク
キー取得
応答

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

18
シミュレーション

? テストに活用
–バッチファイル
–カバレッジ
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

19
バッチファイル
回帰テストが可能
// ZIPC Batch File Format Ver.5.00
#START
FIG 6
BRC ALL
LGC
RST
BRK TIM 1 01000 #0
BRK TIM 5 20000 #STOP
RUN 0 #STOP
#0
INT "KEYINT"
SME "KeyTask" “Port" "1"
BRC 1
RUN 0 #STOP
#STOP
LGS ".?OK.log"
END

バッチファイルの
イメージ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

20
カバレッジ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

21
課題
? 実機での調整は必要

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

22
画面遷移の実施プロセス
画面遷移図作成

ZIPC適用部分
STM(第1階層)作成
画面遷移表作成
ZIPC適用部分
STM(第2階層)作成

実機搭載
テスト

デバッグ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

23
第1階層(画面遷移図)
オープニング画面

○○画面

メニュー画面

△△画面

××画面

□□画面

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

24
第2階層(画面遷移表)
画面No

画面名称

オープニング画面

1
画面の説明
□□□□□□□□□□□□□□□□□□□□□
□

□

X

X

X

X

X

□

電源投入後最初の画面

□

□ □ □ □ V e r . 1 . 0 0 0 0 0 1 □ □ □ □
□□□□□□□□□□□□□□□□□□□□□
□(c)KONICA □MINOLTA□□□
□□□□□SENSING□INC.□□□□
□□ □ 2 0 1 1 □□ □□ □ □□ □□ □ □□ □ □

キー処理

各キーを押した時の処理の説明

○キー

無効

△キー

無効

×ー

無効

□キー

テスト日

結果

無効

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

25
STM作成
? S型通常
? 階層化
? 開始アクティビティ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

26
S型通常の理由
? 画面遷移は状態の階層が深い
? S型は階層に依存がある

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

27
階層化
等価

理解しやすい
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

28
開始アクティビティ

煩雑化回避
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

29
所感
? STM設計能力重要
? コード生成は、理解しやすい
? シミュレーションは難しい

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

30
結果
? 導入効果
? 解決しなかったこと
? 反省点

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

31
導入効果
? 工数削減
? コードとドキュメントの一致
? シミュレーション環境での検証

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

32
工数削減
計画

実際

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

33
コードとドキュメントの一致
? コードの自動生成が重要
? STMで確認
? ドキュメントメンテナンス不要

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

34
シミュレーション環境での検証
? 回帰テスト
? 実機では難しい信号の再現
解決しなかったこと
? STM設計レベル向上
? GUI仕様書=ZIPC設計書

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

36
反省点
導入
計画
実際

キー

機能使いすぎ
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

37
今後の計画
? 水平展開
? 事前検証
–Garakabu2

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

38
導入のポイント
? 導入を目的にしない
? Small Start
? サポートの活用

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

39
最後にもうひとつ

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

40
Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

41
私たちは、ソフトウェアの作り方を変
えていくタイミングにある

Copyright(c) 2011 KONICA MINOLTA SENSING, INC. All rights reserved.

42

More Related Content

窜颈辫肠カンファレンス20110927