Presentation is loading. Please wait.

Presentation is loading. Please wait.

A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart.

Similar presentations


Presentation on theme: "A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart."— Presentation transcript:

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 ‐ Code Generator Customization ‐ Runs on Windows and Linux 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-Kyniazopoulou 1, Nikolaos I. Spanoudakis 2 and Michail G. Lagoudakis 1 atopalidou@isc.tuc.gr nikos@science.tuc.gr lagoudakis@intelligence.tuc.gratopalidou@isc.tuc.grnikos@science.tuc.grlagoudakis@intelligence.tuc.gr 1 Department of Electronic and Computer Engineering, Technical University of Crete, Greece 2 Department of Sciences, Technical University of Crete, Greece Angeliki Topalidou-Kyniazopoulou 1, Nikolaos I. Spanoudakis 2 and Michail G. Lagoudakis 1 atopalidou@isc.tuc.gr nikos@science.tuc.gr lagoudakis@intelligence.tuc.gratopalidou@isc.tuc.grnikos@science.tuc.grlagoudakis@intelligence.tuc.gr 1 Department of Electronic and Computer Engineering, Technical University of Crete, Greece 2 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 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 state activity finishes execution ‐a, actions executed when the transition is taken 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 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. The Statechart Metamodel Methodology Liveness Formula Editor #include "TestBehavior.h" #include "transitionHeaders.h" using namespace statechart_engine; namespace {StatechartRegistrar ::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 Tools Auto-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


Download ppt "A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart."

Similar presentations


Ads by Google