On proving communication closedness of distributed layers
Proc. of the sixth conference on Foundations of software technology and theoretical computer science
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
PODC '92 Proceedings of the eleventh annual ACM symposium on Principles of distributed computing
Systematic concurrent object-oriented programming
Communications of the ACM
Aspect-oriented programming: Introduction
Communications of the ACM
Communications of the ACM
Specifiying and Proving Communication Closedness in Protocols
Proceedings of the IFIP TC6/WG6.1 Thirteenth International Symposium on Protocol Specification, Testing and Verification XIII
Protocol Design by Layered Decomposition: A Compositional Approach
Proceedings of the Second International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Layering of Real-Time Distributed Processes
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Proceedings of the 15th Conference on Foundations of Software Technology and Theoretical Computer Science
Layering Techniques for Development of Parallel Systems
CAV '92 Proceedings of the Fourth International Workshop on Computer Aided Verification
Partial Order Based Design of Concurrent Systems
A Decade of Concurrency, Reflections and Perspectives, REX School/Symposium
CHESSBOARD: A Synergy of Object-Oriented Concurrent Programming and Program Layering
ASIAN '96 Proceedings of the Second Asian Computing Science Conference on Concurrency and Parallelism, Programming, Networking, and Security
Joinpoint inference from behavioral specification to implementation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
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].