Simulation, testing and implementation of Reo

Service-based systems are software systems composed of autonomous components or services provided by different vendors, deployed on remote machines and accessible through the web. One of the challenges of software engineering is to ensure that such a system behaves as intended by its designer. The Reo coordination language is an extensible notation for formal modeling and execution of service compositions. Services that have no prior knowledge about each other communicate through advanced channel connectors which guarantee that each participant, service or client, receives right data in a right time. Each channel is a binary function that imposes synchronization and data constraints on input and output messages. Furthermore, channels are composed together to realize arbitrarily complex behavioral protocols. During this process, a designer may introduce errors to the connector model or the code for their execution, and thus affect service composition behavior. I present an approach for simulation and model-based testing of coordination protocols designed in Reo. This approach relies on the mapping of automata-based semantic models for Reo to equivalent process algebra specifications and on the input-output conformance (ioco) testing theory. Furthermore, I will discuss some issues related to a proper distributed implementation of Reo.  

hosted by