APICe Products
Research activities in the APICe lab often result in products that can be shared and freely used, consisting mainly of software technologies — programming languages and frameworks, software infrastructures — but also including methodologies for the engineering of complex computational systems. Below, the current list of products actively supported — mainly by the members of the aliCE research group — along with contact details and the corresponding web spaces — whenever available. The list is ordered alphabetically.Alchemist
Alchemist is a simulation framework offering both high performance and flexibility. Alchemist tries to get the best from ABMs and stochastic simulators and build an hybrid. Space: Alchemist HomeContact: Danilo Pianini
CArtAgO
CArtAgO is an infrastructure for the development and execution of artifact-based computational environments for Multi-Agent Systems. CArtAgO is based on the A&A (Agents and Artifacts) meta-model model, which introduces the artifact abstraction as a first-class building block to model and engineer those objects, resources, tools, that can be dynamically constructed, shared and co-used by agents to perform their activities, both individual and social. Space: CArtAgO HomeContact: Alessandro Ricci
Molecules of Knowledge

Contact: Stefano Mariani
MS-BioNET
MS-BioNet (MultiScale-Biochemical NETwork) is a computational framework for modelling and simulating large networks of compartments hosting a chemical solution and communicating through an enhanced model of chemical reaction addressing molecule transfer. Space: MS-BioNET HomeContact: Sara Montagna
P@J
P@J is a framework for enhancing interoperability between Java and Prolog, based on the tuProlog open-source Prolog engine for Java. P@J achieves smoother language interoperability through two stacked layers:- an API layer for automated mapping of Java types into Prolog types (and viceversa) and seamless exploitation of the Generic Collections Framework;
- an annotation layer, that aims at truly extending Java programming with the ability of specifying Prolog-based declarative implementations of Java methods, relying on Java annotations.
Contact: Mirko Viroli
ReSpecT

ReSpecT is a logic-based coordination language both to define the behaviour of tuple centres and to coordinate software agents.
ReSpecT assumes a tuple-based coordination model, where communication is based on logic tuples, and the behaviour of the coordination media in response to communication events is not fixed once and for all by the coordination model, but can be defined and tailored according to system's global requirements. According to this conceptual framework, ReSpecT has a twofold role:
- as a specification language - ReSpecT makes it possible to filter communication events and associate them to reactions by means of first-order logic tuples.
- as a reaction language - ReSpecT supports the notion of reaction as a computational activity to be executed locally to a tuple centre in response to communication events, by providing for both a logic-based syntax for the definition of reactions, and a model for their execution.
Contact: Stefano Mariani
simpA

simpA is a framework extending the basic Java environment with an agent-oriented abstraction layer for programming complex (concurrent in particular) applications.
simpA is based on the A&A (Agents and Artifacts) programming model, which introduces high-level metaphors taken from human society, namely agents - analogous to humans, as executors of activities and activities — and artifacts — analogous of the objects, resources, tools that are dynamically constructed, used, manipulated by humans to support / realise their individual and social activities. Space: simpA Home
Contact: Alessandro Ricci
simpAL
simpAL is a general-purpose programming language and platform for developing concurrent and distributed applications. simpAL is based on the A&A (Agents and Artifacts) programming model, which introduces high-level metaphors taken from human society, namely agents — analogous to humans, as executors of activities and activities — and artifacts — analogous of the objects, resources, tools that are dynamically constructed, used, manipulated by humans to support / realise their individual and social activities. Differently from simpA, simpAL is not a Java extension, but a fully independent language and platform. Space: simpAL HomeContact: Alessandro Ricci
SODA

Contact: Ambra Molesini
TuCSoN
TuCSoN (Tuple Centres over the Network) is a model (and related infrastructure and technology) for the coordination of Internet agents.
TuCSoN exploits a notion of local tuple-based interaction space, called tuple centre, which is a tuple space enhanced with the notion of behaviour specification.
By programming its behaviour in response to communication events, a tuple centre can embody coordination laws.
Several issues critical to Internet applications, such as heterogeneity and dynamicity of the Internet nodes, can then be charged upon tuple centres, and transparently to agents, which can then be designed independently of the different node architectures, according to a straightforward interaction protocol.
The TuCSoN coordination language provides agents with a twofold perception of the TuCSoN interaction space, as either as a global space made up of uniquely denoted coordination media, or a collection of local spaces associated to Internet nodes.
This suits both roles of Internet agents, that is, as either network-aware entities or (network-unaware) local agents.
Space: TuCSoN Home

Contact: Stefano Mariani
tuProlog

Contact: Enrico Denti