1 / 1

A CASE Tool For Robot Behavior Development

Angeliki Topalidou-Kyniazopoulou 1 , Nikolaos I. Spanoudakis 2 and Michail G. Lagoudakis 1 atopalidou@isc.tuc.gr nikos@science.tuc.gr lagoudakis@intelligence.tuc.gr 1 Department of Electronic and Computer Engineering, Technical University of Crete, Greece

argus
Download Presentation

A CASE Tool For Robot Behavior Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Angeliki Topalidou-Kyniazopoulou1, Nikolaos I. Spanoudakis2 and Michail G. Lagoudakis1 atopalidou@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 usingASEME’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 thatdescribe 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 expressione[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 Methodology The Statechart Metamodel A CASE Tool For Robot Behavior Development KSE Graphical Interface Use the palette objects to draw elements in the graph • KSE Technology • Eclipse Rich Client Platform (RCP) • Eclipse Modeling Framework (EMF) • Graphical Modeling Framework (GMF) • OCL tools • Xpand SDK • Xtext SDK • Deltapack 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 StateChartModel’s Graphical Representation Transition Connection → directed edge, Node Element → several types: OR → AND → BASIC → CONDITION → START → END → The properties of the selected transition (with orange background in the graph) Liveness Formula Editor Results Comparison with Other Tools Auto-Generated Code for the MonasArchitecture Statechart Example for the Noxious-Kouretes Goalie in RobocupSPL 2011 #include "TestBehavior.h" #include "transitionHeaders.h" usingnamespacestatechart_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 ); ... KSE Empirical Evaluation During a lab session 28 undergraduate ECE students used KSEto design an attacker behavior for Robocup SPL. All of them managed to complete the task and evaluated KSE positively.

More Related