Products
Academic activities 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, ordered alphabetically.
#alchemist() | Arg2P | ALOO | #cartago() | #hm() | #mok() | MS-BioNET | P@J | ReSpecT | simpA | simpAL | SODA | TuCSoN | tuProlog
#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() Home |
Arg2P
![]() | Arg2P (short for Arg–tuProlog) is a logic-based agreement framework enabling defeasible reasoning in intelligent systems Space: Arg2P Home |
ALOO
![]() | ALOO is a general-purpose concurrent programming language based on objects and agents as first-class abstractions. It is a Concurrent OOP language where concurrency aspects (parallelisms, asynchronous programming, etc) are modeled in terms of agent-oriented abstractions. Or, it can be conceived as an Agent-Oriented Programming language not based on logic programming - like state-of-the-art AOP languages - but on OOP. The language comes with a platform (compiler, runtime) and an Eclipse-based IDE. Space: ALOO Home |
#cartago()
#cartago() is an infrastructure for the development and execution of artifact-based computational environments for Multi-Agent Systems.
#cartago() is based on the #aea() (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() Home
Contact: Alessandro Ricci
#hm()
![]() | #hm() is a prototype agent-based platform for the construction of Socio-Technical Smart Spaces and Smart Environments, starting from the control of an intelligent home to a wider Smart Living scenario, where home users are situated in space and time in the surrounding environment. Space: #hm() Home |
#moklong()
![]() | #moklong() (#mok() for short) is a model for knowledge self-organisation, exploiting the biochemical metaphor for its basic abstractions, and biochemical coordination as its coordination model. Space: #mok() Home |
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 Home
Contact: 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.
Space: P@J
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:
Space: #respect() Home |
#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 #aea() (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 |
simpAL
simpAL is a general-purpose programming language and platform for developing concurrent and distributed applications. simpAL is based on the #aea() (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. Unlike #simpa(), simpAL is not a Java extension, but a fully independent language and platform.
Space: simpAL Home
Contact: Alessandro Ricci
#soda()
![]() | #soda() (Societies in Open and Distributed Agent spaces) is a methodology for the analysis and design of complex agent-based systems. #soda() is not concerned with intra-agent issues: designing a multi-agent system with #soda() leads to defining agents in terms of their required observable behaviour and their role in the multi-agent system. Space: #soda() Home |
#traumatracker()
![]() | Developed in collaboration with the Trauma Center and the Emergency Department of the "Bufalini" Hospital in Cesena, Italy, #traumatracker() is a project in which agent technologies are exploited to realise Personal Medical Digital Assistant Agents (PMDA) supporting a Trauma Team in trauma management operations. This project aims at exploring the fruitful integration of software personal agents with wearable/eyewear computing, based on mobile and wearable devices such as smart-glasses. The key functionality of #traumatracker() is to keep track of relevant events occurring during the management of a trauma, for two basic purposes. The first one is about tracking, i.e. to have an accurate documentation of the trauma, to automate the creation (and management) of reports and to enable offlne data analysis. The second one is a first kind of assistance, in terms of the real-time generation of warnings and suggestions to be perceived through the smartglasses, by analysing and reasoning upon the tracked events and data. The system has been designed and developed using cognitive agent technologies based on the Belief-Desire-Intention (BDI) architecture, as supported by the JaCaMo agent platform. Space: #traumatracker() Home |
#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. 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. Space: TuCSoN Home |
#tuprolog()
![]() | #tuprolog() is a Java-based light-weight Prolog for Internet applications and infrastructures. For this purpose, #tuprolog() is designed to feature some interesting qualities: it is easily deployable, just requiring the presence of a Java VM and an invocation upon a single JAR file; its core is both minimal, taking the form of a tiny Java object containing only the most essential properties of a Prolog engine, and configurable, thanks to the loading and unloading of predicates, functors and operators embedded in libraries; the integration between Prolog and Java is as wide, deep, clean as possible; finally, interoperability is developed along the two main lines of Internet standard patterns and coordination models. Space: tuProlog Home |