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