Business Process Model and Notation (BPMN) has become the standard for business processes diagrams. In order to provide tools support to analyze the behavior of a BPMN model, we present a mapping... Show moreBusiness Process Model and Notation (BPMN) has become the standard for business processes diagrams. In order to provide tools support to analyze the behavior of a BPMN model, we present a mapping of BPMN models to Reo networks. The Reo coordination language is an exogenous coordination language that realizes the coordination patterns. We present a constraint-based framework, which unifies various formal semantics of Reo. In this framework, the behavior of a Reo network is described using constraints. The constraint-based nature of our approach allows the simultaneous coexistence of several semantics in a simple fashion. The behavior of a Reo network is determined by the solutions to these constraints. Since any solution should satisfy all the encoded formal semantics, the framework eliminated any inconsistent behavior between the Reo formal semantics. Another advantage of our proposed constraint-based approach is its efficiency due to optimization techniques that are used in the off-the-shelf constraint solvers. We support this claim with a case study. In this dissertation, we present an alternative approach to model priority in Reo by extending our constraint-based framework with priority-aware premises. Further, we extend our priority-aware formal model to support not only a binary notion of priority, but also numeric priorities. Show less
This work contributes to the field of coordination, in particular to Reo, by improving existing approaches to execute synchronisation models in three major ways. First, this work supports decoupled... Show moreThis work contributes to the field of coordination, in particular to Reo, by improving existing approaches to execute synchronisation models in three major ways. First, this work supports decoupled execution and lightweight reconfiguration. We developed a prototype Dreams engine to test our distributed protocol, using an actor library for the Scala language. Reconfiguration of a small part of the system is independent of the execution or behaviour of unrelated parts of the same system. Second, Dreams outperforms previous Reo engines by using constraint satisfaction techniques. In each round of the execution of the Dreams framework, descriptions of the behaviour of all building blocks are combined and a coordination pattern for the current round is chosen using constraint satisfaction techniques. This approach requiring less time than previous attempts that collect all patterns before selecting one. Third, our work improves scalability by identifying synchronous regions. We statically discover regions of the coordination layer that can execute independently, thus achieving a truly decoupled execution of connectors. Consequently, the constraint problem representing the behaviour at each round is smaller and more easily solved. Show less
Since the inception of programming, composition of algorithms has served as the driving force behind software composition. The models and techniques that have emerged out of this focus do not... Show moreSince the inception of programming, composition of algorithms has served as the driving force behind software composition. The models and techniques that have emerged out of this focus do not adequately meet our modern requirements, such as third-party composition of black-box components, or dynamic composition of the behavior of independent distributed subsystems and services. Decades of theoretical and practical work in the field of concurrency has culminated in substantial experience with various aspects of interaction and protocols. Curiously, however, interaction has not been considered as a first-class concept in a constructive model of computation. I believe the inadequacy of our contemporary composition techniques and our neglect to treat interaction as a first-class concept are intertwined. In this lecture, I describe some of my work and ideas on a compositional model for construction of complex systems out of simpler parts, using interaction as the only first-class concept. Show less