Tool Support

From Methodology Fragment for Analysing Complex MultiAgent Systems in UML -- MaCMAS/UML

Contents

The MaCMAS Tool

The MaCMAS tool consists on developing a Computer Aided Software Engineering (CASE) tool for supporting the MaCMAS models and transformations:

  • Models: Role Models, Parameterized Role Models, Relating Role Models notation, Role plans, Role Models Plans, Evolution plans, Traceability Models, Features Models, Resource Dependency Models, and Ontologies/Class Diagrams.
  • Transformations: Decomposition/Composition of Models, Abstraction/Refinement of models and mapping between acquaintance organization and structural organization.

The tool is built as a plugin of the ArgoUML CASE tool. ArgoUML is an open source UML modelling tool that includes support for all standard UML 1.4 diagrams. See the following link for more details: ArgoUML features

Since MaCMAS proposes an extension of UML 2.1 models, we extend the UML 1.4 metamodel provided by ArgoUML using an UML profile. In this way, we are working with new stereotypes and tagged values to meet MaCMAS requirements and we provide support for the MaCMAS graphical notation.

We will release the first version of the tool in mid April 2007.

Subprojects

In addition to previous project, there are several sub-projects running to extend our base implementation.

MAS-PL

We are integrating feature models and automated analysis of features models in order to support the modelling and developing of MAS-PL using the techniques and tool support described in one of the FAMA papers.

This is being done by extending Traceability Diagrams as it is shown in our paper "Building the core architecture of a multiagent system product line: With an example from a future NASA mission"

Model Driven Development

This subproject is in charge of providing support for MaCMAS transformations using MDA/MDD. The MaCMAS plugin uses the EOL ArgoUML plugin to provide automatic transformation of models.

There are two main lines of action:

Model Composition/Decomposition

It is devoted to provide support for automatic composition and decomposition of models. This subproject is being developed by

Name: Christian López Espínola

Degree: Graduate Computer Engineering Student

E-mail: penyaskito (at) gmail.com

Model Refinement/Abstraction

The main goal of this subproject is to perform automatic refinements of models. The model refinement process creates a new model from another (both representing the same concept) but, in a different abstraction level, it plays a key role in the Model Driven Development. The transformation implemented are: Decoupling at Dependency Level, Decoupling by Resource Grouping, Splitting, Participant Elimination.

See some demos of the tool support for refinements.

This project is being developed by

Name: Luis Velasco

Degree: Graduate Computer Engineering Student

Phone: +34 665 84 96 14

E-mail: luis.velasco (at) gmail.com

Implementation Framework for Autonomic Systems

In general terms, this subproject consists of a framework for simulation the asteroid belt exploration, that is, a software tool that allow us to programme a cluster of spacecrafts with a common objective: “to explorer the universe”.

Essentially, the project is inspired by NASA Future Missions: ANTS (Autonomic NanoTechnology Swarm). According to these generic missions, a huge “swarm” of autonomous components (approximately 1,000 spacecrafts) will be launched from a factory ship and distributed/organized as a colony of insects. This “swarm” behavior is based on the success of social insect colonies, a success derived from the division of labour within the colony where their components work individually (specialists) or preferably in group (multi-level organization). These components are autonomous, reconfigurable, addressable… and have other characteristics like reactivity, proactivity or social ability. Therefore, in the context of this framework, a spaceship will be equivalent to Agent concept. Indeed, this project is intimately related with Multiagent Systems Product Lines (MAS-PL) and Autonomic Computing

Image:asteroidMission.gif

The subproject (nowadays under construction) uses a broad range of technologies and software concepts that go from Web Services to Enterprise Service Bus (ESB), as well as Java 3D game engines or Business Process Engines (BPEL). Basically, these play the following role in the Framework for Autonomic System:

- JAVA 3D GAME ENGINE: The framework uses and extends an open source graphics engine, jMonkey (or also called JME), as a platform for rendering the spacecrafts. This engine was selected for its open and extensible code base, active supportive development community, and built-in physics functionality. For more information, see [1].

- WEB SERVICES: Web services are used to specify the interfaces of Software Agents, that is, the functionality that a spacecraft offers.

- BUSINESS PROCESS ENGINE: Considering the Business Process Execution Language BPEL, we will specify business process behaviour based on webs services. Consequently, BPEL will coordinate the execution of the spacecrafts whose functionality is described by web services.

- ENTERPRISE SERVICE BUS (ESB): To enable remote communication between agents (spacecrafts), this framework use MULE, an open source enterprise service bus that can seamlessly handle interactions with services and applications using disparate transport and messaging technologies.

This project is being developed by

Name: Santiago Rodríguez Escarraza

Position: Graduate Computer Engineering Student

Degree: Student in Computer Engineering

Phone: +34 65 736 87 34

E-mail: sanrodesc (at) gmail.com

Web: Website under construction (Sorry for the annoyances)

Old developers

You can find here the people that has participated in the development of the CASE tool:

First developers of the project

This are the people that started the project.

Name: Francisco González

Position: Programmer Analyst

Degree: Graduate in Computer Engineering

Name: Agustín Marín

Position: Programmer Analyst

Degree: Computer Engineering

Phone: +34 615 24 88 31

E-mail: agustinmarinortega (at) yahoo.es