Tuesday, 15 November 2011, 14:00 (note the unusual weekday)
Cybernetica Bldg (Akadeemia tee 21), room B101
Slides from the talk [pdf]
Abstract: ABS is an abstract behavioural specification language for distributed object-oriented systems, developed in the EU FP7 Highly Adaptable and Trustworthy Software (HATS) project. The unit of concurrency in ABS is the concurrent object group (cog), which contains objects with cooperatively scheduled tasks. Objects evolve and make asynchronous message calls to other objects by using futures, placeholders for values to be resolved later, as defined in a structured operational semantics. However, the communication graph of cogs in an ABS program can be seen as a full mesh, which is generally not a realistic assumption in modelling distributed systems.
Building upon the functional and concurrent object levels of Core ABS, we define an alternative operational semantics, ABS-NET, with an explicit representation of network nodes and arcs. We assume only neighbour-to-neighbour communication (OSI layer 2 functionality) and use distance vector routing for delivering asynchronous message calls and results. For a notion of interaction with an environment, we outline a proof (with some details still in progress) that initial configurations generated from the same ABS program in the original ABS operational semantics and ABS-NET semantics are bisimilar.
By viewing network nodes as resource-bounded task containers, we take advantage of previous work on deployment components for ABS to enable mobility of objects based on network conditions such as load. This work is a first step towards enabling efficient, adaptive execution of ABS programs in a network; current and future work includes handling garbage collection and robustness via replication, as well as implementing the semantics in a distributed ABS backend.
(Joint work with Mads Dam.)
Karl Palmskog's visit is paid by the FP7 ICT project HATS.