Aspect Oriented Approach for Capturing and Verifying Distributed Properties

  • Authors:
  • Tzilla Elrad

  • Affiliations:
  • Illinois Institute of Technology,

  • Venue:
  • Languages: From Formal to Natural
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given an initial decomposition of a distributed program into processes we are faced with two classes of properties that are tightly bounded. One is the class of intra- process properties; these are relationships and requirements over a local state of a process. The second class is inter- processes properties; these are relationships and requirements over different processes local states that depict the consistencies and cooperation among a collection of cooperative processes that might be tightly bounded to achieve a certain collective goal. Both classes of system properties are crucial for system development and verification. The intra-process properties are relatively easier to define and carry on through system development life cycle. This paper concentrates on the challenges of expressing and imposing inter-processes properties during a distributed execution. The approach taken here is based on two completely independent areas of research The first is the CCL - Communication Closed Layers; a formal system for developing, maintaining, and verifying distributed programs [EF82] and the second is the aspect oriented software development [AOSD, CACM] that enables simplification and automation of CCL implementations. Aspect-oriented approach provides a natural framework to address inter-processes cooperation. The essence of aspect oriented software developments is the localization of crosscutting concerns. Under CCL constrains cooperative global properties can be considered as a special case of crosscutting concerns. (Note that this is not true in general; layers closeness, as defined in the following, is a necessary condition for the validity of cooperative global virtual assertions). Both CCL and AOSD are software development methodologies; their synergy for distributed systems development and runtime verification of system virtual global assertions is a promising match to handle the complexities of global system cooperation and consistencies. Both are centered on the notion of crosscutting concerns; CCL captures the semantics whereas AOSD provides the expressive tools. Together, it enables a design-by-contract discipline [M93] to be applicable to a wider range of distributed programs. There is still ongoing research to use the WEAVR , an aspect oriented model driven engineering [tool developed by Motorola, to automate code generation from precise behavioral models to express layers and global assertions. [CE1, CE2, CVE1, CVE2, CVE3].