Tag Archives: adaptive

Architecture-centric Design of Complex Message-based Service Systems

Dorn, C., Waibel, P., Dustdar, S., (2014) Architecture-Centric Design of Complex Message-Based Service Systems. In Proceedings of the 12th International Conference on Service-oriented Computing (ICSOC 2014), Nov 2014, Paris, Springer LNCS [Supporting Online Material on this blog]

Abstract: Complex, message-based service systems discourage central execution control, require extremely loose coupling, have to cope with unpredictable availability of individual (composite) services, and may experience a dynamically changing number of service instances. At the topmost level, the architecture of such a complex system often follows a messaging style most naturally.
A major problem during the design of these systems is achieving an overall consistent configuration (i.e, ensuring intended message routing across producers, consumers, and brokers). While orchestration or choreography-based approaches support the design of individual composite services along a workflow-centric paradigm, they are an awkward fit for specifying a message-centric architecture.
In this paper, we present an architecture-centric approach to designing complex service systems. Specifically we propose modeling the system’s high-level architecture with an architecture description language (ADL). The ADL captures the message-centric configuration which subsequently allows for consistency checking. An architecture-to-configuration transformation ensures that the individual deployed services follow the architecture without having to rely on a central coordinator at runtime. Utilizing our provided tool support, we demonstrate the successful application of our methodology on a real world service system.

Software Prototype by Philipp Waibel for download at: https://bitbucket.org/pwaibel/archstudio-4-msa_extension

Towards Collaboration-Centric Pattern-Based Software Development Support

Dorn, C., Egyed, A., (2013) Towards Collaboration-Centric Pattern-Based Software Development Support  (preprint), In Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE 2013) co-located with the International Conference on Software Engineering (ICSE), May 2013, San Francisco, USA, to appear.

Abstract: Software engineering activities tend to be loosely coupled to allow for flexibly reacting to unforeseen development complexity, requirements changes, and progress delays. This flexibility comes a the price of hidden dependencies among design and code artifacts that make it difficult or even impossible to assess change impact. Incorrect change propagation subsequently results in costly errors.
This position paper proposes a novel approach based on monitoring engineering activities for subsequent high-level pattern detection. Patterns of (i) collaboration structures, (ii) temporal action sequences, and (iii) artifact consistency constraints serve as input to recommendation and automatic reconfiguration algorithms for ultimately avoiding and correcting artifact inconsistencies.

Workshop Poster

Coupling Software Architecture and Human Architecture for Collaboration-aware System Adaptation

Dorn, C., Taylor R. N., (2013) Coupling Software Architecture and Human Architecture for Collaboration-aware System Adaptation, In Proceedings of the International Conference on Software Engineering (ICSE), May 2013, San Francisco, USA, to appear.

Abstract: The emergence of socio-technical systems characterized by significant user collaboration poses a new challenge for system adaptation. People are no longer just the “users” of a system but an integral part. Traditional self-adaptation mechanisms, however, consider only the software system and remain unaware of the ramifications arising from collaboration interdependencies. By neglecting collective user behavior, an adaptation mechanism is unfit to appropriately adapt to evolution of user activities, consider side-effects on collaborations during the adaptation process, or anticipate negative consequence upon reconfiguration completion.

Inspired by existing architecture-centric system adaptation approaches, we propose linking the runtime software architecture to the human collaboration topology. We introduce a mapping mechanism and corresponding framework that enables a system adaptation manager to reason upon the effect of software-level changes on human interactions and vice versa. We outline the integration of the human architecture in the adaptation process and demonstrate the benefit of our approach in a case study.

Co-Adapting Collaborations and Software Architectures

Dorn, C., Taylor R. N., (2012) Co-Adapting Collaborations and Software Architectures, In Proceedings of the International Conference on Software Engineering (ICSE) – NIER Track, June, 2012, Zurich, Switzerland.

Wordle: NIER2012

Mapping Software Architecture Styles and Collaboration Patterns for Engineering Adaptive Mixed Systems

My first technical report about my current research here at UC Irvine/ISR is available online: http://www.isr.uci.edu/tech_reports/UCI-ISR-11-4.pdf

Dorn, C., Taylor R. N., (2011) Mapping Software Architecture Styles and Collaboration Patterns for Engineering Adaptive Mixed Systems, Technical Report UCI-ISR-11-4, University of California, Irvine.