Nelis Boucké - Academia.edu (original) (raw)

Papers by Nelis Boucké

Research paper thumbnail of Model-based enhancement of software performance for precision critical systems

Architectural level analysis of a software system for its quality attributes is a proven cost-eff... more Architectural level analysis of a software system for its quality attributes is a proven cost-effective approach. This is particularly significant for performance, which defines multiple aspects of the quality of the system. In this paper we outline the contribution of a PhD, which provides architecture viewpoint based modeling and analysis support for parallelism and flow latency aspects of the performance, in legacy systems. The main contribution of the PhD includes Parallelism Viewpoint and Flow Latency Viewpoint. We use the proposed viewpoints to find parallelism and flow latencies specific performance bottlenecks of an industrial case, a precision critical electron microscope software system. The preliminary results of using Parallelism Viewpoint for our example case show that the viewpoint provides a profound insight into the thread-model of the system, which helps in reducing the excessively used parallelism in the system.

Research paper thumbnail of A parallelism viewpoint to analyze performance bottlenecks of parallelism-intensive software systems

European Software Engineering Conference, Oct 13, 2010

The use of parallelism enhances the performance of a software system. However, its excessive use ... more The use of parallelism enhances the performance of a software system. However, its excessive use can degrade the system performance. In this paper we propose a parallelism viewpoint to optimize the use of parallelism by eliminating unnecessarily used parallelism in legacy systems. The parallelism viewpoint describes parallelism of the system in order to analyze multiple overheads associated with its threads. We use the proposed viewpoint to find parallelism specific performance overheads of an industrial case, a precision critical parallelism-intensive electron microscope software system. Results show that reduction in parallelism requires a profound insight into the thread-model of the system, which can be achieved by using our proposed viewpoint.

Research paper thumbnail of Decentralized demand side management of plug-in hybrid vehicles in a Smart Grid

Research paper thumbnail of DynCNET: A protocol for flexible task assignment in situated multiagent systems

Self-Adaptive and Self-Organizing Systems, 2007

The work presented in this paper is part of an ongoing effort to study suitable task assignment m... more The work presented in this paper is part of an ongoing effort to study suitable task assignment mechanisms for decentralized MAS. Our focus is on systems that are characterized by tasks with delayed commencement. Such a task requires a preceding effort before the agent can start executing the task. An example is a robot that first has to move to the location of a task before it can start executing that task. Important quality requirements for assigning tasks with delayed commencement are flexibility (enable agents to adapt task assignment with changing circumstances) and openness (enable agents to take into account other agents that come and go during the process of task assignment). In previous work, we have studied Contract Net (CNET) and a field-based approach for task assignment (FiTA). CNET does not provide the required flexibility and openness. FiTA satisfies the required qualities, however, the field-based approach provides an emergent solution for task assignment. It is well known that emergent solutions are difficult to engineer and reason about. This raises the question whether it is not easier to extend CNET to take dynamics and changes into account. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment. DynCNET provides flexibility and openness for assigning tasks with delayed commencement. We compare the DynCNET protocol with CNET and FiTA in an AGV transportation system. Our experiences in this real-world setting show that: (1) the performance of DynCNET and FiTA are similar, while both outperform CNET; (2) extending CNET to deal with delayed commencement of tasks is not obvious; the complexity to engineer DynCNET is similar to FiTA but much more complex than CNET; (3) whereas task assignment with FiTA is an emergent solution, DynCNET explicitly specifies the interaction among agents allowing engineers to reason on the assignment of tasks. This latter property may be of overriding importance in the selection of an agent-based approach for task assignment in practice. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment, i.e. DynCNET supports flexibility and openness for assigning tasks with delayed commencement. Overview. In the next section, we give a brief overview of the decentralized architecture of the AGV transportation system. Section 3 introduces the DynCNET protocol. In section 4, we discuss test results obtained from applying DynCNET in an AGV transportation system, and we compare DynCNET with standard CNET and FiTA. Section 5 discusses related work. Finally, in section 6 we draw conclusions. 2 The AGV Transportation System An AGV transportation system is a fully automated industrial transport system, that uses multiple AGVs to transport loads (raw materials, finished products, etc.) in an industrial environment such as a warehouse. In this section we give a brief overview of the AGV transportation application and the basic software architecture. 2.1 AGVs and Transports AGVs. An AGV is a unmanned, battery powered vehicle, capable of picking up loads, driving around and dropping them. AGVs can communicate by means of a wireless LAN. The AGVs are restricted to follow a predefined layout in the environment. The layout is defined in a map that consists of a network of stations and segments. AGVs are equipped with low-level control software that provides an interface to command the AGV; example commands are move(segment), pick(load), etc. The low-level control software uses sensors and actuators, and beacons in the environment to stay on track, turn, pick and drop loads, and determine the current position.

Research paper thumbnail of DynCNET : a protocol for flexible task assignment applied in an AGV transportation system

European Workshop on Multi-Agent Systems, 2006

