Skip to main content

Aspect Oriented Approach for Capturing and Verifying Distributed Properties

  • Chapter
Languages: From Formal to Natural

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5533))

  • 425 Accesses

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].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aspect Oriented Software Development site: http://aosd.net

  2. Special section on Aspect Oriented Programming, Guest editors: Elrad, T., Filman, B., Bader, A., Communications of the ACM (October 2001)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Cottenier, T., van den Berg, A., Elrad, T.: Motorola WEAVR: Aspect-Orientation and Model-Driven Engineering. Journal of Object Technology 6(7) (2007)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. Elrad, T., Francez, N.: Decomposition of Distributed Programs into Communication-Closed Layers. Science of Computer Programming 2 (1982)

    Google Scholar 

  10. Elrad, T., Filman, B., Bader, A.: Aspect Oriented programming. Guest editors introduction for the Communications of the ACM (2001)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Jessen, W.P.M.: Layered Design of Parallel Systems. In: CIP (1994)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. Janssen, W., Zwiers, J.: Specifying and Proving Communication Closeness in Protocols. In: Proceedings 13th IFIP symp. On Protocol Specification, Testing and Verification (1993)

    Google Scholar 

  22. 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)

    Chapter  Google Scholar 

  23. Kiczales, et al.: Getting Started with AspectJ. The Communications of the ACM (October 2001)

    Google Scholar 

  24. Meyer, B.: Systematic Concurrent Object-Oriented Programming. Communication of the ACM (September 1993)

    Google Scholar 

  25. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1991)

    MATH  Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Chapter  Google Scholar 

  29. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics