This document discusses promoting space-aware coordination using ReSpecT as a spatial computing virtual machine. It motivates the need for software systems to be situated in space. ReSpecT is introduced as a coordination language that can be extended with spatial constructs to support spatial computing requirements. The document proposes extensions to ReSpecT called stReSpecT that add spatial awareness by allowing reactions to be triggered by spatial events and including spatial guards. It argues stReSpecT satisfies requirements for measuring, manipulating and computing on space. A benchmark program called the "T-Program" is described that requires these capabilities. The document outlines how stReSpecT could implement parts of the T-Program to set up a local coordinate system and arrange nodes
HPCC Systems Engineering Summit Presentation - Leveraging HPCC Systems with V...HPCC Systems
Presenter: Vincent W. Freeh, associate professor of computer science, North Carolina State University
The Virtual Computing Lab (VCL) is an open-source, cloud-computing platform developed at North Carolina State University. It is a top-level Apache project and deployed throughout the world. This talk discusses porting HPCC to VCL, as well as course integration.
NOTE: The video of this presentation is the first one shown in the embedded YouTube link
Shaneece Davis conducted her research on 'Increasing Active Learning Among Students: NCCU's Introduction of Virtual Computing Lab to Grades K-12' as part of the 9th annual BDPA IT Showcase held August 4-5, 2011 in Chicago IL. In today's classrooms there are sometimes problems related to teaching students and how they retain information. Incorporating active learning into courses is a solution that would involve students in the learning process will help them to retain, recall and use information in an effective way. High School students in Durham, NC participated in a pilot program that introduced them to Virtual Computing Lab (VCL) in an effort to increase active learning. The pilot program results show that students engage in active learning when given the resources to do so.
This is her 10-page research paper.
Shaneece has recently graduated cum laude with a Bachelors of Science degree in Computer Information Systems (CIS) from North Carolina Central University (NCCU). she attended NCCU for a total of three years and has been an active student, serving as the Secretary and Chair of Events Committee for the CIS Club and by being a member of the Senior Class Council on her campus. She received several awards while a student at NCCU, including two awards for Excellent Academic Achievement and the Courtney S. Ferguson Awards for upholding the ideals of the CIS discipline.
Shaneece is now attending the Unviersity of Maryland for its Masters of Information Management Program. She is truly excited about her journey of education.
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Roberto Casadei
Large-scale and fully distributed cyber-physical sys-
tems (CPS), such as swarm robotics or IoT systems, pose
significant challenges for programming and design. These chal-
lenges include promoting the desired (emergent) collective and
self-organising behaviour, dealing with failures, enacting decen-
tralised coordination, and deploying efficient executions. Aggre-
gate computing is a promising approach that aims to simplify
the design of such systems by providing a high-level abstraction
for describing collective and self-organising behaviours. In this
tutorial, we introduce a toolchain that supports the development
of aggregate computing applications, based on ScaFi (a Scala-
based language and toolkit for aggregate computing) and Al-
chemist (a simulator for CPS scenarios). We will showcase the
toolchain by means of a series of examples, ranging from simple
collective behaviours to more complex self-adaptive and self-
organising ones. Finally, we provide several pointers to research
opportunities (e.g., related to learning collective behaviours
and adaptive large-scale deployments) and applications (e.g., in
swarm robotics, edge-cloud ecosystems, and more).
Tuple-Based Coordination in Large-Scale Situated SystemsRoberto Casadei
Space and time are key elements for many computer-based systems and often elevated to first-class abstractions. In tuple-based coordination, Linda primitives have been independently extended with space (with tuples and queries spanning spatial regions) or time information (mostly for tuple scoping). However, recent works in collective adaptive systems and aggregate computing show that space and time can naturally be considered as two intertwined facets of a common coordination abstraction for situated distributed systems. Accordingly, we introduce the Spatiotemporal Tuples model, a natural adaptation of Linda model for physically deployed large-scale networks. Unlike prior research, spatiotemporal properties – expressing where and when a tuple should range and has to be deposited/retrieved – naturally turn into specifications of collective adaptive processes, to be carried on in cooperation by the devices filling the computational environment, and sustaining tuple operations in a resilient way, possibly even in mobile and faulty environments. Additionally, the model promotes decentralised implementations where tuples actually reside where they are issued, which is good for supporting peer-to-peer and mobile ad-hoc networks as well as privacy. In this paper, we (i) present and formalise the Spatiotemporal Tuples model, based on the unifying notion of computational space-time structure, (ii) provide an implementation in the ScaFi aggregate computing framework, turning tuple operations into aggregate processes, and finally (iii) provide evaluation through simulation and a rescue case study.
On Execution Platforms for Large-Scale Aggregate ComputingRoberto Casadei
Aggregate computing is proposed as a computational model and associated toolchain to engineer adaptive large-scale situated systems, including IoT and wearable computing systems. Though originated in the context of WSN-like (peer-to-peer and fully distributed) systems, we argue it is a model that can transparently fit a variety of execution platforms (decentralised, server-mediated, cloud/fog-oriented), due to its ability of declaratively designing systems by global-level abstractions: it opens the possibility of intrinsically supporting forms of load balancing, elasticity and toleration of medium- and long-term changes of computational infrastructures. To ground the discussion, we present ongoing work in the context of scafi, a language and platform support for computational fields based on the Scala programming language and Akka actor framework.
Practical Aggregate Programming with Protelis @ SASO2017Danilo Pianini
Collective adaptive systems are an emerging class of networked and situated computational systems with a wide range of applications, such as in the Internet of Things, wireless sensor networks, and smart cities.
Engineering such systems poses a number of challenges, and in particular many approaches, based upon designing the machine-to-machine interaction directly, suffer from a local-to-global abstraction problem.
In this tutorial, we introduce the aggregate computing approach, rooted in the field calculus and practically available through the Protelis programming language, as a means to build collective, situated adaptive systems.
The approach focuses on programming the overall aggregate behaviour, making use of a ``resilience API,'' while leaving to these libraries and the language machinery the responsibility of mapping this to the behavior of individual devices.
This tutorial was first presented at the 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2017) in Tucson, AZ, USA.
Computational Fields meet Augmented Reality: Perspectives and ChallengesDanilo Pianini
Recently, two different techniques emerged that are tailored to environments pervaded of computational devices. On the one hand, aggregate programming, and especially computational fields-based programming, is a promising abstraction for coordinating the activities of multiple situated devices. On the other hand, augmented reality is emerging as new means of interaction with both software and physical entities. We note that both computational fields and augmented reality are tightly bound to the physical world, and that they both enrich it, with collective computation and augmented information respectively. This work presents an initial analysis of possible future research directions that involve these techniques, discussing some possible ways of integrating them.
Space-aware Coordination in RespecTAndrea Omicini
Spatial issues are essential in new classes of complex software systems, such as pervasive, multi-agent, and self-organising ones. Understanding the basic mechanisms of spatial coordination is a fundamental issue for coordination models and languages in order to deal with such systems, governing situated interaction in the spatio-temporal fabric. Along this line, in this talk we make space-aware coordination media out of ReSpecT tuple centres, by introducing the few basic mechanisms and constructs that enable the ReSpecT language to face most of the main challenges of spatial coordination in complex software systems.
[Talk @ WOA 2013]
Recent works in the context of large-scale adaptive systems, such as those for the Internet of Things (IoT) scenario, promote aggregate programming [3], a development approach for distributed systems in which one programs the aggregate of computational devices instead of individual ones. This makes the resulting behaviour highly insensitive to network size, density, and topology, and as such, intrinsically robust to failures and changes to working conditions (e.g., location of computational load, communication technology, and computational infrastructure).
In this paper we are concerned with how this approach can impact mainstream software development, and hence outline a Scala-based support of aggregate programming, leveraging Scala advanced type system, DSL support, and actors mechanisms.
A Framework to Specify and Verify Computational Fields for Pervasive Computin...Danilo Pianini
Pervasive context-aware computing networks call for designing algorithms for information propagation and reconfiguration that promote self-adaptation, namely, which can guarantee – at least to a probabilistic extent – certain reliability and robustness properties in spite of unpredicted changes and conditions. The possibility of formally analyzing their properties is obviously an essential engineering requirement, calling for general-purpose models and tools. As proposed in recent works, several such algorithms can be modeled by the notion of computational field: a dynamically evolving spatial data structure mapping every node of the network to a data value. Based on this idea, as a contribution toward formally verifying properties of pervasive computing systems, in this article we propose a specification language to model computational fields, and a framework based on PRISM stochastic model checker explicitly targeted at supporting temporal property verification. By a number of pervasive computing examples, we show that the proposed approach can be effectively used for quantitative analysis of systems running on networks composed of hundreds of nodes.
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTRoberto Casadei
On the way to the materialisation of the pervasive computing vision, the technological progress swelling from mobile computing and the Internet of Things (IoT) domain is already rich of missed opportunities. Firstly, coordinating large numbers of heterogeneous situated entities to achieve system-level goals in a resilient and self-adaptive way is complex and requires novel approaches to be seamlessly injected into mainstream distributed computing models. Secondly, achieving effective exploitation of computer resources is difficult, due to operational constraints resulting from current paradigms and uncomprehensive software infrastructures which hinder flexibility, adaptation, and smooth coordination of computational tasks execution. Indeed, building dynamic, context-oriented applications in small- or large-scale IoT with traditional abstractions is hard: even harder is to achieve opportunistic, QoS- and QoE-driven application task management across available hardware and networking infras- tructure. In this insight paper, we analyse by the collective adap- tation perspective the key directions of the impelling paradigm shift urged by forthcoming large-scale IoT scenarios. Specifically, we consider how collective abstractions and platforms can syner- gistically assist in such a transformation, by better capturing and enacting a notion of “collective service” as well as the dynamic, opportunistic, and context-driven traits of space-time-situated computations.
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...Andrea Omicini
The next generation of computational systems is going to mix up pervasive scenarios with cloud computing, with both intelligent and non-intelligent agents working as the reference component abstractions. A uniform set of MAS abstractions expressive enough to deal with both embodied and disembodied computation is required, in particular when dealing with the complexity of interaction. Along this line, in this paper we define an event-driven coordination architecture, along with a coherent event model, and test it upon the TuCSoN model and technology for MAS coordination.
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
The opportunities and challenges of recent and
forthcoming distributed computing scenarios have been promot-
ing research on languages and paradigms aimed at modelling the
macro/collective behaviour of systems as well as mechanisms to
endow them with self-* capabilities. One example is the aggregate
computing paradigm, which supports the development of self-
organising systems (e.g., robot swarms, computational ecosys-
tems, and crowd-based services) through various formalisms and
tools developed over a decade. However, very limited work has
been done by a methodological and automation perspective. In
this paper, we explore the issue of organising the development
process of aggregate computing systems. Accordingly, we outline
novel research directions that arise from careful analysis of
the peculiar issues in collective and self-organising systems, the
cornerstones of effective software engineering practices, and
recent scientific trends and insights.
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Roberto Casadei
Coordination is a fundamental problem in the
engineering of collective adaptive systems (CAS). Prominent
approaches in this context promote adaptivity and collective
behaviour by founding coordination on local, decentralised in-
teraction. This is usually enabled through abstractions such as
collective interfaces, neighbour-based interaction, and attribute-
based communication. Application designers, then, use such
coordination mechanisms to enact collective adaptive behaviour
in order to solve specific problems or provide specific services
while coping with dynamic environments. In this paper, we
consider the other way round: we argue that a CAS model can
be used to provide support for high-level coordination models,
simplifying their implementation and transferring to them the
self-* properties it emergently fosters. As a motivating example,
we consider the idea of supporting tuple-based coordination by
Linda primitives such that tuples and operations have a position
and extension in space and time. Then, we adopt an aggregate
perspective, by which space-time is logically represented by a
mobile ad-hoc network of devices, and show that coordination
primitives can be implemented as true collective adaptive pro-
cesses. We describe this model and a prototype implementation
in the ScaFi aggregate programming framework, which is rooted
in the so-called computational field paradigm.
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Andrea Omicini
Multi-Agent Systems (MAS) and Event-Based Systems (EBS) are two fundamental paradigms for the engineering of complex software systems. In this talk, we summarise the most important features of the MAS and EBS, and discuss how they could be integrated within a unified conceptual framework. The resulting framework could work as the foundation of a principled discipline for the engineering of complex software systems, by promoting a coherent integration of agent-based and event-based abstractions, languages, technologies, and methods.
HPCC Systems Engineering Summit Presentation - Leveraging HPCC Systems with V...HPCC Systems
Presenter: Vincent W. Freeh, associate professor of computer science, North Carolina State University
The Virtual Computing Lab (VCL) is an open-source, cloud-computing platform developed at North Carolina State University. It is a top-level Apache project and deployed throughout the world. This talk discusses porting HPCC to VCL, as well as course integration.
NOTE: The video of this presentation is the first one shown in the embedded YouTube link
Shaneece Davis conducted her research on 'Increasing Active Learning Among Students: NCCU's Introduction of Virtual Computing Lab to Grades K-12' as part of the 9th annual BDPA IT Showcase held August 4-5, 2011 in Chicago IL. In today's classrooms there are sometimes problems related to teaching students and how they retain information. Incorporating active learning into courses is a solution that would involve students in the learning process will help them to retain, recall and use information in an effective way. High School students in Durham, NC participated in a pilot program that introduced them to Virtual Computing Lab (VCL) in an effort to increase active learning. The pilot program results show that students engage in active learning when given the resources to do so.
This is her 10-page research paper.
Shaneece has recently graduated cum laude with a Bachelors of Science degree in Computer Information Systems (CIS) from North Carolina Central University (NCCU). she attended NCCU for a total of three years and has been an active student, serving as the Secretary and Chair of Events Committee for the CIS Club and by being a member of the Senior Class Council on her campus. She received several awards while a student at NCCU, including two awards for Excellent Academic Achievement and the Courtney S. Ferguson Awards for upholding the ideals of the CIS discipline.
Shaneece is now attending the Unviersity of Maryland for its Masters of Information Management Program. She is truly excited about her journey of education.
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Roberto Casadei
Large-scale and fully distributed cyber-physical sys-
tems (CPS), such as swarm robotics or IoT systems, pose
significant challenges for programming and design. These chal-
lenges include promoting the desired (emergent) collective and
self-organising behaviour, dealing with failures, enacting decen-
tralised coordination, and deploying efficient executions. Aggre-
gate computing is a promising approach that aims to simplify
the design of such systems by providing a high-level abstraction
for describing collective and self-organising behaviours. In this
tutorial, we introduce a toolchain that supports the development
of aggregate computing applications, based on ScaFi (a Scala-
based language and toolkit for aggregate computing) and Al-
chemist (a simulator for CPS scenarios). We will showcase the
toolchain by means of a series of examples, ranging from simple
collective behaviours to more complex self-adaptive and self-
organising ones. Finally, we provide several pointers to research
opportunities (e.g., related to learning collective behaviours
and adaptive large-scale deployments) and applications (e.g., in
swarm robotics, edge-cloud ecosystems, and more).
Tuple-Based Coordination in Large-Scale Situated SystemsRoberto Casadei
Space and time are key elements for many computer-based systems and often elevated to first-class abstractions. In tuple-based coordination, Linda primitives have been independently extended with space (with tuples and queries spanning spatial regions) or time information (mostly for tuple scoping). However, recent works in collective adaptive systems and aggregate computing show that space and time can naturally be considered as two intertwined facets of a common coordination abstraction for situated distributed systems. Accordingly, we introduce the Spatiotemporal Tuples model, a natural adaptation of Linda model for physically deployed large-scale networks. Unlike prior research, spatiotemporal properties – expressing where and when a tuple should range and has to be deposited/retrieved – naturally turn into specifications of collective adaptive processes, to be carried on in cooperation by the devices filling the computational environment, and sustaining tuple operations in a resilient way, possibly even in mobile and faulty environments. Additionally, the model promotes decentralised implementations where tuples actually reside where they are issued, which is good for supporting peer-to-peer and mobile ad-hoc networks as well as privacy. In this paper, we (i) present and formalise the Spatiotemporal Tuples model, based on the unifying notion of computational space-time structure, (ii) provide an implementation in the ScaFi aggregate computing framework, turning tuple operations into aggregate processes, and finally (iii) provide evaluation through simulation and a rescue case study.
On Execution Platforms for Large-Scale Aggregate ComputingRoberto Casadei
Aggregate computing is proposed as a computational model and associated toolchain to engineer adaptive large-scale situated systems, including IoT and wearable computing systems. Though originated in the context of WSN-like (peer-to-peer and fully distributed) systems, we argue it is a model that can transparently fit a variety of execution platforms (decentralised, server-mediated, cloud/fog-oriented), due to its ability of declaratively designing systems by global-level abstractions: it opens the possibility of intrinsically supporting forms of load balancing, elasticity and toleration of medium- and long-term changes of computational infrastructures. To ground the discussion, we present ongoing work in the context of scafi, a language and platform support for computational fields based on the Scala programming language and Akka actor framework.
Practical Aggregate Programming with Protelis @ SASO2017Danilo Pianini
Collective adaptive systems are an emerging class of networked and situated computational systems with a wide range of applications, such as in the Internet of Things, wireless sensor networks, and smart cities.
Engineering such systems poses a number of challenges, and in particular many approaches, based upon designing the machine-to-machine interaction directly, suffer from a local-to-global abstraction problem.
In this tutorial, we introduce the aggregate computing approach, rooted in the field calculus and practically available through the Protelis programming language, as a means to build collective, situated adaptive systems.
The approach focuses on programming the overall aggregate behaviour, making use of a ``resilience API,'' while leaving to these libraries and the language machinery the responsibility of mapping this to the behavior of individual devices.
This tutorial was first presented at the 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2017) in Tucson, AZ, USA.
Computational Fields meet Augmented Reality: Perspectives and ChallengesDanilo Pianini
Recently, two different techniques emerged that are tailored to environments pervaded of computational devices. On the one hand, aggregate programming, and especially computational fields-based programming, is a promising abstraction for coordinating the activities of multiple situated devices. On the other hand, augmented reality is emerging as new means of interaction with both software and physical entities. We note that both computational fields and augmented reality are tightly bound to the physical world, and that they both enrich it, with collective computation and augmented information respectively. This work presents an initial analysis of possible future research directions that involve these techniques, discussing some possible ways of integrating them.
Space-aware Coordination in RespecTAndrea Omicini
Spatial issues are essential in new classes of complex software systems, such as pervasive, multi-agent, and self-organising ones. Understanding the basic mechanisms of spatial coordination is a fundamental issue for coordination models and languages in order to deal with such systems, governing situated interaction in the spatio-temporal fabric. Along this line, in this talk we make space-aware coordination media out of ReSpecT tuple centres, by introducing the few basic mechanisms and constructs that enable the ReSpecT language to face most of the main challenges of spatial coordination in complex software systems.
[Talk @ WOA 2013]
Recent works in the context of large-scale adaptive systems, such as those for the Internet of Things (IoT) scenario, promote aggregate programming [3], a development approach for distributed systems in which one programs the aggregate of computational devices instead of individual ones. This makes the resulting behaviour highly insensitive to network size, density, and topology, and as such, intrinsically robust to failures and changes to working conditions (e.g., location of computational load, communication technology, and computational infrastructure).
In this paper we are concerned with how this approach can impact mainstream software development, and hence outline a Scala-based support of aggregate programming, leveraging Scala advanced type system, DSL support, and actors mechanisms.
A Framework to Specify and Verify Computational Fields for Pervasive Computin...Danilo Pianini
Pervasive context-aware computing networks call for designing algorithms for information propagation and reconfiguration that promote self-adaptation, namely, which can guarantee – at least to a probabilistic extent – certain reliability and robustness properties in spite of unpredicted changes and conditions. The possibility of formally analyzing their properties is obviously an essential engineering requirement, calling for general-purpose models and tools. As proposed in recent works, several such algorithms can be modeled by the notion of computational field: a dynamically evolving spatial data structure mapping every node of the network to a data value. Based on this idea, as a contribution toward formally verifying properties of pervasive computing systems, in this article we propose a specification language to model computational fields, and a framework based on PRISM stochastic model checker explicitly targeted at supporting temporal property verification. By a number of pervasive computing examples, we show that the proposed approach can be effectively used for quantitative analysis of systems running on networks composed of hundreds of nodes.
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTRoberto Casadei
On the way to the materialisation of the pervasive computing vision, the technological progress swelling from mobile computing and the Internet of Things (IoT) domain is already rich of missed opportunities. Firstly, coordinating large numbers of heterogeneous situated entities to achieve system-level goals in a resilient and self-adaptive way is complex and requires novel approaches to be seamlessly injected into mainstream distributed computing models. Secondly, achieving effective exploitation of computer resources is difficult, due to operational constraints resulting from current paradigms and uncomprehensive software infrastructures which hinder flexibility, adaptation, and smooth coordination of computational tasks execution. Indeed, building dynamic, context-oriented applications in small- or large-scale IoT with traditional abstractions is hard: even harder is to achieve opportunistic, QoS- and QoE-driven application task management across available hardware and networking infras- tructure. In this insight paper, we analyse by the collective adap- tation perspective the key directions of the impelling paradigm shift urged by forthcoming large-scale IoT scenarios. Specifically, we consider how collective abstractions and platforms can syner- gistically assist in such a transformation, by better capturing and enacting a notion of “collective service” as well as the dynamic, opportunistic, and context-driven traits of space-time-situated computations.
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...Andrea Omicini
The next generation of computational systems is going to mix up pervasive scenarios with cloud computing, with both intelligent and non-intelligent agents working as the reference component abstractions. A uniform set of MAS abstractions expressive enough to deal with both embodied and disembodied computation is required, in particular when dealing with the complexity of interaction. Along this line, in this paper we define an event-driven coordination architecture, along with a coherent event model, and test it upon the TuCSoN model and technology for MAS coordination.
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
The opportunities and challenges of recent and
forthcoming distributed computing scenarios have been promot-
ing research on languages and paradigms aimed at modelling the
macro/collective behaviour of systems as well as mechanisms to
endow them with self-* capabilities. One example is the aggregate
computing paradigm, which supports the development of self-
organising systems (e.g., robot swarms, computational ecosys-
tems, and crowd-based services) through various formalisms and
tools developed over a decade. However, very limited work has
been done by a methodological and automation perspective. In
this paper, we explore the issue of organising the development
process of aggregate computing systems. Accordingly, we outline
novel research directions that arise from careful analysis of
the peculiar issues in collective and self-organising systems, the
cornerstones of effective software engineering practices, and
recent scientific trends and insights.
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Roberto Casadei
Coordination is a fundamental problem in the
engineering of collective adaptive systems (CAS). Prominent
approaches in this context promote adaptivity and collective
behaviour by founding coordination on local, decentralised in-
teraction. This is usually enabled through abstractions such as
collective interfaces, neighbour-based interaction, and attribute-
based communication. Application designers, then, use such
coordination mechanisms to enact collective adaptive behaviour
in order to solve specific problems or provide specific services
while coping with dynamic environments. In this paper, we
consider the other way round: we argue that a CAS model can
be used to provide support for high-level coordination models,
simplifying their implementation and transferring to them the
self-* properties it emergently fosters. As a motivating example,
we consider the idea of supporting tuple-based coordination by
Linda primitives such that tuples and operations have a position
and extension in space and time. Then, we adopt an aggregate
perspective, by which space-time is logically represented by a
mobile ad-hoc network of devices, and show that coordination
primitives can be implemented as true collective adaptive pro-
cesses. We describe this model and a prototype implementation
in the ScaFi aggregate programming framework, which is rooted
in the so-called computational field paradigm.
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Andrea Omicini
Multi-Agent Systems (MAS) and Event-Based Systems (EBS) are two fundamental paradigms for the engineering of complex software systems. In this talk, we summarise the most important features of the MAS and EBS, and discuss how they could be integrated within a unified conceptual framework. The resulting framework could work as the foundation of a principled discipline for the engineering of complex software systems, by promoting a coherent integration of agent-based and event-based abstractions, languages, technologies, and methods.
TuCSoN Coordination for MAS Situatedness: Towards a MethodologyAndrea Omicini
Agent-based technologies embed solutions for critical issues in agent-oriented software engineering. In this paper we describe the coordination-based approach to MAS situatedness as promoted by the TuCSoN middleware, by sketching the steps of an agent-oriented methodology from the TuCSoN meta-model down to the TuCSoN programming environment.
On the Model-driven Synthesis of Evolvable Service Choreographies [AKSAS@ECSA...Claudio Pompilio
Slides of my presentation at the 1st International Workshop on Architectural Knowledge for Self-adaptive Systems (AKSAS@ECSA 2018)
The full paper is available here: https://dl.acm.org/citation.cfm?doid=3241403.3241425
Event-driven Programming for Situated MAS with ReSpecT Tuple CentresStefano Mariani
We advocate the role of tuple-based coordination languages as effective tools for event-driven programming of situated multi-agent systems (MAS). By focussing on logic-based coordination artefacts, we discuss the benefits of exploiting ReSpecT tuple centres as event-driven abstractions for MAS coordination.
Towards Reinforcement Learning-based Aggregate ComputingGianluca Aguzzi
Towards Reinforcement Learning-based Aggregate Computing is a paper presented @ COORDINATION 2022.
These slides show the main concepts of Aggregate Computing and discuss how it could be integrated with Learning techniques.
Particularly, in this work, we explore the process of programming sketching: the program is fully defined but a part of it is unknown. Then the learning is applied there in order to "fill" the missing "hole".
Paper: https://link-springer-com.ezproxy.unibo.it/chapter/10.1007/978-3-031-08143-9_5
Code: https://github.com/cric96/experiment-2022-coordination
Similar to Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Machine (20)
Coordination of Complex Socio-technical Systems: Challenges and OpportunitiesStefano Mariani
The issue of coordination in Socio-Technical Systems (STS) mostly stems from “humans-in-the-loop”: besides software-software we have software-human interactions to handle, too. Also, a number of peculiarities and related engineering challenges makes a socio-technical gap easy to rise, in the form of a gap between what the computational platform provides, and what the users are expecting to have. In this paper we try to shed some light on the issue of engineer- ing coordination mechanisms and policies in STS. Accordingly, we highlight the main challenges, the opportunities we have to deal with them, and a few selected approaches for specific STS application domains.
Twenty Years of Coordination Technologies: State-of-the-Art and PerspectivesStefano Mariani
Since complexity of inter- and intra-systems interactions is steadily increasing in modern application scenarios (e.g., the IoT), coordination technologies are required to take a crucial step towards maturity. In this paper we look back at the history of the COORDINATION conference in order to shed light on the current status of the coordination technologies there proposed throughout the years, in an attempt to understand success stories, limitations, and possibly reveal the gap between actual technologies, theoretical models, and novel application needs.
The Speaking Objects Vision: Argumentation for Coordinating Distributed Syste...Stefano Mariani
What is argumentation
Definition
Frameworks
Dialogue types (recap)
Argumentation use cases
Analysis
Synthesis
Applications
Argumentation for Speaking Objects
Benefits
Challenges
The Speaking Objects Vision: Argumentation for Coordinating Distributed Syste...Stefano Mariani
The vision
[what we imagine to happen]
Towards conversational coordination
[what we focus on]
Ingredients
[what we think will be needed]
Recipe
[how we think it will happen]
On the role of argumentation
[why we think argumentation matters]
Programming the Interaction Space Effectively with ReSpecTXStefano Mariani
Talk delivered at the 11th International Symposium on Intelligent Distributed Computing in
Belgrade, Serbia, 12/10/2017.
Abstract: The lack of a suitable toolchain for programming the inter- action space with coordination languages hinders their adoption in the industry, and limits their application as core calculus, proof-of-concept frameworks, or rapid prototyping / simulation environments. In this paper we present the ReSpecTX language and toolchain as a first step toward closing the gap, by equipping a core coordination language (ReSpecT) with tools and features commonly found in mainstream programming languages, improving likelihood of adoption in real-world scenarios.
Coordination Issues in Complex Socio-technical Systems: Self-organisation of ...Stefano Mariani
The thesis proposes the Molecules of Knowledge (MoK) model for self-organisation of knowledge in knowledge-intensive socio-technical systems.
The main contribution is the conception, definition, design, and implementation of the MoK model.
The model is based on a chemical metaphor for self-organising coordination, in which coordination laws are interpreted as artificial chemical reactions ruling evolution of the molecules of knowledge living in the system (the information chunks), indirectly coordinating the users working with them.
In turn, users may implicitly affect system behaviour with their interactions, according to the cognitive theory of behavioural implicit communication, integrated in MoK.
The theory states that any interaction conveys tacit messages that can be suitably interpreted by the coordination model to better support users' workflows.
Design and implementation of the MoK model required two other contributions: conception, design, and tuning of the artificial chemical reactions with custom kinetic rates, playing the role of the coordination laws, and development of an infrastructure supporting situated coordination, both in time, space, and w.r.t. the environment, along with a dedicated coordination language.
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecTStefano Mariani
Distributed systems are more about interaction than computation: thus, they need coordination abstractions and techniques for managing the associated space of interaction.
Inspired to the archetypal Linda model, TuCSoN is a coordination model and technology providing tuple-based coordination services to (mobile) software agents through the notion of tuple centre—that is, a programmable tuple space. ReSpecT is a coordination language enabling run-time programmability of TuCSoN tuple centres—that is, of the coordination primitives and laws enabling and constraining interaction.
In this seminar TuCSoN and ReSpecT are used as the reference models and technologies for experimenting advanced coordination techniques for distributed and mobile programming of intelligent and pervasive multi-agent systems.
Stochastic Coordination in CAS: Expressiveness & PredictabilityStefano Mariani
Recognising that (i) coordination is a fundamental concern when both analysing and modelling CAS, and that (ii) CAS often exhibit stochastic behaviours, stemming from probabilistic and time-dependent local (interaction) mechanisms, in this talk we argue that (a) measuring expressiveness of coordination languages, and (b) predicting behaviours of stochastic systems based on coordination models are two fundamental steps in the quest for designing well- engineered CAS.
As a concrete ground where to or discussion, we describe some of our current works as well as our ideas for further research.
Molecules of Knowledge: Self-Organisation in Knowledge-Intensive EnvironmentsStefano Mariani
Molecules of Knowledge (MoK) is a coordination model supporting self-organisation of knowledge in Knowledge Intensive Environments (KIE). Usual approaches to knowledge management in KIE consider data as a passive, "dead" entity and rely on "brute force" approaches assuming an ever-increasing computational power and storage capacity (e.g. big data). This won't scale forever, thus alternative approaches should be explored. MoK promotes the vision of data as a "live" thing, continuously and spontaneously interacting and evolving---self-organising. Accordingly, MoK relies on features such as locality, probability and situatedness to tackle KIE challenges such as scale, openness and unpredictability. In this seminar, the MoK model is motivated and introduced, then some early "evaluation" described.
On the “Local-to-Global” Issue in Self-Organisation: Chemical Reactions with ...Stefano Mariani
The “local-to-global” issue in self-organisation is about finding a way to engineer local mechanisms according to the emergent, global behaviour desired for the system at hand. In this paper, we propose an approach to deal with such issue, by modelling the local mechanisms as artificial chemical reactions and by carefully designing their kinetic rates as “custom” functional expressions.
Models of Autonomy and Coordination: Integrating Subjective & Objective Appro...Stefano Mariani
Objective and subjective approaches to coordination constitute two complementary approaches, which, being both essential in MAS engineering, require to be suitably integrated. In this paper, we (i) observe that a successful integration depends on the models of autonomy and coordination promoted by agent technologies, (ii) suggest that ignoring the two models may hinder agent autonomy, (iii) provide an example of “autonomy-preserving” integration by discussing TuCSoN4Jade.
Molecules of Knowledge: Self-Organisation in Knowledge-Intensive EnvironmentsStefano Mariani
Molecules of Knowledge (MoK) is a coordination model supporting self-organisation of knowledge in Knowledge Intensive Environments (KIE). Usual approaches to knowledge management in KIE consider data as a passive, "dead" entity and rely on "brute force" approaches assuming an ever-increasing computational power and storage capacity (e.g. big data). This won't scale forever, thus alternative approaches should be explored. MoK promotes the vision of data as a "live" thing, continuously and spontaneously interacting and evolving---self-organising. Accordingly, MoK relies on features such as locality, probability and situatedness to tackle KIE challenges such as scale, openness and unpredictability. In this seminar, the MoK model is motivated and introduced, then some early "evaluation" described.
Parameter Engineering vs. Parameter Tuning: the Case of Biochemical Coordinat...Stefano Mariani
To cope with nowadays MAS complexity, nature-inspired coordination models and languages gained increasing attention: in particular, biochemical coordination models. Being intrinsically stochastic and self-organising, the effectiveness of their outcome likely depends on a correct parameter tuning stage. In this paper, we focus on chemical reactions rates, showing that simply imitating chemistry "as it is" may be not enough for the purpose of effectively engineer complex, self-organising coordinated systems such as MoK .
Probabilistic Modular Embedding for Stochastic Coordinated SystemsStefano Mariani
Embedding and modular embedding are two well-known tech- niques for measuring and comparing the expressiveness of languages— sequential and concurrent programming languages, respectively. The emer- gence of new classes of computational systems featuring stochastic be- haviours – such as pervasive, adaptive, self-organising systems – requires new tools for probabilistic languages. In this paper, we recall and refine the notion of probabilistic modular embedding (PME) as an extension to modular embedding meant to capture the expressiveness of stochas- tic systems, and show its application to different coordination languages providing probabilistic mechanisms for stochastic systems.
MoK: Stigmergy Meets Chemistry to Exploit Social Actions for Coordination Pur...Stefano Mariani
This talk discusses the paper “MoK: Stigmergy Meets Chemistry to Exploit Social Actions for Coordination Purposes”, presented at SOCIAL:PATH @ AISB 2013.
Molecules Of Knowledge: Self-Organisation In Knowledge-Intensive EnvironmentsStefano Mariani
This talk discusses the paper “Molecules of Knowledge: Self-Organisation in Knowledge-Intensive Environments”, presented at the 6th International Symposium on Intelligent Distributed Computing (IDC 2012).
Self-Organising News Management: The Molecules Of Knowledge ApproachStefano Mariani
This talk discusses the paper “Self-Organising News Management: The Molecules of Knowledge Approach”, presented at the 1st International Workshop on Adaptive Service Ecosystems: Natural and Socially Inspired Solutions (ASENSIS 2012).
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Promoting Space-Aware Coordination: ReSpecT as a Spatial Computing Virtual Machine
1. Promoting Space-Aware Coordination:
ReSpecT as a Spatial Computing Virtual Machine
Stefano Mariani, Andrea Omicini
{s.mariani, andrea.omicini}@unibo.it
Alma Mater Studiorum—Universit`a di Bologna
SCW 2013
SCW @ AAMAS Conference
St. Paul, 6th of May 2013
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 1 / 30
2. Outline
1 Motivations & Goals
2 Spatial Computing
The Abstract Device Model
SCL Requirements
3 Space-Aware Coordination
ReSpecT In One Slide
4 Toward a SCL Virtual Machine
ReSpecT Device Model
stReSpecT Language Extensions
stReSpecT vs. SCL Requirements
SCL VM Benchmark
5 Conclusion & Further Works
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 2 / 30
3. Motivations & Goals
Outline
1 Motivations & Goals
2 Spatial Computing
The Abstract Device Model
SCL Requirements
3 Space-Aware Coordination
ReSpecT In One Slide
4 Toward a SCL Virtual Machine
ReSpecT Device Model
stReSpecT Language Extensions
stReSpecT vs. SCL Requirements
SCL VM Benchmark
5 Conclusion & Further Works
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 3 / 30
4. Motivations & Goals
The Need For Situatedness
Nowadays software systems – especially distributed, ubiquitous and
pervasive ones – increasingly call for some degree of situatedness, that is
the capability of the system to recognize and react properly to changes in
its environment—enabling adaptiveness, in the end.
Spatial Situatedness
One dimension of such situatedness is along the “spatial axis”, which
basically amounts to being able of measuring some spatial properties,
manipulating them performing some computation, then affecting
those/others spatial properties in turn.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 4 / 30
5. Motivations & Goals
Situatedness Into Programming Languages
Spatial Computing Languages (SCL) born to address the issue of bringing
situatedness into programming languages, allowing programmers to
explicitly deal with space-related aspects at the language level
[Beal et al., 2012].
Also Coordination Models recognized the importance of spatial
situatedness, hence proposed some extensions to well-known languages to
address the issue—notably [Viroli et al., 2012] and
[Mamei and Zambonelli, 2009].
An Integrated Effort
Our goal here, is to share our effort in designing a Spatial Computing
Virtual Machine on top of a Space-Aware Coordination Language, so as to
(hopefully) stimulate new ideas and (possibly) converge to common
solutions.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 5 / 30
6. Spatial Computing
Outline
1 Motivations & Goals
2 Spatial Computing
The Abstract Device Model
SCL Requirements
3 Space-Aware Coordination
ReSpecT In One Slide
4 Toward a SCL Virtual Machine
ReSpecT Device Model
stReSpecT Language Extensions
stReSpecT vs. SCL Requirements
SCL VM Benchmark
5 Conclusion & Further Works
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 6 / 30
7. Spatial Computing The Abstract Device Model
The Abstract Device Model
In [Beal et al., 2012] the Abstract Device Model (ADM) is defined so as to
allow comparison between different SCL along three basic criteria:
Communication Region — The spatial “coverage” of the
communication—e.g. global vs. neighbourhood
Communication Granularity — The number of receivers—e.g. unicast vs.
multicast
Code Mobility — The relationships between different devices’ running
code
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 7 / 30
8. Spatial Computing SCL Requirements
SCL Requirements
Furthermore, authors of [Beal et al., 2012] pointed out the need for three
classes of operators in SCL to achieve a kind of “Spatial-
Turing-equivalence” [Beal, 2010]:
Measure Space — To translate spatial properties into computable
information—e.g. sensing GPS position
Manipulate Space — To translate back information into modifications of
spatial properties—e.g. starting a motion engine
Compute (on) Space — Any kind of “spatial-pointwise” computation
A fourth class (Physical Evolution) looks more like an assumption about
the dynamics that a given program/device must/can consider—e.g. a
robot may move meanwhile a computation runs.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 8 / 30
9. Space-Aware Coordination
Outline
1 Motivations & Goals
2 Spatial Computing
The Abstract Device Model
SCL Requirements
3 Space-Aware Coordination
ReSpecT In One Slide
4 Toward a SCL Virtual Machine
ReSpecT Device Model
stReSpecT Language Extensions
stReSpecT vs. SCL Requirements
SCL VM Benchmark
5 Conclusion & Further Works
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 9 / 30
10. Space-Aware Coordination
Space-Aware Coordination I
Extensions to the Linda tuple-based coordination model have been
proposed in [Viroli et al., 2012] and [Mamei and Zambonelli, 2009] to deal
with spatial-related issues:
στLinda (i) replaces standard tuples with space-time activities, that
is, processes manipulating the space-time configuration of
tuples in the network and (ii) adds to the model new space
operators like neigh, $distance and $orientation, in
order to allow management of spatial properties
TOTA equips each tuple with additional info: (i) a propagation rule,
determining how the tuple should distribute across a network
of tuple spaces and (ii) a maintenance rule, dictating how
the tuple should react to the flow of time and/or events
occurring in the space
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 10 / 30
11. Space-Aware Coordination
Space-Aware Coordination II
On the one hand, these kind of works inspired us to reason about the
opportunity of defining a minimal set of constructs needed to promote
“general purpose” Space-Aware Coordination.
On the other hand, we believe one of the main concerns of SCL, that is,
“the ability to link the aggregate behaviour of a number of independent
devices to the way in which they are individually programmed” (from
[Beal et al., 2012]), entails in the very end a coordination problem.
From Spatial -Computing to -Coordination
In fact, independently of the level of abstraction desired by a Spatial
Computing programmer, “under the hood” its program should be
somehow compiled/interpreted so as to meaningfully (spatially) coordinate
a set of entities.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 11 / 30
12. Space-Aware Coordination ReSpecT In One Slide
ReSpecT In One Slide
ReSpecT [Omicini and Denti, 2001a] is a Prolog-like language meant to
program ReSpecT tuple centres [Omicini and Denti, 2001b], which are
programmable tuple spaces.
“Programmable” means that ReSpecT allows to couple coordination
events – e.g. a in request – with computations, to be be carried out
atomically and transactionally by the ReSpecT Virtual Machine.
ReSpecT Reactions
reaction(Event, Guards, Goals)
Event — Any coordination event involving the tuple centre
Guards — Logic predicates to control reaction triggering
Goals — ReSpecT computations to be carried out
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 12 / 30
14. Toward a SCL Virtual Machine
Outline
1 Motivations & Goals
2 Spatial Computing
The Abstract Device Model
SCL Requirements
3 Space-Aware Coordination
ReSpecT In One Slide
4 Toward a SCL Virtual Machine
ReSpecT Device Model
stReSpecT Language Extensions
stReSpecT vs. SCL Requirements
SCL VM Benchmark
5 Conclusion & Further Works
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 14 / 30
15. Toward a SCL Virtual Machine ReSpecT Device Model
ReSpecT Device Model
Communication Region — Any tuple centre can communicate with any
other network-reachable tuple centre through linking
operations [Omicini et al., 2006] ( TCLinkPredicate ). The
“basic” communication model of ReSpecT is thus global
communication
Communication Granularity — No first-class coordination operations exist
in ReSpecT allowing communication with a set of target
tuple centres at once. Thus, ReSpecT naturally supports
only point-to-point communication
Code Mobility — ReSpecT features meta-coordination operations dealing
with specification tuples—similar to TCPredicate .
Therefore, ReSpecT tuple centres feature code mobility
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 15 / 30
16. Toward a SCL Virtual Machine stReSpecT Language Extensions
stReSpecT Language Extensions
Complementarily to the timed extension of ReSpecT, the following
constructs makes a tuple centre space aware, that is, able to recognize,
measure and – in synergy with [Casadei and Omicini, 2009] – manipulate
events and properties belonging to the spatial dimension of a situated
coordinated system:
from( Place ), to( Place ) — Triggering reactions to spatial
events, such as leaving from and arriving at a given location
EventView place — Providing access to spatial information for the
triggering event
at( Place ), near( Place , Radius ) — Allowing for evaluation of
the reaction goals when the given spatial conditions are met
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 16 / 30
17. Toward a SCL Virtual Machine stReSpecT vs. SCL Requirements
stReSpecT vs. SCL Requirements I
Measure Space — Three Observation Predicates are given:
current place — Measuring where the tuple centre executing
the current stReSpecT reaction is
event place, start place — Measuring respectively where the
direct cause and prime cause [Omicini, 2007] of the event
triggering the current reaction took place
Manipulate Space — Addressed by the constructs of
[Casadei and Omicini, 2009], e.g.:
EnvResId <- env( Key , Value ) — Allowing an agent to
dispatch commands to any device, modeled as an environmental
resource
Compute (on) Space — Here falls standard ReSpecT computation, which
can now rely on new “spatial” guards, e.g.:
near( Place , Radius ) — true if the reacting tuple centre is
near the given location
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 17 / 30
18. Toward a SCL Virtual Machine SCL VM Benchmark
The “T-Program”
As a reference benchmark to compare the expressiveness of different SCL,
the “T-Program” is proposed in [Beal et al., 2012] w.r.t. a set of
independent moveable devices:
i Cooperatively create a local coordinate system
ii Self-organize into a “T”-shaped structure
iii Determine its center of gravity, then draw a ring around it
SCL Requirements
Hence it requires all the three classes of operators afore-mentioned: stage
(i) requires measuring space capabilities; stage (ii) requires manipulating
space capabilities; stage (iii) requires both computational capabilities and,
again, measuring capabilities.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 18 / 30
19. Toward a SCL Virtual Machine SCL VM Benchmark
Local Coordinate System I
Setting a local coordinate system basically amounts to:
i choosing an origin node
ii making it spread a “vector tuple” to neighbours
iii (recursively) making them increment such vector
iv forwarding it to neighbours
Thus, the basic mechanism needed at the VM level to enable such
computation at the application level, is what we call neighborhood
spreading, whose stReSpecT code is sketched in next slide.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 19 / 30
20. Toward a SCL Virtual Machine SCL VM Benchmark
Local Coordinate System II
1% Check range then forward.
2reaction( out(nbr_spread(msg(Msg),nbr(Dist),req(ID))),
3( completion, success ),
4( no(req(ID)), out(req(ID)), % Avoid flooding
5current_place (Me), event_place(Sender),
6within( Me,Sender,Dist ), % Prolog computation
7out(msg(Msg)),
8rd(nbrs(Nbrs )), % Neighbours list
9out(forward( Msg,Dist,req (ID),Nbrs ))
10) ).
11
12% Delete multicast request.
13...
14
15% Forward to every neighbour.
16reaction( out(forward( Msg,Dist,req (ID),[H|T])), % Some Nbrs
17( intra, completion ),
18( H ? out(nbr_spread(msg(Msg),nbr(Dist),req(ID))), % Forward
19out(forward( Msg,Dist,req (ID),T)) % Iterate
20) ).
21
22% Delete iteration tuple.
23...
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 20 / 30
21. Toward a SCL Virtual Machine SCL VM Benchmark
“T”-shaped Structure I
To arrange nodes (tuple centres) so as to form a “T-shaped” structure, we
need to:
i define spatial constraints representing the T (how much “tall”, “fat”,
etc.)
ii make every node move so as to satisfy them
Thus, the basic mechanism needed at the VM level is motion monitoring
and control.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 21 / 30
23. Toward a SCL Virtual Machine SCL VM Benchmark
Center of Gravity
To first compute the focal point (FC) of the “T-shape”, then draw a
sphere around it, we need two basic mechanisms, both similar to the
neighborhood spreading previously shown:
a bidirectional neighborhood spreading to collect replies to sent
messages—allowing to aggregate all the node’s coordinates and count
them
a spherical multicast to draw the ring pattern
VM Minimal API
Nevertheless, the code for spherical multicast is almost identical to
neighborhood spreading, but for the use of observation predicate
start place instead of event place. This replacement (almost) alone
suffices to completely change the spatial properties of communication.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 23 / 30
24. Conclusion & Further Works
Outline
1 Motivations & Goals
2 Spatial Computing
The Abstract Device Model
SCL Requirements
3 Space-Aware Coordination
ReSpecT In One Slide
4 Toward a SCL Virtual Machine
ReSpecT Device Model
stReSpecT Language Extensions
stReSpecT vs. SCL Requirements
SCL VM Benchmark
5 Conclusion & Further Works
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 24 / 30
25. Conclusion & Further Works
Conclusion
We tried to bring some results from the Coordination field into the
Spatial Computing perspective
In particular, we presented the stReSpecT space-aware extension to
the ReSpecT language & virtual machine as a suitable ADM for SCL
We then sketched how a stReSpecT-based VM can meet
“T-Program” benchmark requirements w.r.t. spatial operators
Further Works
Despite ReSpecT [Omicini, 2007] being freely availablea as part of the
TuCSoN middleware [Omicini and Zambonelli, 1999], a full functioning,
general purpose implementation of stReSpecT is still under development.
a
See http://tucson.apice.unibo.it and [Omicini and Mariani, 2013]
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 25 / 30
26. Thanks
Thanks to. . .
...everybody here for listening
...the SAPERE team for bringing me here 1
1
This work has been supported by the EU-FP7-FET Proactive project SAPERE
Self-aware Pervasive Service Ecosystems, under contract no.256873.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 26 / 30
27. Bibliography
Bibliography I
Beal, J. (2010).
A basis set of operators for space-time computations.
In Proceedings of the 2010 Fourth IEEE International Conference on Self-Adaptive and
Self-Organizing Systems Workshop (SASOW 2010), pages 91–97, Washington, DC, USA.
IEEE Computer Society.
Beal, J., Dulman, S., Usbeck, K., Viroli, M., and Correll, N. (2012).
Organizing the aggregate: Languages for spatial computing.
CoRR, abs/1202.5509.
Casadei, M. and Omicini, A. (2009).
Situated tuple centres in ReSpecT.
In Shin, S. Y., Ossowski, S., Menezes, R., and Viroli, M., editors, 24th Annual ACM
Symposium on Applied Computing (SAC 2009), volume III, pages 1361–1368, Honolulu,
Hawai’i, USA. ACM.
Mamei, M. and Zambonelli, F. (2009).
Programming pervasive and mobile computing applications: The TOTA approach.
ACM Transactions on Software Engineering and Methodology, 18(4).
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 27 / 30
28. Bibliography
Bibliography II
Omicini, A. (2007).
Formal ReSpecT in the A&A perspective.
Electronic Notes in Theoretical Computer Science, 175(2):97–117.
5th International Workshop on Foundations of Coordination Languages and Software
Architectures (FOCLASA’06), CONCUR’06, Bonn, Germany, 31 August 2006.
Post-proceedings.
Omicini, A. and Denti, E. (2001a).
Formal ReSpecT.
Electronic Notes in Theoretical Computer Science, 48:179–196.
Declarative Programming – Selected Papers from AGP 2000, La Habana, Cuba,
4–6 December 2000.
Omicini, A. and Denti, E. (2001b).
From tuple spaces to tuple centres.
Science of Computer Programming, 41(3):277–294.
Omicini, A. and Mariani, S. (2013).
The TuCSoN Coordination Model & Technology. A Guide.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 28 / 30
29. Bibliography
Bibliography III
Omicini, A., Ricci, A., and Zaghini, N. (2006).
Distributed workflow upon linkable coordination artifacts.
In Ciancarini, P. and Wiklicky, H., editors, Coordination Models and Languages, volume
4038 of LNCS, pages 228–246. Springer.
8th International Conference (COORDINATION 2006), Bologna, Italy, 14–16 June 2006.
Proceedings.
Omicini, A. and Zambonelli, F. (1999).
Coordination for Internet application development.
Autonomous Agents and Multi-Agent Systems, 2(3):251–269.
Special Issue: Coordination Mechanisms for Web Agents.
Viroli, M., Pianini, D., and Beal, J. (2012).
Linda in space-time: an adaptive coordination model for mobile ad-hoc environments.
In Sirjani, M., editor, Coordination Languages and Models, volume 7274 of LNCS, pages
212–229. Springer-Verlag.
Proceedings of the 14th Conference of Coordination Models and Languages (Coordination
2012),Stockholm (Sweden), 14-15 June.
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 29 / 30
30. Promoting Space-Aware Coordination:
ReSpecT as a Spatial Computing Virtual Machine
Stefano Mariani, Andrea Omicini
{s.mariani, andrea.omicini}@unibo.it
Alma Mater Studiorum—Universit`a di Bologna
SCW 2013
SCW @ AAMAS Conference
St. Paul, 6th of May 2013
Mariani, Omicini (Universit`a di Bologna) Space-Aware Coordination SCW2013, 6/5/2013 30 / 30