The work presented in this paper is part of an ongoing effort to study suitable task assignment m... more The work presented in this paper is part of an ongoing effort to study suitable task assignment mechanisms for decentralized MAS. Our focus is on systems that are characterized by tasks with delayed commencement. Such a task requires a preceding effort before the agent can start executing the task. An example is a robot that first has to move to the location of a task before it can start executing that task. Important quality requirements for assigning tasks with delayed commencement are flexibility (enable agents to adapt task assignment with changing circumstances) and openness (enable agents to take into account other agents that come and go during the process of task assignment). In previous work, we have studied Contract Net (CNET) and a field-based approach for task assignment (FiTA). CNET does not provide the required flexibility and openness. FiTA satisfies the required qualities, however, the field-based approach provides an emergent solution for task assignment. It is well known that emergent solutions are difficult to engineer and reason about. This raises the question whether it is not easier to extend CNET to take dynamics and changes into account. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment. DynCNET provides flexibility and openness for assigning tasks with delayed commencement. We compare the DynCNET protocol with CNET and FiTA in an AGV transportation system. Our experiences in this real-world setting show that: (1) the performance of DynCNET and FiTA are similar, while both outperform CNET; (2) extending CNET to deal with delayed commencement of tasks is not obvious; the complexity to engineer DynCNET is similar to FiTA but much more complex than CNET; (3) whereas task assignment with FiTA is an emergent solution, DynCNET explicitly specifies the interaction among agents allowing engineers to reason on the assignment of tasks. This latter property may be of overriding importance in the selection of an agent-based approach for task assignment in practice. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment, i.e. DynCNET supports flexibility and openness for assigning tasks with delayed commencement. Overview. In the next section, we give a brief overview of the decentralized architecture of the AGV transportation system. Section 3 introduces the DynCNET protocol. In section 4, we discuss test results obtained from applying DynCNET in an AGV transportation system, and we compare DynCNET with standard CNET and FiTA. Section 5 discusses related work. Finally, in section 6 we draw conclusions. 2 The AGV Transportation System An AGV transportation system is a fully automated industrial transport system, that uses multiple AGVs to transport loads (raw materials, finished products, etc.) in an industrial environment such as a warehouse. In this section we give a brief overview of the AGV transportation application and the basic software architecture. 2.1 AGVs and Transports AGVs. An AGV is a unmanned, battery powered vehicle, capable of picking up loads, driving around and dropping them. AGVs can communicate by means of a wireless LAN. The AGVs are restricted to follow a predefined layout in the environment. The layout is defined in a map that consists of a network of stations and segments. AGVs are equipped with low-level control software that provides an interface to command the AGV; example commands are move(segment), pick(load), etc. The low-level control software uses sensors and actuators, and beacons in the environment to stay on track, turn, pick and drop loads, and determine the current position.

Research paper thumbnail of Composition of architectural models: Empirical analysis and language support

Journal of Systems and Software, Nov 1, 2010

Managing the architectural description (AD) of a complex software system and maintaining consiste... more Managing the architectural description (AD) of a complex software system and maintaining consistency among the different models is a demanding task. To understand the underlying problems, we analyze several non-trivial software architectures. The empirical study shows that a substantial amount of information of ADs is repeated, mainly by integrating information of different models in new models. Closer examination reveals that the absence of rigorously specified dependencies among models and the lack of support for automated composition of models are primary causes of management and consistency problems in software architecture. To tackle these problems, we introduce an approach in which compositions of models, together with relations among models, are explicitly supported in the ADL. We introduce these concepts formally and discuss a proof-of-concept instantiation of composition in xADL and its supporting tools. The approach is evaluated by comparing the original and revised ADs in an empirical study. The study indicates that our approach reduces the number of manually specified elements by 29%, and reduces the number of manual changes to elements for several realistic change scenarios by 52%.

Research paper thumbnail of DynCNET: A protocol for flexible transport assignment in AGV transportation systems

In this work, the experiences with the proposed communication protocol DynCNET are reported. The ... more In this work, the experiences with the proposed communication protocol DynCNET are reported. The idea of the communication protocol is based on the different states and actions an agent has to accomplish during his tasks. All the states are in a scheme: the statemachine. First, using XML, the statemachines are interpreted by the program. Second, the AGV agents and Transport agents are constructed with their own statemachine and integrated in the simulator. Finally the behaviour of the agents is implemented. The result is a standalone program that simulates the behaviour of AGV agents and Transport agents in a simulated environment. Several tests are conducted with the DynCNET protocol. The results of the tests are compared with the CNET protocol and the Field-based approach. The DynCNET protocol outperforms CNET on all performance measures. The cost of this increase in efficiency is a doubling of the required bandwidth. Contrary to the expectations, DynCNET is in general not able to outperform the Field-based approach. At best, DynCNET is able to equal the performance of Field-based transport assignment. With respect to exibility, DynCNET and the Field-based approach are of the same quality. A statistical analysis has been performed. This shows, with a significance of 95%, that the results are statistically significant and that the influence of time can be ruled out. The tests show that DynCNET is able to assign transports more flexible and that the efficiency of transport assignment is increased. A great advantage of the DynCNET protocol is the explicitness of the protocol. This leads to better understanding of the overall behaviour of transport assignment in the system and makes it easier to reason about the behaviour.

Research paper thumbnail of A study of aspect-oriented design approaches

This report carries out a study that is based on literature of the state-of-the-art in Aspect-Ori... more This report carries out a study that is based on literature of the state-of-the-art in Aspect-Oriented Design Approaches. The goal of this work is to position these design approaches within the full life-cycle of a software engineering process that encompasses requirements analysis, architecture design, detailed design, implementation, maintenance, evolution, etc. The study takes on the form of an evaluation that is based on a set of criteria communicating the goals of this report. The report provides a description and classification of these criteria including a discussion on the influence they have on various software quality factors. A conclusion will present a number of interesting observations about the current state-of-the-art.

Research paper thumbnail of Gradient field-based task assignment in an AGV transportation system

