21 research outputs found

    Macodo: Architecture-Centric Support for Dynamic Service Collaborations (Macodo: architectuur-gebaseerde ondersteuning voor dynamische service-samenwerkingen)

    No full text
    Flexible integration and collaboration of information systems, both within and across company borders, has become essential to success in current business environments. In the domain of supply chain management, for example, the arrival of a new order can no longer be handled by a single system. Instead, it requires complex collaborations, between multiple systems and services across companies, that constantly have to be adapted to changing market needs. The primary goal of information technology in such domains is to support flexible integration and collaboration between these systems. Without proper integration and collaboration, systems can easily become islands of information, resulting in inefficient and inflexible solutions. Realizing collaborations and building the supporting infrastructures, however, poses huge engineering challenges, from architectural design to actual implementation. To address these challenges, current state of practice relies on middleware, workflow management, service-oriented architecture, and Web services.In this thesis, we argue that several engineering challenges are insufficiently addressed by current state of practice, such as modularization of collaborations, managing complexity, and separation of concerns. This often leads to faults, complex solutions with little reuse, and reduced productivity. Most of these problems relate to the lack of proper collaboration abstractions and the missing reification of these abstractions throughout the development process. To address a number of these problems, we present Macodo, an approach that consists of three complementary parts: (1) a set of abstractions for dynamic service collaborations, (2) a set of architectural views that reify these abstractions at architectural level, allowing to build and document service collaborations in terms of software elements, and (3) a middleware infrastructure that supports the collaboration abstractions at implementation level. Macodo focusses on service collaborations that take place in a restricted collaboration environment, managed by a trusted party. To validate the contributions of this thesis, we apply them in a supply chain management case and evaluate them in a controlled experiment. Results show that the use of Macodo, compared to state of practice, can provide an improvement in terms of fault density, design complexity, level of reuse, and productivity.nrpages: 244status: publishe

    Evaluation of Macodo: A controlled experiment

    No full text
    In today's volatile business environments, collaboration between information systems, both within and across company borders, has become essential to success. Developing such collaborative applications and building the supporting information systems poses several engineering challenges. A key challenge is to manage the ever growing design complexity. State of the art solutions, however, often lack proper abstractions for modeling collaborations at architectural level or do not reify these abstractions at detailed design and implementation level. Developers, on the other hand, rely on middleware, business process management, and Web services, techniques that mainly focus on low-level infrastructure. Macodo addresses the problem of managing the design complexity of collaborative applications with three contributions: (1) a set of abstractions for modeling dynamic collaborations, (2) a set of architectural views, the main contribution of this paper, that reify these abstractions at architectural level, and (3) a proof of concept middleware infrastructure that supports the architectural abstractions at design and implementation level. In this document, we report on an empirical study that evaluates the main contribution of Macodo, the architectural views. The study is performed with 67 final year students of a Master in Software Engineering program from a university in Sweden and 2 universities in Ukraine. Results show that the use of Macodo~can reduce fault density and design complexity, and improve reuse and productivity.nrpages: 195status: publishe

    A formal specification of an organization model and management model for context-driven dynamic organizations

    No full text
    An organization middleware encapsulates the management of dynamic organizations and offers roles and organizations as high-level abstractions to application developers. This report presents a complete formal specification in Z of an organization model and management model for context-driven dynamic organizations, a particular class of dynamic organizations. The organization model describes the abstractions offered by the organization middleware, while the management model describes the desired behavior of the middleware with respect to the management of dynamic organizations. Context-driven dynamic organizations, allow developers to group agents in organizations which represent collaborations that are driven by a dynamic context. As the context changes, the required collaborations change and the organizations have to be adapted. The management model identifies external inputs, such as changes in context, and a set of reflective adaptation processes, which will adapt the organizations accordingly. We use a decentralized traffic monitoring case to illustrate the organization and management model.nrpages: 31status: publishe

    The MACODO Organization Model for Context-Driven Dynamic Agent Organzations

    No full text
    Today’s distributed applications such as sensor networks, mobile multimedia applications, and intelligent transportation systems pose huge engineering challenges. Such systems often comprise different components that interact with each other as peers, as such forming a decentralized system. The system components and collaborations change over time, often in unanticipated ways. Multi-agent systems belong to a class of decentralized systems that are known for realizing qualities such as adaptability, robustness, and scalability in such environments. A typical way to structure and manage interactions among agents is by means of organizations. Existing approaches usually endow agents with a dual responsibility: on the one hand agents have to play roles providing the associated functionality in the organization, on the other hand agents are responsible for setting up organizations and managing organization dynamics. Engineering realistic multi-agent systems in which agents encapsulate this dual responsibility is a complex task. In this paper, we present an organization model for context-driven dynamic agent organizations. The model defines abstractions that support application developers to describe dynamic organizations. The organization model is part of an integrated approach, called MACODO: Middleware Architecture for COntext-driven Dynamic agent Organizations. The complementary part of the MACODO approach is a middleware platform that supports the distributed execution of dynamic organizations specified using the abstractions, as described in [Weyns et al. 2009]

    Weaving the fabric of the control loop through aspects

    No full text
    Self-adaptive systems are systems that are able to autonomously adapt to changing circumstances without human intervention. A number of frameworks exist that can ease the design and development of such systems by providing a generic architecture that can be reused across multiple application domains. In this paper, we study the applicability of aspect-oriented programming (AOP) to see where and how AOP can provide an interesting alternative for implementing parts of the architecture of self-adaptive frameworks. In particular, we relate two existing self-adaptive frameworks to the body of work on aspect-oriented programming techniques for self-adaptation. We present an aspect-oriented architecture for self-adaptive systems to show how AOP can be used for framework customization, event brokering and event aggregation. The potential of AOP for efficiency is shown by evaluating the architecture in a case study on decentralized traffic monitoring. Finally, we explore the potential and challenges of AOP for building scalable and decentralized self-adaptive systems.status: publishe

    A Formal Model for Self-Adaptive and Self-Healing Organizations

    No full text
    Multi-agent systems typically consist of autonomous entities, capable of adapting their behavior and interaction patterns in dynamic environments, making them an interesting approach for modeling self-adaptive systems. The interactions among agents, a key challenge in engineering multi-agent systems, are often structured and managed by means of organizations. In previous work we have built a prototype of an organization middleware, which encapsulates the management of dynamic organizations as a reusable service and offers organizations as first-class programming abstractions to application developers. To develop a mature middleware, we face two key challenges: realizing the integration of the middleware with the rest of the system in a disciplined way and assuring properties, such as self-adaptivity and selfhealing, of services offered by the middleware. This paper presents a formal specification of an organization and management model for dynamic organizations, a first step in facing these challenges. Both models contribute to the integration of the middleware with the rest of the system. The organization model rigorously describes the main programming abstractions to which application developers have to conform, while the management model can be used to derive specific monitoring and control points required by the middleware to realize self- * properties. In addition, the management model offers a foundation to reason about self- * properties. 1

    CooS: coordination support for mobile collaborative applications

    No full text
    The advent of mobile devices, such as smartphones and tablets, and their integration with cloud computing is turning ubiquitous computing into reality. This ubiquity opens doors to innovative applications, where mobile devices collaborate on behalf of their users. Applications that leverage this new paradigm, however, have yet to reach the market. One of the reasons is due to the inherent complexity of developing such collaborative applications on mobile devices. In this paper, we present a middleware that enables coordination on mobile devices. Our middleware frees applications from directly managing the interaction between collaboration partners. It also uses contextual information, such as location, to dynamically determine possible collaboration partners. We focus on a particular class of applications in which mobile devices have to collaborate to allocate tasks (e.g., picking up passengers) to physically distributed resources (e.g., taxis). The technical feasibility of our middleware is shown by the implementation of our middleware architecture, a deployment of our middleware on a real cloud environment and operating it with over 800 clients.status: publishe
    corecore