Skip to main content
eScholarship
Open Access Publications from the University of California

Composing crosscutting concerns : a service-oriented view

  • Author(s): Menarini, Massimiliano
  • Menarini, Massimiliano
  • et al.
Abstract

Developing complex distributed software systems challenges the methodologies currently available for the crucial task of integrating crosscutting concerns. Crosscutting concerns are concerns that, albeit important, do not fit into the problem decomposition schema chosen for an application architecture. While service-oriented architectures (SOAs) have been proposed as a viable solution for this integration problem, the current state of the art is still insufficient, This dissertation extends the current body of work on service-oriented systems to ease the integration of crosscutting concerns in large scale systems, though the applicability of this work spans from large enterprise systems-of-systems to the embedded systems domain. To achieve this result, the research presented here leverages two key elements : 1) an architectural blueprint called Rich Services, which supports the hierarchical decomposition of systems into a set of services communicating via a message based infrastructure, and 2) a model-based approach to capturing systems requirements and modeling systems according to the Rich Service blueprint. This manuscript presents three contributions : 1) an aspect-oriented language for interaction models that support Rich Service compositions, 2) a technique that addresses failure management, which is an important example of a crosscutting concern, and 3) an approach to verifying the consistency of different views of the same system in different modeling languages. The contributions presented in this dissertation are validated using case studies from the business applications and the automotive domains. The business application example is an important representative of problems relating to enterprise applications, and the automotive case study exemplifies the problems found in embedded systems

Main Content
Current View