Assigning tasks to agents is complex, especially in highly dynamic environments. Typical protocol... more Assigning tasks to agents is complex, especially in highly dynamic environments. Typical protocol-based approaches for task assignment such as Contract Net have proven their value, however, they may not be flexible enough to cope with continuously changing circumstances. In this paper we study and validate the feasibility of a field-based approach for task assignment in a complex problem domain. In particular, we apply the field-based approach for task assignment in an AGV transportation system. In this approach, transports emit fields into the environment that attract idle AGVs. To avoid multiple AGVs driving towards the same transport, AGVs emit repulsive fields. AGVs combine received fields and follow the gradient of the combined fields, that guide them towards pick locations of transports. The AGVs continuously reconsider the situation of the environment and task assignment is delayed until the load is picked, improves the flexibility of the system. Extensive experiments indicate that the field-based approach outperforms the standard Contract Net approach on various performance measures, such as the average wait time of transports and throughput. Limitations of the field-based approach are an unequal distribution of wait times across different transports and a small increase of bandwidth occupation.

Research paper thumbnail of Applying the ATAM to an Architecture for Decentralized Control of a Transportation System

Springer eBooks, 2006

For two years, we have been involved in a challenging project to develop a new architecture for a... more For two years, we have been involved in a challenging project to develop a new architecture for an industrial transportation system. The motivating quality attributes to develop this innovative architecture were flexibility and openness. Taking these quality attributes into account, we proposed a decentralized architecture using multiagent systems (MASs). A MAS consists of multiple autonomous entities that coordinate with each other to achieve decentralized control. The typical advantages attributed to such decentralized architecture are flexibility and openness, the motivating quality attributes to apply MAS in this case. The Architecture Tradeoff Analysis Method (ATAM) was used to provide insights wether our architecture meets the expected flexibility and openness, and to identify tradeoffs with other quality attributes. Applying the ATAM proved to be a valuable experience. One of the main outcome of applying the ATAM was the identification of a tradeoff between flexibility and communication load that results from the use of a decentralized architecture. This paper describes our experiences in applying the ATAM to a MAS architecture, containing both the main outcomes of the evaluation and a critical reflection on the ATAM itself.

Research paper thumbnail of Decentralized coordination of plug-in hybrid vehicles for imbalance reduction in a smart grid

Adaptive Agents and Multi-Agents Systems, May 2, 2011

Intelligent electricity grids, or 'Smart Grids', are being introduced at a rapid pace. Smart grid... more Intelligent electricity grids, or 'Smart Grids', are being introduced at a rapid pace. Smart grids allow the management of new distributed power generators such as solar panels and wind turbines, and innovative power consumers such as plug-in hybrid vehicles. One challenge in Smart Grids is to fulfill consumer demands while avoiding infrastructure overloads. Another challenge is to reduce imbalance costs: after ahead scheduling of production and consumption (the socalled 'load schedule'), unpredictable changes in production and consumption yield a cost for repairing this balance. To cope with these risks and costs, we propose a decentralized, multi-agent system solution for coordinated charging of PHEVs in a Smart Grid. Essentially, the MAS utilizes an "intention graph" for expressing the flexibility of a fleet of PHEVs. Based on this flexibility, charging of PHEVs can be rescheduled in real-time to reduce imbalances. We discuss and evaluate two scheduling strategies for reducing imbalance costs: reactive scheduling and proactive scheduling. Simulations show that reactive scheduling is able to reduce imbalance costs by 14%, while proactive scheduling yields the highest imbalance cost reduction of 44%.

Research paper thumbnail of Traceable and information-preserving composition of architectural models

C&C and deployment are base views for describing software architectures. Both views typically exi... more C&C and deployment are base views for describing software architectures. Both views typically exist of several models that highlight particular aspects of the software. From our experience, managing the dependencies between architectural models is a challenging, yet crucial task for maintaining consistency of an architectural description. In this paper, we focus on the composition of architectural models and managing dependencies between models in such a composition. We formally define four basic relations between models and a composition operator that enables integration of several C&C models based on these relations. We elaborate on several semantic preserving properties of the composition operator, including traceability, consistency, and completeness. The relations and composition operator have been integrated in the xADL language and the AchStudio tool. We use excerpts of a distributed video-on-demand system designed with the tool as an illustrative case.

Research paper thumbnail of State-based join-points: Motivation and requirements

In developing a real-world complex application, we experience the major problem that complex conc... more In developing a real-world complex application, we experience the major problem that complex concerns do not easily map onto low-level aspects with join-points based on fixed points in the program code. It is our observation that modularizing concerns and quantification are to be tackled at design-time, using suitable abstractions, with a translation to dynamic weaving at run-time. In particular, we argue that 'abstract states' of software entities (a concern consists of software entities) are a promising instrument for defining higher-level join-points for concerns. The specification and quantification of concerns in terms of abstract states typically result in dynamic weaving, i.e. depending on run-time states of the software entities. Based on experience, we provide requirements for supporting concern modelling and quantification at design-time, as well as an initial sketch of an approach that we investigate in this perspective. The approach is based on a new type of higher-level join-points, called state-based join-points and serves as an example of the necessity for advanced dynamic (state-based) aspect weaving. The approach is motivated and illustrated through a scenario in a real-world application, namely decentralized control software for several automatic guided vehicles in an industrial transportation system.

Research paper thumbnail of Experiences with Theme/UML for Architectural Design in Multiagent Systems

