62. MODEL-BASED APPROACH TO INCREASING THE DEPENDABILITY OF COMPLEX DISTRIBUTED SYSTEMS
Department: Computer Science & Engineering
Research Institute Affiliation: California Institute for Telecommunications and Information Technology (Calit2)
Faculty Advisor(s):
Ingolf Krueger
Primary Student
Name: Massimiliano Menarini
Email: mamenari@ucsd.edu
Phone: 858-534-9912
Grad Year: 2010
Abstract
This poster presents an overview of the research we are currently conducting in modeling interactions of distributed systems. Models of interactions are a key asset in managing the complexity of distributed systems. This is especially true for safety critical domains, such as embedded automotive or avionic systems, and for ultra large scale systems. We propose to decompose system functionalities following a service-oriented approach. This entails modeling all functionality of a distributed system in terms of messages exchanged between participants. To address the challenges of complex and large scale systems we propose a hierarchical decomposition of the systems according to a pattern we call Rich Service. Rich Service addresses three central aspects of service-oriented development: (1) flexible service composition, (2) cross-cutting concerns, and (3) hierarchy. Services describe end-to-end interactions between participants to perform the given functions. Therefore, in composing services, modeling the interaction patterns is a central problem. In particular, to guarantee dependability of those types of systems, we also need to augment the interaction specifications (which are inadequate so far) with failure models. This leads to the creation of an Architecture Definition Language (ADL) which can be exploited to verify if a particular architecture is fault tolerant. We have experimented with different MSC dialects. In particular, we have applied aspect-oriented modeling techniques to define the composition of services with cross-cutting concerns and failure management mechanisms. We had success in exploiting our model-based techniques in different projects. For example, we have used our models to create fail safe systems that can survive the crash of some of their nodes. In one case study we have been able to model a car central locking system (CLS) and to make it resilient to failures. We used model checking techniques to verify the correctness of the failure management mechanisms we introduced in the CLS. We also leveraged our models of interaction to inject run-time monitors in java applications using aspect-oriented techniques. Our results indicate that modeling services as interaction patterns simplifies the development of complex distributed systems. Interaction models, coupled with the Rich Service architectural pattern, enable the modular verification of reliability properties for modeled systems. We are continuing our research toward the creation of a powerful ADL to model Rich Services. In particular, we expect to leverage the power of this architecture to simplify the creation of dependable reconfigurable system.