An Executable Choreography Framework for Dynamic Service-Oriented Architectures

IEEE Aerospace Conference March, 2005


Abstract

Interoperability and loose coupling requirements are pushing the next generation of distributed applications towards more decentralized and more dynamic interaction schemes, which the classic request/response communication paradigm can hardly accommodate. The Executable Choreography Framework (ECF) is a middleware-level platform extension that enables on-demand deployment of peer-to-peer interactions between services and resources. The ECF platform extension combines transparent context propagation with non-invasive software composition techniques to dynamically refine the default control and data flow of service invocations. The ECF introduces a platform independent language to specify executable service choreographies, the Executable Choreography Language (ECL). The ECL is a reactive language inspired from Event-Condition-Action rules used in active databases. ECL rules filter the messages that flow in and out of the container and activate service composition logic when messages of interest are intercepted in specific interaction contexts. The ECF provides a ground for experimentation with dynamic and distributed workflows, and a common specification language for defining advanced service composition schemes, such as adaptive choreographies, mobile agents and distributed Aspect-Oriented compositions in web service environments. Distributed aspects capture events that occur at the interface of remote services, and have the ability to inject behavior at those locations. In Service-Oriented Architecture (SOA) environments, distributed aspects are ideally suited to implement middleware-level services such as fault-tolerance, service coordination, activity lifecycle or transaction management.

The approach is relevant to the NASA Integrated System Health Management (ISHM) Testbed and Prototypes (ITP) project, a joint effort involving multiple NASA Centers working together in a distributed software development environment to develop next-generation ISHM technologies for the Crew Exploration Vehicle (CEV), lunar habitats and human missions to Mars. The ITP project is based on two intertwined yet logically distinct realms: an SOA that enables various user, data and knowledge management services that comprise the testbed infrastructure, and prototype client applications that enable ISHM functionality from both an enterprise and on-board perspective. Some components of the testbed will evolve from their role supporting client application testing and integration to being an integral part of the ‘finished’ ISHM system. This evolution will necessarily impart requirements changes on those testbed components that migrate across the ITP realms.