This my original (now outdated) proposal:

Multi-level customization and evolution in service supply chains- Krzysztof Czarnecki

Service supply chains

Supply chains are networks of organizations and links among them used to deliver products and services from raw materials to end customers through an engineered flow of information, physical distribution, and cash. Over decades, traditional manufacturing sectors have established mature and deep value chains. For example, automotive supply chains comprise a multitude of organizations including parts suppliers, original equipment manufacturers (OEMs), and car dealership and maintenance shops. With the recent emergence of the Software as Service (SasS) concept, the notion of software service supply chains becomes the ultimate vision for the software industry of tomorrow. The key participants of such chains include original service providers, service integrators, and service end-users, where each participant is a potential innovation driver. Original service providers introduce new services, service integrators customize and integrate services into on-demand applications, which can be further integrated and customized by end-users. On-demand applications are intended to provide extreme end-user adaptability in order to accommodate exceptional workflows and individual working styles and enable bottom-up evolution of workflows and applications. On-demand applications can be imagined as the well-engineered and robust counterpart of today’s idea of application mashups.

In order to increase their customer base, service providers will likely experience pressure to offer highly configurable services with a wide range of variability. At the same time, service integrators will create new composite services and applications by integrating customized services by augmenting and possibly restricting some of the configuration choices. Furthermore, the integrators will have to be capable of delivering the composite service and applications securely and reliably even though the underlying component services are likely to be constantly evolving according to their own independent patterns.

Model-Driven Provisioning of Service Supply Chains

The service-oriented architecture outlined in Section 3 of the CERAS proposal envisions the use of different models in the definition of services and their compositions, such as high-level goal and feature models, information and workflow models, service quality models, computing infrastructure models, and deployment models. Consequently, services and their compositions will be defined by a mixture of configurations, rich models (e.g., behavioral specifications), and custom code. Some aspects of these models will be exposed to service integrators, who will further customize and integrate them by restriction and/or extension and possibly additional custom code.

Managing Evolution in Service Supply Chains

I intend to investigate the evolution aspect of model-driven service supply chains. Since different services in a supply chain are the responsibility of different organizations, they may be evolving at their own independent patterns. Service A reusing another service B might be a combination of any of these artifacts:

  • Customizations of modeling languages (including configuration languages) exposed by B
  • Customizations of models exposed by B
  • New models expressed in the B-provided languages or their customizations
  • Data conforming to the new models provided by A and the possibly customized models provided by B
  • Custom code adhering to APIs provided by B

A change to one artifact provided by B may require potential co-evolution of several other artifacts in B and A in order to establish consistency.

The goal of the project is to analyze the different aspects of the evolution problem described above and design methods and tools for making evolution and co-evolution easier to perform. An initial list of smaller concrete projects follows:

  • 1) Demonstrate model-based code migration due to API evolution using framework-specific modeling languages;
  • 2) Create a semantic framework for model relationships (e.g., specialization, extension) that are of interest to customization; instantiate the framework for different modeling languages and provide mechanisms for refactoring and co-evolution; initially I will focus consider basic feature models and later Ecore models with constraints;
  • 3) Perform studies to determine the effectiveness, limitations, and applicability of round-trip engineering between framework-specific models and code; perform additional studies to determine the tradeoffs among different customization mechanisms in model-driven engineering such as markup, escapes, protected regions, aspects, and round-tripping.

-- KrzysztofCzarnecki - 03 May 2007

Topic revision: r1 - 2007-05-02 - KrzysztofCzarnecki
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback