Jadex Projektbericht - science.uu.nl project csg

Download Report

Transcript Jadex Projektbericht - science.uu.nl project csg

Short Comparison of Agent IDEs

Lars Braubach

Page 1 PROMAS TFG Ljubljana 2.3.2005

CASE Tool - IDE - Runtime Env.

Implementation/ Testing/Debugging Analysis/Design Operation CASE Tool (e.g. Rational Rose) Source Code Gen.

based on IDE (e.g. Eclipse) Compilation / Interpretation Runtime Environment (e.g. J2SE) based on based on Modelling Language (e.g. UML) Mapping Programming Language (e.g. Java) Mapping Executable Language (e.g. Bytecode)

Page 2 PROMAS TFG Ljubljana 2.3.2005

CASE Tool - IDE - Runtime Env.

Implementation/ Testing/Debugging Analysis/Design Operation CASE Tool (e.g. Prometheus Design Tool) based on Source Code Gen.

IDE (e.g. JACK IDE) Compilation / Interpretation Runtime Environment (e.g. JACK platform) based on based on Modelling Language (e.g. Prometheus language) Mapping Programming Language (e.g. JAL) Mapping Executable Language (e.g. Bytecode)

Page 3 PROMAS TFG Ljubljana 2.3.2005

Lessons learned from OO-IDEs

Objectives of OO-IDEs:  Address mainstream OO programming languages  Want to support mainstream application developers  Cover mainly the implementation phase  Support development at the programming language level (mostly concentrate on one language)  Make development more effective by automating tasks

Page 4 PROMAS TFG Ljubljana 2.3.2005

Functionality of OO-IDEs

• Target mainly inplementation phase (so they are not meant to support a specific methodology)  Project management (project structure, versioning, team management, file management, …)  Creating/editing (struture views, error detection, auto-completion, code generation, …)  Refactoring (renaming, changing signatures, moving elements, …)  Build/Run(Debug) Process (automatic compiling, direct invocation of methods, …)  Testing (unit testing, code coverage, …) • Sometimes also address design (UML-plugins etc.) and deployment

Page 5 PROMAS TFG Ljubljana 2.3.2005

Agent IDEs (Overview)

• As no generally accepted agent programming language exists, agent frameworks have to support proprietary IDEs • From ~50 agent platforms only ~7 offer IDE support

Page 6 PROMAS TFG Ljubljana 2.3.2005

Example Agent IDEs

Page 7 PROMAS TFG Ljubljana 2.3.2005

Agent IDEs - State-of-the-Art

Some MAS Frameworks with IDE support:

Jack JDE CAFnE SOAR AgentBuilder AgentFactory Language

JAL BDI meta lang. + SOAR +

Project Management

+ RADL AF-APL + +

Living Systems Developer (Eclipse)

? (Java+x) ++ ++ + + + +

Creating / Editing

+

Refactoring

- - - - - -- AO / ++ OO ++ + + + +

Build / Run

+

Testing

- - - - - -- AO / ++ OO Most agent IDEs: • support one platform specific agent language • offer basic support for project management, editing and build/run actions • do not support refactoring and testing

Page 8 PROMAS TFG Ljubljana 2.3.2005

Some Observations for AO IDEs

• try to abstract away from the language and offer graphical means for programming (dialogs, wizards, etc.)  why? are agent languages are not adequate for direct programming?

• try to reinvent the wheel as (mostly) they are not based on existing OO IDEs  what is the reason for this?

• are generally not connected to agent analysis/design tools. A few IDEs (PDT, Living Systems Suite) want to support the whole development process  is this desirable as no consensus exists concerning methodologies?

• are mostly commercial  are these tools a selling argument or a real help?

Page 9 PROMAS TFG Ljubljana 2.3.2005

Summary

• An IDE supports a developer in the implementation phase at the code level • Few agent IDEs are available to date. They provide only (basic) support for project management, creating/editing and building/running activities • Do not cover refactoring, testing at all • Are (mostly) implemented from scratch as commercial solutions

Page 10 PROMAS TFG Ljubljana 2.3.2005