Analyzing runtime adaptability of collaboration patterns (extended journal version)

A significantly extended version of my ISR Technical Report 12-05 and CTS 2012 conference paper [blog] on “Analyzing runtime adaptability of collaboration patterns” has been accepted as a journal article:

Dorn C, Taylor R. N. (2014), Analyzing runtime adaptability of collaboration patterns (preprint), Concurrency Computat.: Pract. Exper., doi: 10.1002/cpe.3438 (early online access)

Advertisements

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

Specifying Flexible Human Behavior in Interaction-Intensive Process Environments

Dorn, C., Osterweil, L.J., Dustdar, S., (2014) Specifying Flexible Human Behavior in Interaction-Intensive Process Environments, In Proceedings of the 12th International Conference on Business Process Management (BPM 2014), Sep 2014, Eindhoven, Springer LNCS

Abstract: Fast changing business environments characterized by unpredictable
variations call for flexible process-aware systems. The BPM community addressed this challenge through various approaches but little focus has been on how to specify (respectively constrain) flexible human involvement: how human pro-cess participants may collaborate on a task, how they may obtain a joint decision that drives the process, or how they may communicate out-of-band for clarifying task-vital information. Experience has shown that pure process languages are not necessarily the most appropriate technique for specifying such flexible behavior. Hence selecting appropriate modeling languages and strategies needs thorough investigation. To this end, this paper juxtaposes the capabilities of representa-tive human-centric specification languages hADL and Little-JIL and demonstrate their joint applicability for modeling interaction-intensive processes

Talk at Frequentis on System Modeling and Simulation

As part of my current cooperation with Frequentis on “Technical-operational mapping for product development and safety” I will be participating in Frequentis’ RD InForm 05/2014 event on Thursday May 22nd.

Hosted by Thomas Mehofer (FRQ) and me, with support by Andreas Franz, Michael Mayerhofer, Gerhard Täubl (all FRQ), this RD InForm event is targeted at Frequents members for keeping them up-to-date with insights into active complexity management and providing collaboration support applied through all process chains for proactively preventing unmanageable product complexity. My contribution specifically focuses on System Simulation: from modelling to simulation, incl. presenting a FRQ based model simulation (Comms System).

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

Talk Announcement

I’ll be giving a talk on “Models and Techniques for the Design and Self-Adaptation of Socio-Technical Systems” covering some research aspects I worked on during my Austrian Science Fund mobility fellowship.

Join in on Thursday Feb 21st at the Computer Science Department, University of Southern California, 03:30 PM – 05:00 PM

Or Friday Feb 22nd at the Institute for Software Research, University of California, Irvine, 11:00 am – 12:00 pm Location: ICS2 136

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, I will make the case for a human architecture model and linking it to the runtime software architecture. I will 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.

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.