In a recent R&D project, our research group developed an industrial AGV transportation system usi... more In a recent R&D project, our research group developed an industrial AGV transportation system using a multiagent system (MAS). The software architecture of this system is modeled using several architectural views. In this paper, we study an alternative way of structuring of the architectural description using Theme/UML. Theme/UML is an aspect-oriented design approach that provides support for advanced separation of concerns. Our goal is twofold. (1) We structure the architectural description based on important architectural concerns (such as coordination and distribution), instead of the current structure based on different viewtypes (module, component, deployment). The goal is to investigate the advantages and trade-offs of separating concerns in architectural design of MASs. (2) Currently, Theme/UML provides only support for detailed design. We aim to evaluate whether Theme/UML can be applied to architectural design. The results of our experience are promising. The advantage of separating architectural concerns is that the resulting architectural description (1) is better aligned with the architectural concerns, and (2) facilitates the investigation of alternatives for those concerns. We illustrate this by changing the distribution schema of the AGV transportation system. A trade-off is that describing the concerns separately makes it more difficult to get an overall view on the system. Finally, the experiment shows that Theme/UML is not ready for architectural design. To improve support for architectural design of MASs, we propose several extensions to Theme/UML .

Research paper thumbnail of Relating architectural views with architectural concerns

Architectural views are at the foundation of software architecture and are used to describe the s... more Architectural views are at the foundation of software architecture and are used to describe the system from different perspectives. However, some architectural concerns crosscut the decomposition of the architecture in views. The drawbacks of crosscutting with respect to architectural views is similar to the drawbacks with respect to code, i.e. hampering reuse, maintenance and evolution of the architecture. This paper investigates the relations between architectural concerns, architectural drivers and views to identify why crosscutting manifests itself. We propose to extend the architectural description with slices and composition mechanisms to prevent this crosscutting and perform an initial exploration of these concepts in an Online Auction system. Within this limited setting the first results look promising to better separate concerns that otherwise would crosscut the views.

Research paper thumbnail of Using code analysis tools for architectural conformance checking

Architectural conformance checking verifies whether a system conforms to its intended architectur... more Architectural conformance checking verifies whether a system conforms to its intended architecture, which is essential to safeguard the quality attributes of the system. Due to the size of many systems, performing conformance checking by means of manual code inspections is often practically infeasible. Code analysis tools can be used to automatically check architectural conformance. In this paper, we investigate several code analysis tools that offer support for Java and compare them on their usefulness for architectural conformance checking: Architecture Rules, Macker, Lattix DSM, SonarJ, Structure101 and XDepend.

Research paper thumbnail of DynCNET: A Protocol for Dynamic Task Assignment in Multiagent Systems

Task assignment in multiagent systems is a complex coordination problem, in particular in systems... more Task assignment in multiagent systems is a complex coordination problem, in particular in systems that are subject to dynamic and changing operating conditions. To enable agents to manage dynamism and change, adaptive task assignment approaches are needed. In this paper, we introduce DynCNET, a protocol for dynamic task assignment that extends standard contract net (CNET). DynCNET allows the agents involved in the protocol to switch the assignment of tasks dynamically. We use an industrial automated transportation system as illustration and present results obtained from a real-world test setting that compare DynCNET with standard CNET and a field-based approach for task assignment.

Research paper thumbnail of Characterizing Relations between Architectural Views

Springer eBooks, Sep 20, 2008

It is commonly agreed that an architectural description (AD) consists of multiple views. Each vie... more It is commonly agreed that an architectural description (AD) consists of multiple views. Each view describes the architecture from the perspective of particular stakeholder concerns. Although views are constructed separately, they are related as they describe the same system. A thorough study of the literature reveals that research on relations between views is fragmented and that a comprehensive study is hampered by an absence of common terminology. This has become apparent in the discussion on interview relational concepts in the revision of IEEE 1471 as ISO/IEC 42010 (Systems and Software Engineering-Architectural Description). This paper puts forward a framework that employs a consistent terminology to characterize relations between views. The framework sheds light on the usage, scope and mechanisms for relations, and is illustrated using several representative approaches from the literature. We conclude with a reflection on whether the revision of ISO 42010 aligns with our findings.

Research paper thumbnail of A field-based versus a protocol-based approach for adaptive task assignment

Autonomous Agents and Multi-Agent Systems, Mar 19, 2008

Task assignment in multi-agent systems is a complex coordination problem, in particular in system... more Task assignment in multi-agent systems is a complex coordination problem, in particular in systems that are subject to dynamic and changing operating conditions. To enable agents to deal with dynamism and change, adaptive task assignment approaches are needed. In this paper, we study two approaches for adaptive task assignment that are characteristic for two classical families of task assignment approaches. FiTA is a field-based approach in which tasks emit fields in the environment that guide idle agents to tasks. DynCNET is a protocolbased approach that extends standard contract net (CNET). In DynCNET, agents use explicit negotiation to assign tasks. We compare both approaches in a simulation of an industrial automated transportation system. Our experiences show that: (1) the performance of DynCNET and FiTA are similar, while both outperform CNET; (2) the complexity to engineer DynCNET is similar to FiTA but much more complex than CNET; (3) whereas task assignment with FiTA is an emergent solution, DynCNET specifies the interaction among agents explicitly allowing engineers to reason on the assignment of tasks, (4) FiTA is inherently robust to message loss while DynC-NET requires substantial additional support. The tradeoff between (3) and (4) is an important criteria for the selection of an adaptive task assignment approach in practice.

Research paper thumbnail of State-based join-points: an approach for obliviousness and quantification based on experience in an industrial case

