a case tool for robot behavior development

1
A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor Liveness2IAC transformation tool Graphical Statechart Editor ‐ Validation Tool ‐ Link model to local code repository ‐ Source Code Generator Generator ‐ Runs on Windows and Angeliki Topalidou-Kyniazopoulou 1 , Nikolaos I. Spanoudakis 2 and Michail G. Lagoudakis 1 [email protected] [email protected] [email protected] Department of Electronic and Computer Engineering, Technical University of Crete, Greece Department of Sciences, Technical University of Crete, Greece Summary We present KSE (Kouretes StateChart Editor), a CASE (Computer-Aided Software Engineering) tool designed for developing robot behaviors or multi- agent systems by using ASEME’s models and transformations and a source code generator for the Monas robot software architecture. KSE supports: ‐ Automatic generation of the initial abstract statechart model using compact liveness formulas ‐ Graphical editing of the statechart model and its transition expressions ‐ Automatic source code generation for compilation and execution on the robot Agent Systems Engineering Methodology ‐ Applies a Model-Driven Engineering approach ‐ In the Analysis phase we define liveness formulas that describe and connect the activities included in the desired behavior in a formal way, similar to regular expressions ‐ Each liveness formula is a rule decomposing one capability (shown on the left side) into a number of interconnected smaller activities (shown on the right side) ‐ Liveness formulas are transformed to statecharts ‐ In the Design Phase, we define the Intra-Agent Control (IAC) models as statecharts. A statechart is a formal model that describes complex processes and control structures using a directed graph with nodes (states) and edges (transitions). ‐ Each node has a name, type, label and is associated with an activity ‐ Each transition is characterized by an expression e[c]/a (e, c and a are all optional) e, the event triggering the transition c, the condition that needs to be satisfied for the transition to take place when e occurs or the previous KSE Technology Eclipse Rich Client Platform (RCP) Eclipse Modeling Framework (EMF) Graphical Modeling Framework (GMF) ‐ OCL tools ‐ Xpand SDK ‐ Xtext SDK ‐ Deltapack KSE Graphical Interface StateChart Model’s Graphical Representation Transition Connection → directed edge, Node Element → several types: OR → AND → BASIC → CONDITION → START → END → Statechart Example for the Noxious-Kouretes Goalie in Robocup SPL 2011 KSE Empirical Evaluation During a lab session 28 undergraduate ECE students used KSE to design an attacker behavior for Robocup SPL. All of them managed to complete the task and evaluated KSE positively. Very Easy Easy Normal Difficult Very Diffi... 0 10 20 30 40 50 60 70 The Liveness formula was … to edit. The statechart was … to edit. The navigation of the KSE menu was … . The use of KSE was ... in general. The Statechart Metamodel Methodology Liveness Formula Editor #include "TestBehavior.h" #include "transitionHeaders.h" using namespace statechart_engine; namespace {StatechartRegistrar<TestBehavior>::Type temp("TestBehavior");} TestBehavior::TestBehavior(Narukom* com) { _statechart = new Statechart ( "Node_TestBehavior", com ); Statechart* Node_0 = _statechart; _states.push_back( N ode_0 ); StartState* Node_0_1 = new StartState ( "Node_0_1", Node_0 ); //Name:0.1 _states.push_bac k( Node_0_1 ); ... Comparison with Other Tools Auto-Generated Code for the Monas Architecture Results The properties of the selected transition (with orange background in the graph) Use the palett e object s to draw elemen ts in the graph

Upload: argus

Post on 24-Feb-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Angeliki Topalidou-Kyniazopoulou 1 , Nikolaos I. Spanoudakis 2 and Michail G. Lagoudakis 1 [email protected] [email protected] [email protected] 1 Department of Electronic and Computer Engineering, Technical University of Crete, Greece - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A CASE Tool For Robot Behavior Development

A CASE Tool For Robot Behavior Development

The KSE CASE Tool- Liveness Formula Editor, text editor‐ Liveness2IAC transformation tool‐ Graphical Statechart Editor‐ Validation Tool‐ Link model to local code repository‐ Source Code Generator‐ Code Generator Customization‐ Runs on Windows and Linux

Angeliki Topalidou-Kyniazopoulou1, Nikolaos I. Spanoudakis2 and Michail G. Lagoudakis1

[email protected] [email protected] [email protected]

1 Department of Electronic and Computer Engineering, Technical University of Crete, Greece2 Department of Sciences, Technical University of Crete, Greece

SummaryWe present KSE (Kouretes StateChart Editor), a CASE (Computer-Aided Software Engineering) tool designed for developing robot behaviors or multi-agent systems by using ASEME’s models and transformations and a source code generator for the Monas robot software architecture. KSE supports:‐ Automatic generation of the initial abstract statechart model using

compact liveness formulas‐ Graphical editing of the statechart model and its transition expressions‐ Automatic source code generation for compilation and execution on the

robot

Agent Systems Engineering Methodology‐ Applies a Model-Driven Engineering approach ‐ In the Analysis phase we define liveness formulas that describe and connect the activities

included in the desired behavior in a formal way, similar to regular expressions‐ Each liveness formula is a rule decomposing one capability (shown on the left side) into a

number of interconnected smaller activities (shown on the right side)‐ Liveness formulas are transformed to statecharts

‐ In the Design Phase, we define the Intra-Agent Control (IAC) models as statecharts. A statechart is a formal model that describes complex processes and control structures using a directed graph with nodes (states) and edges (transitions). ‐ Each node has a name, type, label and is

associated with an activity‐ Each transition is characterized by an expression

e[c]/a (e, c and a are all optional)‐ e, the event triggering the transition‐ c, the condition that needs to be

satisfied for the transition to take place when e occurs or the previous state activity finishes execution

‐ a, actions executed when the transition is taken

KSE Technology‐ Eclipse Rich Client Platform (RCP)‐ Eclipse Modeling Framework (EMF)‐ Graphical Modeling Framework (GMF)‐ OCL tools‐ Xpand SDK‐ Xtext SDK‐ Deltapack

KSE Graphical Interface

StateChart Model’s Graphical RepresentationTransition Connection → directed edge, Node Element → several types: OR → AND → BASIC → CONDITION →

START → END →

Statechart Example for the Noxious-Kouretes Goalie in Robocup SPL 2011

KSE Empirical EvaluationDuring a lab session 28 undergraduate ECE students used KSE to design an attacker behavior for Robocup SPL. All of them managed to complete the task and evaluated KSE positively.

Very Easy Easy Normal Difficult Very Difficult0

10

20

30

40

50

60

70

The Liveness formula was … to edit.

The statechart was … to edit.

The navigation of the KSE menu was … .

The use of KSE was ... in general.

The Statechart Metamodel

Methodology

Liveness Formula Editor

#include "TestBehavior.h"#include "transitionHeaders.h"

using namespace statechart_engine;

namespace {StatechartRegistrar<TestBehavior>::Type temp("TestBehavior");}

TestBehavior::TestBehavior(Narukom* com) {

_statechart = new Statechart ( "Node_TestBehavior", com );

Statechart* Node_0 = _statechart;

_states.push_back( Node_0 );StartState* Node_0_1 = new StartState ( "Node_0_1", Node_0 ); //Name:0.1

_states.push_back( Node_0_1 );

...

Comparison with Other ToolsAuto-Generated Code for the Monas Architecture

Results

The properties of the selected transition (with orange background in the graph)

Use the palette objects to draw

elements in the graph