2,682 research outputs found
Engineering Multi-Agent Systems: State of Affairs and the Road Ahead
The continuous integration of software-intensive systems together with the ever-increasing computing power offer a breeding ground for intelligent agents and multi-agent systems (MAS) more than ever before. Over the past two decades, a wide variety of languages, models, techniques and methodologies have been proposed to engineer agents and MAS. Despite this substantial body of knowledge and expertise, the systematic engineering of large-scale and open MAS still poses many challenges. Researchers and engineers still face fundamental questions regarding theories, architectures, languages, processes, and platforms for designing, implementing, running, maintaining, and evolving MAS. This paper reports on the results of the 6th International Workshop on Engineering Multi-Agent Systems (EMAS 2018, 14th-15th of July, 2018, Stockholm, Sweden), where participants discussed the issues above focusing on the state of affairs and the road ahead for researchers and engineers in this area
Dynamic Slicing by On-demand Re-execution
In this paper, we propose a novel approach that aims to offer an alternative
to the prevalent paradigm to dynamic slicing construction. Dynamic slicing
requires dynamic data and control dependencies that arise in an execution.
During a single execution, memory reference information is recorded and then
traversed to extract dependencies. Execute-once approaches and tools are
challenged even by executions of moderate size of simple and short programs. We
propose to shift practical time complexity from execution size to slice size.
In particular, our approach executes the program multiple times while tracking
targeted information at each execution. We present a concrete algorithm that
follows an on-demand re-execution paradigm that uses a novel concept of
frontier dependency to incrementally build a dynamic slice. To focus dependency
tracking, the algorithm relies on static analysis. We show results of an
evaluation on the SV-COMP benchmark and Antrl4 unit tests that provide evidence
that on-demand re-execution can provide performance gains particularly when
slice size is small and execution size is large
Session Communication and Integration
The scenario-based specification of a large distributed system is usually
naturally decomposed into various modules. The integration of specification
modules contrasts to the parallel composition of program components, and
includes various ways such as scenario concatenation, choice, and nesting. The
recent development of multiparty session types for process calculi provides
useful techniques to accommodate the protocol modularisation, by encoding
fragments of communication protocols in the usage of private channels for a
class of agents. In this paper, we extend forgoing session type theories by
enhancing the session integration mechanism. More specifically, we propose a
novel synchronous multiparty session type theory, in which sessions are
separated into the communicating and integrating levels. Communicating sessions
record the message-based communications between multiple agents, whilst
integrating sessions describe the integration of communicating ones. A
two-level session type system is developed for pi-calculus with syntactic
primitives for session establishment, and several key properties of the type
system are studied. Applying the theory to system description, we show that a
channel safety property and a session conformance property can be analysed.
Also, to improve the utility of the theory, a process slicing method is used to
help identify the violated sessions in the type checking.Comment: A short version of this paper is submitted for revie
- …