Research paper thumbnail of Model-based enhancement of software performance for precision critical systems

Architectural level analysis of a software system for its quality attributes is a proven cost-eff... more Architectural level analysis of a software system for its quality attributes is a proven cost-effective approach. This is particularly significant for performance, which defines multiple aspects of the quality of the system. In this paper we outline the contribution of a PhD, which provides architecture viewpoint based modeling and analysis support for parallelism and flow latency aspects of the performance, in legacy systems. The main contribution of the PhD includes Parallelism Viewpoint and Flow Latency Viewpoint. We use the proposed viewpoints to find parallelism and flow latencies specific performance bottlenecks of an industrial case, a precision critical electron microscope software system. The preliminary results of using Parallelism Viewpoint for our example case show that the viewpoint provides a profound insight into the thread-model of the system, which helps in reducing the excessively used parallelism in the system.

Research paper thumbnail of A parallelism viewpoint to analyze performance bottlenecks of parallelism-intensive software systems

European Software Engineering Conference, Oct 13, 2010

The use of parallelism enhances the performance of a software system. However, its excessive use ... more The use of parallelism enhances the performance of a software system. However, its excessive use can degrade the system performance. In this paper we propose a parallelism viewpoint to optimize the use of parallelism by eliminating unnecessarily used parallelism in legacy systems. The parallelism viewpoint describes parallelism of the system in order to analyze multiple overheads associated with its threads. We use the proposed viewpoint to find parallelism specific performance overheads of an industrial case, a precision critical parallelism-intensive electron microscope software system. Results show that reduction in parallelism requires a profound insight into the thread-model of the system, which can be achieved by using our proposed viewpoint.

Research paper thumbnail of Decentralized demand side management of plug-in hybrid vehicles in a Smart Grid

Research paper thumbnail of DynCNET: A protocol for flexible task assignment in situated multiagent systems

Self-Adaptive and Self-Organizing Systems, 2007

The work presented in this paper is part of an ongoing effort to study suitable task assignment m... more The work presented in this paper is part of an ongoing effort to study suitable task assignment mechanisms for decentralized MAS. Our focus is on systems that are characterized by tasks with delayed commencement. Such a task requires a preceding effort before the agent can start executing the task. An example is a robot that first has to move to the location of a task before it can start executing that task. Important quality requirements for assigning tasks with delayed commencement are flexibility (enable agents to adapt task assignment with changing circumstances) and openness (enable agents to take into account other agents that come and go during the process of task assignment). In previous work, we have studied Contract Net (CNET) and a field-based approach for task assignment (FiTA). CNET does not provide the required flexibility and openness. FiTA satisfies the required qualities, however, the field-based approach provides an emergent solution for task assignment. It is well known that emergent solutions are difficult to engineer and reason about. This raises the question whether it is not easier to extend CNET to take dynamics and changes into account. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment. DynCNET provides flexibility and openness for assigning tasks with delayed commencement. We compare the DynCNET protocol with CNET and FiTA in an AGV transportation system. Our experiences in this real-world setting show that: (1) the performance of DynCNET and FiTA are similar, while both outperform CNET; (2) extending CNET to deal with delayed commencement of tasks is not obvious; the complexity to engineer DynCNET is similar to FiTA but much more complex than CNET; (3) whereas task assignment with FiTA is an emergent solution, DynCNET explicitly specifies the interaction among agents allowing engineers to reason on the assignment of tasks. This latter property may be of overriding importance in the selection of an agent-based approach for task assignment in practice. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment, i.e. DynCNET supports flexibility and openness for assigning tasks with delayed commencement. Overview. In the next section, we give a brief overview of the decentralized architecture of the AGV transportation system. Section 3 introduces the DynCNET protocol. In section 4, we discuss test results obtained from applying DynCNET in an AGV transportation system, and we compare DynCNET with standard CNET and FiTA. Section 5 discusses related work. Finally, in section 6 we draw conclusions. 2 The AGV Transportation System An AGV transportation system is a fully automated industrial transport system, that uses multiple AGVs to transport loads (raw materials, finished products, etc.) in an industrial environment such as a warehouse. In this section we give a brief overview of the AGV transportation application and the basic software architecture. 2.1 AGVs and Transports AGVs. An AGV is a unmanned, battery powered vehicle, capable of picking up loads, driving around and dropping them. AGVs can communicate by means of a wireless LAN. The AGVs are restricted to follow a predefined layout in the environment. The layout is defined in a map that consists of a network of stations and segments. AGVs are equipped with low-level control software that provides an interface to command the AGV; example commands are move(segment), pick(load), etc. The low-level control software uses sensors and actuators, and beacons in the environment to stay on track, turn, pick and drop loads, and determine the current position.

Research paper thumbnail of DynCNET : a protocol for flexible task assignment applied in an AGV transportation system

European Workshop on Multi-Agent Systems, 2006

