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].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aspect Oriented Software Development site: http://aosd.net
Special section on Aspect Oriented Programming, Guest editors: Elrad, T., Filman, B., Bader, A., Communications of the ACM (October 2001)
Cottenier, T., Elrad, T.: Dynamic and Distributed Service Composition with Aspect-Sensitive Services. In: Proceedings of the 1st International Conference on Web Information Systems and Technologies (WEBIST 2005), Miami, USA, pp. 56–63. INSTICC Press (May 2005)
Cottenier, T., Elrad, T.: Layers of Collaboration Aspects for Pervasive Computing. In: Proceedings of the 5th Argentine Symposium in Software Engineering (ASSE 2004), Cordoba, Argentina (September 2004)
Cottenier, T., van den Berg, A., Elrad, T.: Motorola WEAVR: Aspect-Orientation and Model-Driven Engineering. Journal of Object Technology 6(7) (2007)
Cottenier, T., van den Berg, A., Elrad, T.: Joinpoint Inference from Behavioral Specification to Implementation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 476–500. Springer, Heidelberg (2007)
Cottenier, T., van den Berg, A., Elrad, T.: The Motorola WEAVR: Model Weaving in a Large Industrial Context. In: Proceedings of the Industry Track at the 6th International Conference on Aspect-Oriented Software Development (AOSD 2007) (March 2007)
Elrad, T., Baoling, S., Nastasic, N.: CHESSBOARD: A Synergy of Object Oriented Concurrent programming and Program Layering. In: Jaffar, J., Yap, R.H.C. (eds.) ASIAN 1996. LNCS, vol. 1179, pp. 223–233. Springer, Heidelberg (1996)
Elrad, T., Francez, N.: Decomposition of Distributed Programs into Communication-Closed Layers. Science of Computer Programming 2 (1982)
Elrad, T., Filman, B., Bader, A.: Aspect Oriented programming. Guest editors introduction for the Communications of the ACM (2001)
Elrad, T.: A Practical Software Development for Dynamic Testing of Distributed Programs. In: IEEE Proceedings of the International Conference on Parallel Processing, Bellaire, MI (August 1984)
Elrad, T., Kumar, K.: State Space Abstraction of Concurrent Systems: A Means to Computation Progressive Scheduling. In: Proceedings of the 19th International Conference on Parallel Processing (August 1990)
Elrad, T., Kumar, K.: The Use of Communication-Closed Layers to Support Imprecise Scheduling for Distributed Real-Time Programs. In: Proceedings of the 10th Annual International Conference on Computers and Communications (March 1991)
Elrad, T., Kumar, K.: Scheduling Cooperative Work: Viewing Distributed Systems as Both CSP and SCL. In: Proceedings of the 13th International Conference on Distributed Computing Systems, Pittsburgh (May 1993)
Filman, R.E., Friedman, D.P.: Aspect-Oriented Programming is Quantification and Obliviousness. In: Workshop on Advanced Separation of Concerns, OOPSLA 2000, Minneapolis (October 2000)
Fokkinga, M., Poel, M., Zwiers, J.: Modular Completeness for Communication Closed Layers. In: Proceedings Formal Techniques in Real Time and Fault Tolerant Systems. Springer, Heidelberg (1993)
Gerth, R.T., Shrira, L.: On Proving Communication Closeness of Distributed Layers. In: Proceedings of the 6th Conference on Foundations of Software Technology and Theoretical Computer Science, New Delhi, India (1986)
Jessen, W.P.M.: Layered Design of Parallel Systems. In: CIP (1994)
Janssen, W., Zwiers, J.: From Sequential Layers to Distributed Processes, Deriving a Distributed Minimum Weight Spanning Tree Algorithm. In: Proc. 11th ACM Symposium on Principles of Distributed Computing (1992)
Janssen, W., Zwiers, J.: Protocol Design by Layered Decomposition, A Compositional Approach. In: Vytopil, J. (ed.) FTRTFT 1992. LNCS, vol. 571, pp. 307–326. Springer, Heidelberg (1991)
Janssen, W., Zwiers, J.: Specifying and Proving Communication Closeness in Protocols. In: Proceedings 13th IFIP symp. On Protocol Specification, Testing and Verification (1993)
Janssen, W., Poel, M., Xu, Q., Zwiers, J.: Layering of Real-Time Distributed Processes. In: Langmaack, H., de Roever, W.-P., Vytopil, J. (eds.) FTRTFT 1994 and ProCoS 1994. LNCS, vol. 863, pp. 393–417. Springer, Heidelberg (1994)
Kiczales, et al.: Getting Started with AspectJ. The Communications of the ACM (October 2001)
Meyer, B.: Systematic Concurrent Object-Oriented Programming. Communication of the ACM (September 1993)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1991)
Poel, M., Zwiers, J.: Layering Techniques for Development of Parallel Systems. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663. Springer, Heidelberg (1993)
Stomp, F.A., de Roever, W.P.: A Correctness Proof of a Distributed Minimum-Weight Spanning Tree Algorithm. In: Proceedings of the 7th International Conference on Distributed Computer Systems, Berlin, W. Germany (1987)
Zwiers, J., Hannemann, U., Lakhneche, Y., de Roever, W.-P.: Synthesizing different development paradigms: Combining top-down with bottom-up reasoning about distributed systems. In: Thiagarajan, P.S. (ed.) FSTTCS 1995. LNCS, vol. 1026, pp. 80–95. Springer, Heidelberg (1995)
Zwiers, J., Janssen, W.: Partial order based design of concurrent systems. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) REX 1993. LNCS, vol. 803, pp. 622–684. Springer, Heidelberg (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Elrad, T. (2009). Aspect Oriented Approach for Capturing and Verifying Distributed Properties. In: Grumberg, O., Kaminski, M., Katz, S., Wintner, S. (eds) Languages: From Formal to Natural. Lecture Notes in Computer Science, vol 5533. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01748-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-01748-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-01747-6
Online ISBN: 978-3-642-01748-3
eBook Packages: Computer ScienceComputer Science (R0)