Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah...

32
Using SysML and Assurance Case in a Robotic Application: Case Study & Tool Demonstration Kenji Hiranabe CEO, Change Vision, Inc

Transcript of Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah...

Page 1: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Using SysML and Assurance Case

in a Robotic Application:

Case Study & Tool Demonstration

Kenji Hiranabe

CEO, Change Vision, Inc

Page 2: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Agenda

• Introduction

• Background and Goals

• SysML + RTC(Robotics Technology Component)

• Demo

• SysML + Assurance Case

• Conclusion

Page 3: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Noriaki Ando

Kenji Hiranabe Toshiki Iwanaga

Makoto Sekiya Toyotaka Torii

Geoffrey Biggs

1400-1425

Robotics Technology Component Specification

Honda R&D Team

1425-1425

Finite State Machine for Robotics Technology

Component(FSM4RTC) RFP

1620-1645

Using SysML and Assurance Case

in a Robotic Application:

Case Study & Tool Demonstration

Robotics in today’s Component

Workshop

Page 4: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

OMG RTC Family

4

Name Vendor Feature

OpenRTM-aist AIST C++, Python, Java

OpenRTM.NET SEC .NET(C#,VB,C++/CLI, F#, etc..)

miniRTC, microRTC SEC RTC implementation for CAN・ZigBee based systems

Dependable RTM SEC/AIST Functional safety standard (IEC61508) capable RTM

implementation

RTC CANOpen SIT, CiA Standard for RTC mapping to CANOpen by CiA (Can in

automation) and implementation by SIT

PALRO Fuji Soft C++ PSM implementation for small humanoid robot

OPRoS ETRI Developed by Korean national project

GostaiRTC GOSTAI, THALES C++ PSM implementation on URBI

Honda R&D RTM Honda R&D C++, Python. FSM Component.

Page 5: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

• Kenji Hiranabe, Change Vision, Inc.(maker of Astah)

• Astah is a UML editor popular in Japan

– http://astah.net/

• Astah/SysML

– Newly developed

– Focused on “Usability”

• RTC(Robotic Technology Component) plug-in

– Plug-in for Astah/SysML to generate RTC.xml to

OpenRTM

Who am I ?

Page 6: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Background and Goals

• SysML + RTCEvaluate how SysML can help design a

component-based robotic application using a

simple sample problem.

• SysML + Assurance CaseTry an effective usage of Assurance Case with

the above SysML-based component model.

Page 7: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

�Demonstrate the movements

(Spiral and Back-and-Forth) by

controlling multiple autonomous

robots from externally. Operator

can switch between the

autonomous mode and

demonstration mode.

�Hardware architecture is

already known, we use Roomba

with PC that can control it using

Wi-Fi and use Kinect to switch

the mode.

Problem Description

kinect

OperatorController PC

Receiver PC

Roomba

Wi-Fi

Page 8: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

SysML +

RTC(Robotic Technology Component)

Page 9: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

System architecture

RoombaRoomba

Receiver PC for OpenRTMReceiver PC for OpenRTM

OpenRTM RuntimeOpenRTM Runtime

Robot RTC (OpenRTM-aist)Robot RTC (OpenRTM-aist)

libRoombalibRoomba

Roomba SCI (Serial Control Interface)Roomba SCI (Serial Control Interface)

Receiver PC for another RTMReceiver PC for another RTM

Another RTM RuntimeAnother RTM Runtime

Robot RTCRobot RTC

libRoombalibRoomba

RoombaRoomba

Roomba SCI (Serial Control Interface)Roomba SCI (Serial Control Interface)

Controller PCController PC

KinectKinect

Kinect SDKKinect SDK

OpenRTM RuntimeOpenRTM Runtime

Kinect input RTC (OpenRTM-aist)Kinect input RTC (OpenRTM-aist)

Another RTM RuntimeAnother RTM Runtime

Controller RTCController RTC

RTC connector Serial Bus (USB/RS232C)Software I/F

Page 10: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

AnalysisAnalysis DesignDesign

ImplementationImplementationastah SysMLastah SysML

ImplementationImplementation

Process overview

RTC PluginRTC Plugin

Component

spec.

Component

spec.

RTC.xmlRTC.xml

RTS.xmlRTS.xml

SysML

requirements

SysML

requirements

SysML

Requirements

SysML

Requirements

SysML

Use cases

SysML

Use cases

SysML

Use cases

SysML

Use cases

another RTManother RTM

OpenRTM-aistOpenRTM-aistSysML

Component

(block)

SysML

Component

(block)↑↑↑↑↑↑↑↑↑↑↑↑

SysML

Components

(Block)

SysML

Components

(Block)←←←←←←←←←←←←

RTC source

codes

(Skelton )

RTC source

codes

(Skelton )

Executable RTCExecutable RTC

RTC source

codes

(Skelton )

RTC source

codes

(Skelton )

SysML

requirements

SysML

requirements

SysML

Context

(Block)

SysML

Context

(Block)

FSMFSM

astah RTM

SysML

STMs

SysML

STMs

Executable RTCExecutable RTC

RTCBuilder

RTSystemEditor

SysML

Component

(block)

SysML

Component

(block)

RTCsRTCs

SysML

Component

(block)

SysML

Component

(block)

RTCsRTCsFSMFSMRTC FSMsRTC FSMs

Restore connectors

Page 11: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Analysis and Design

Diagrams in Astah /

SysML(Demo)

Page 12: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Overview

Page 13: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

req [Core requirements]

Page 14: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

req [Derived Requirements]

Page 15: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

req [Robot requirements]

Page 16: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

req [Controller requirements]

Page 17: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

uc [Use cases]

Page 18: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

bdd [Context diagram]

Page 19: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

bdd [System overview]

Page 20: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

ibd [Demo system components]

Page 21: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

ibd [Physical structure of robot]

Page 22: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

ibd [Physical structure of controller]

Page 23: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

stm [State machine of controller]

Page 24: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Conclusion(SysML + RTC)

• SysML “Block”s map to “RTC”s nicely.

• <<Satisfy>> relationships between “Requirements” and “Components” can be visualized to show the intentions of components reasonably.

• An Easy-to-use tool(Astah/SysML) boosted effectiveness of modeling.

• Communication between teams worked well using web-based model sharing feature of the tool.

Page 25: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

SysML +

Assurance Case

The following pages are from

the 2013 joint research result of

Page 26: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Assurance Case + SysML

• Try to find an effective combination of SysMLand Assurance Case

Assurance CaseAssurance Case SysMLSysML

Goal, Sub-Goal, Context, Strategy, Evidence Requirement, block, behavior, usecase

Page 27: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Stakeholders(SysML) and

Context(Assurance Case)

Stakeholders expressed as

actors in use case model.

Stakeholders expressed as

Context to the top goal.

Page 28: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Requirement(SysML) and

Goal(Assuance Case)

1

2

3

Functional and non-functional requirements

Expressed as context to a goal.

Requirement diagram

Requirement table

Page 29: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Goal-Context(Assurance Case) and

Requirement-Block(SysML)

<<block>>

Roomba

<<requirement>>

text = 8の字走行を行えること。

Id = CR002

Spiral drive

<<satisfy>>

Traceability from/to Goal-Context-Requirement-Block

Page 30: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Domain Model(SysML) and

Context(Assuance Case)

System Context expressed as

Domain model(block diagram)

Context to the top level goal

Page 31: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

Conclusion

• SysML expresses a system’s design view whereas Assurance Case expresses a system’s discussion/explanation view to make a case.

• They can be used together to;

– Show a AC-context as a SysML-model

– Make traceability between cases and designs

• A tool which can draw both and set relationship between them will be useful.

Page 32: Using SysMLand Assurance Case in a Robotic Application ... · Analysis Design Implementation astah SysML Implementation Process overview RTC PluginRTC Plugin Component spec. Component

• Visit us at the Exhibition during this OMG Meeting

• Visit us at http://astah.net for free evaluation of the tool.