The work presented in this paper is part of an ongoing effort to study suitable task assignment m... more The work presented in this paper is part of an ongoing effort to study suitable task assignment mechanisms for decentralized MAS. Our focus is on systems that are characterized by tasks with delayed commencement. Such a task requires a preceding effort before the agent can start executing the task. An example is a robot that first has to move to the location of a task before it can start executing that task. Important quality requirements for assigning tasks with delayed commencement are flexibility (enable agents to adapt task assignment with changing circumstances) and openness (enable agents to take into account other agents that come and go during the process of task assignment). In previous work, we have studied Contract Net (CNET) and a field-based approach for task assignment (FiTA). CNET does not provide the required flexibility and openness. FiTA satisfies the required qualities, however, the field-based approach provides an emergent solution for task assignment. It is well known that emergent solutions are difficult to engineer and reason about. This raises the question whether it is not easier to extend CNET to take dynamics and changes into account. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment. DynCNET provides flexibility and openness for assigning tasks with delayed commencement. We compare the DynCNET protocol with CNET and FiTA in an AGV transportation system. Our experiences in this real-world setting show that: (1) the performance of DynCNET and FiTA are similar, while both outperform CNET; (2) extending CNET to deal with delayed commencement of tasks is not obvious; the complexity to engineer DynCNET is similar to FiTA but much more complex than CNET; (3) whereas task assignment with FiTA is an emergent solution, DynCNET explicitly specifies the interaction among agents allowing engineers to reason on the assignment of tasks. This latter property may be of overriding importance in the selection of an agent-based approach for task assignment in practice. This paper presents the DynCNET protocol. DynCNET is an extention of CNET, with "Dyn" referring to support for dynamic task assignment, i.e. DynCNET supports flexibility and openness for assigning tasks with delayed commencement. Overview. In the next section, we give a brief overview of the decentralized architecture of the AGV transportation system. Section 3 introduces the DynCNET protocol. In section 4, we discuss test results obtained from applying DynCNET in an AGV transportation system, and we compare DynCNET with standard CNET and FiTA. Section 5 discusses related work. Finally, in section 6 we draw conclusions. 2 The AGV Transportation System An AGV transportation system is a fully automated industrial transport system, that uses multiple AGVs to transport loads (raw materials, finished products, etc.) in an industrial environment such as a warehouse. In this section we give a brief overview of the AGV transportation application and the basic software architecture. 2.1 AGVs and Transports AGVs. An AGV is a unmanned, battery powered vehicle, capable of picking up loads, driving around and dropping them. AGVs can communicate by means of a wireless LAN. The AGVs are restricted to follow a predefined layout in the environment. The layout is defined in a map that consists of a network of stations and segments. AGVs are equipped with low-level control software that provides an interface to command the AGV; example commands are move(segment), pick(load), etc. The low-level control software uses sensors and actuators, and beacons in the environment to stay on track, turn, pick and drop loads, and determine the current position.

Research paper thumbnail of Composition of architectural models: Empirical analysis and language support

Journal of Systems and Software, Nov 1, 2010

Managing the architectural description (AD) of a complex software system and maintaining consiste... more Managing the architectural description (AD) of a complex software system and maintaining consistency among the different models is a demanding task. To understand the underlying problems, we analyze several non-trivial software architectures. The empirical study shows that a substantial amount of information of ADs is repeated, mainly by integrating information of different models in new models. Closer examination reveals that the absence of rigorously specified dependencies among models and the lack of support for automated composition of models are primary causes of management and consistency problems in software architecture. To tackle these problems, we introduce an approach in which compositions of models, together with relations among models, are explicitly supported in the ADL. We introduce these concepts formally and discuss a proof-of-concept instantiation of composition in xADL and its supporting tools. The approach is evaluated by comparing the original and revised ADs in an empirical study. The study indicates that our approach reduces the number of manually specified elements by 29%, and reduces the number of manual changes to elements for several realistic change scenarios by 52%.

Research paper thumbnail of DynCNET: A protocol for flexible transport assignment in AGV transportation systems

In this work, the experiences with the proposed communication protocol DynCNET are reported. The ... more In this work, the experiences with the proposed communication protocol DynCNET are reported. The idea of the communication protocol is based on the different states and actions an agent has to accomplish during his tasks. All the states are in a scheme: the statemachine. First, using XML, the statemachines are interpreted by the program. Second, the AGV agents and Transport agents are constructed with their own statemachine and integrated in the simulator. Finally the behaviour of the agents is implemented. The result is a standalone program that simulates the behaviour of AGV agents and Transport agents in a simulated environment. Several tests are conducted with the DynCNET protocol. The results of the tests are compared with the CNET protocol and the Field-based approach. The DynCNET protocol outperforms CNET on all performance measures. The cost of this increase in efficiency is a doubling of the required bandwidth. Contrary to the expectations, DynCNET is in general not able to outperform the Field-based approach. At best, DynCNET is able to equal the performance of Field-based transport assignment. With respect to exibility, DynCNET and the Field-based approach are of the same quality. A statistical analysis has been performed. This shows, with a significance of 95%, that the results are statistically significant and that the influence of time can be ruled out. The tests show that DynCNET is able to assign transports more flexible and that the efficiency of transport assignment is increased. A great advantage of the DynCNET protocol is the explicitness of the protocol. This leads to better understanding of the overall behaviour of transport assignment in the system and makes it easier to reason about the behaviour.

Research paper thumbnail of A study of aspect-oriented design approaches

This report carries out a study that is based on literature of the state-of-the-art in Aspect-Ori... more This report carries out a study that is based on literature of the state-of-the-art in Aspect-Oriented Design Approaches. The goal of this work is to position these design approaches within the full life-cycle of a software engineering process that encompasses requirements analysis, architecture design, detailed design, implementation, maintenance, evolution, etc. The study takes on the form of an evaluation that is based on a set of criteria communicating the goals of this report. The report provides a description and classification of these criteria including a discussion on the influence they have on various software quality factors. A conclusion will present a number of interesting observations about the current state-of-the-art.

Research paper thumbnail of Gradient field-based task assignment in an AGV transportation system

Assigning tasks to agents is complex, especially in highly dynamic environments. Typical protocol... more Assigning tasks to agents is complex, especially in highly dynamic environments. Typical protocol-based approaches for task assignment such as Contract Net have proven their value, however, they may not be flexible enough to cope with continuously changing circumstances. In this paper we study and validate the feasibility of a field-based approach for task assignment in a complex problem domain. In particular, we apply the field-based approach for task assignment in an AGV transportation system. In this approach, transports emit fields into the environment that attract idle AGVs. To avoid multiple AGVs driving towards the same transport, AGVs emit repulsive fields. AGVs combine received fields and follow the gradient of the combined fields, that guide them towards pick locations of transports. The AGVs continuously reconsider the situation of the environment and task assignment is delayed until the load is picked, improves the flexibility of the system. Extensive experiments indicate that the field-based approach outperforms the standard Contract Net approach on various performance measures, such as the average wait time of transports and throughput. Limitations of the field-based approach are an unequal distribution of wait times across different transports and a small increase of bandwidth occupation.

Research paper thumbnail of Applying the ATAM to an Architecture for Decentralized Control of a Transportation System

Springer eBooks, 2006

For two years, we have been involved in a challenging project to develop a new architecture for a... more For two years, we have been involved in a challenging project to develop a new architecture for an industrial transportation system. The motivating quality attributes to develop this innovative architecture were flexibility and openness. Taking these quality attributes into account, we proposed a decentralized architecture using multiagent systems (MASs). A MAS consists of multiple autonomous entities that coordinate with each other to achieve decentralized control. The typical advantages attributed to such decentralized architecture are flexibility and openness, the motivating quality attributes to apply MAS in this case. The Architecture Tradeoff Analysis Method (ATAM) was used to provide insights wether our architecture meets the expected flexibility and openness, and to identify tradeoffs with other quality attributes. Applying the ATAM proved to be a valuable experience. One of the main outcome of applying the ATAM was the identification of a tradeoff between flexibility and communication load that results from the use of a decentralized architecture. This paper describes our experiences in applying the ATAM to a MAS architecture, containing both the main outcomes of the evaluation and a critical reflection on the ATAM itself.

Research paper thumbnail of Decentralized coordination of plug-in hybrid vehicles for imbalance reduction in a smart grid

Adaptive Agents and Multi-Agents Systems, May 2, 2011

Intelligent electricity grids, or 'Smart Grids', are being introduced at a rapid pace. Smart grid... more Intelligent electricity grids, or 'Smart Grids', are being introduced at a rapid pace. Smart grids allow the management of new distributed power generators such as solar panels and wind turbines, and innovative power consumers such as plug-in hybrid vehicles. One challenge in Smart Grids is to fulfill consumer demands while avoiding infrastructure overloads. Another challenge is to reduce imbalance costs: after ahead scheduling of production and consumption (the socalled 'load schedule'), unpredictable changes in production and consumption yield a cost for repairing this balance. To cope with these risks and costs, we propose a decentralized, multi-agent system solution for coordinated charging of PHEVs in a Smart Grid. Essentially, the MAS utilizes an "intention graph" for expressing the flexibility of a fleet of PHEVs. Based on this flexibility, charging of PHEVs can be rescheduled in real-time to reduce imbalances. We discuss and evaluate two scheduling strategies for reducing imbalance costs: reactive scheduling and proactive scheduling. Simulations show that reactive scheduling is able to reduce imbalance costs by 14%, while proactive scheduling yields the highest imbalance cost reduction of 44%.

Research paper thumbnail of Traceable and information-preserving composition of architectural models

C&C and deployment are base views for describing software architectures. Both views typically exi... more C&C and deployment are base views for describing software architectures. Both views typically exist of several models that highlight particular aspects of the software. From our experience, managing the dependencies between architectural models is a challenging, yet crucial task for maintaining consistency of an architectural description. In this paper, we focus on the composition of architectural models and managing dependencies between models in such a composition. We formally define four basic relations between models and a composition operator that enables integration of several C&C models based on these relations. We elaborate on several semantic preserving properties of the composition operator, including traceability, consistency, and completeness. The relations and composition operator have been integrated in the xADL language and the AchStudio tool. We use excerpts of a distributed video-on-demand system designed with the tool as an illustrative case.

Research paper thumbnail of State-based join-points: Motivation and requirements

In developing a real-world complex application, we experience the major problem that complex conc... more In developing a real-world complex application, we experience the major problem that complex concerns do not easily map onto low-level aspects with join-points based on fixed points in the program code. It is our observation that modularizing concerns and quantification are to be tackled at design-time, using suitable abstractions, with a translation to dynamic weaving at run-time. In particular, we argue that 'abstract states' of software entities (a concern consists of software entities) are a promising instrument for defining higher-level join-points for concerns. The specification and quantification of concerns in terms of abstract states typically result in dynamic weaving, i.e. depending on run-time states of the software entities. Based on experience, we provide requirements for supporting concern modelling and quantification at design-time, as well as an initial sketch of an approach that we investigate in this perspective. The approach is based on a new type of higher-level join-points, called state-based join-points and serves as an example of the necessity for advanced dynamic (state-based) aspect weaving. The approach is motivated and illustrated through a scenario in a real-world application, namely decentralized control software for several automatic guided vehicles in an industrial transportation system.

Research paper thumbnail of Experiences with Theme/UML for Architectural Design in Multiagent Systems

In a recent R&D project, our research group developed an industrial AGV transportation system usi... more In a recent R&D project, our research group developed an industrial AGV transportation system using a multiagent system (MAS). The software architecture of this system is modeled using several architectural views. In this paper, we study an alternative way of structuring of the architectural description using Theme/UML. Theme/UML is an aspect-oriented design approach that provides support for advanced separation of concerns. Our goal is twofold. (1) We structure the architectural description based on important architectural concerns (such as coordination and distribution), instead of the current structure based on different viewtypes (module, component, deployment). The goal is to investigate the advantages and trade-offs of separating concerns in architectural design of MASs. (2) Currently, Theme/UML provides only support for detailed design. We aim to evaluate whether Theme/UML can be applied to architectural design. The results of our experience are promising. The advantage of separating architectural concerns is that the resulting architectural description (1) is better aligned with the architectural concerns, and (2) facilitates the investigation of alternatives for those concerns. We illustrate this by changing the distribution schema of the AGV transportation system. A trade-off is that describing the concerns separately makes it more difficult to get an overall view on the system. Finally, the experiment shows that Theme/UML is not ready for architectural design. To improve support for architectural design of MASs, we propose several extensions to Theme/UML .

Research paper thumbnail of Relating architectural views with architectural concerns

Architectural views are at the foundation of software architecture and are used to describe the s... more Architectural views are at the foundation of software architecture and are used to describe the system from different perspectives. However, some architectural concerns crosscut the decomposition of the architecture in views. The drawbacks of crosscutting with respect to architectural views is similar to the drawbacks with respect to code, i.e. hampering reuse, maintenance and evolution of the architecture. This paper investigates the relations between architectural concerns, architectural drivers and views to identify why crosscutting manifests itself. We propose to extend the architectural description with slices and composition mechanisms to prevent this crosscutting and perform an initial exploration of these concepts in an Online Auction system. Within this limited setting the first results look promising to better separate concerns that otherwise would crosscut the views.

Research paper thumbnail of Using code analysis tools for architectural conformance checking

Architectural conformance checking verifies whether a system conforms to its intended architectur... more Architectural conformance checking verifies whether a system conforms to its intended architecture, which is essential to safeguard the quality attributes of the system. Due to the size of many systems, performing conformance checking by means of manual code inspections is often practically infeasible. Code analysis tools can be used to automatically check architectural conformance. In this paper, we investigate several code analysis tools that offer support for Java and compare them on their usefulness for architectural conformance checking: Architecture Rules, Macker, Lattix DSM, SonarJ, Structure101 and XDepend.

Research paper thumbnail of DynCNET: A Protocol for Dynamic Task Assignment in Multiagent Systems

Task assignment in multiagent systems is a complex coordination problem, in particular in systems... more Task assignment in multiagent systems is a complex coordination problem, in particular in systems that are subject to dynamic and changing operating conditions. To enable agents to manage dynamism and change, adaptive task assignment approaches are needed. In this paper, we introduce DynCNET, a protocol for dynamic task assignment that extends standard contract net (CNET). DynCNET allows the agents involved in the protocol to switch the assignment of tasks dynamically. We use an industrial automated transportation system as illustration and present results obtained from a real-world test setting that compare DynCNET with standard CNET and a field-based approach for task assignment.

Research paper thumbnail of Characterizing Relations between Architectural Views

Springer eBooks, Sep 20, 2008

It is commonly agreed that an architectural description (AD) consists of multiple views. Each vie... more It is commonly agreed that an architectural description (AD) consists of multiple views. Each view describes the architecture from the perspective of particular stakeholder concerns. Although views are constructed separately, they are related as they describe the same system. A thorough study of the literature reveals that research on relations between views is fragmented and that a comprehensive study is hampered by an absence of common terminology. This has become apparent in the discussion on interview relational concepts in the revision of IEEE 1471 as ISO/IEC 42010 (Systems and Software Engineering-Architectural Description). This paper puts forward a framework that employs a consistent terminology to characterize relations between views. The framework sheds light on the usage, scope and mechanisms for relations, and is illustrated using several representative approaches from the literature. We conclude with a reflection on whether the revision of ISO 42010 aligns with our findings.

Research paper thumbnail of A field-based versus a protocol-based approach for adaptive task assignment

Autonomous Agents and Multi-Agent Systems, Mar 19, 2008

Task assignment in multi-agent systems is a complex coordination problem, in particular in system... more Task assignment in multi-agent systems is a complex coordination problem, in particular in systems that are subject to dynamic and changing operating conditions. To enable agents to deal with dynamism and change, adaptive task assignment approaches are needed. In this paper, we study two approaches for adaptive task assignment that are characteristic for two classical families of task assignment approaches. FiTA is a field-based approach in which tasks emit fields in the environment that guide idle agents to tasks. DynCNET is a protocolbased approach that extends standard contract net (CNET). In DynCNET, agents use explicit negotiation to assign tasks. We compare both approaches in a simulation of an industrial automated transportation system. Our experiences show that: (1) the performance of DynCNET and FiTA are similar, while both outperform CNET; (2) the complexity to engineer DynCNET is similar to FiTA but much more complex than CNET; (3) whereas task assignment with FiTA is an emergent solution, DynCNET specifies the interaction among agents explicitly allowing engineers to reason on the assignment of tasks, (4) FiTA is inherently robust to message loss while DynC-NET requires substantial additional support. The tradeoff between (3) and (4) is an important criteria for the selection of an adaptive task assignment approach in practice.

Research paper thumbnail of State-based join-points: an approach for obliviousness and quantification based on experience in an industrial case