Skip to main content

Developing and Verifying Response Specifications in Hierarchical Event-Based Systems

  • Chapter
  • First Online:
Transactions on Modularity and Composition I

Part of the book series: Lecture Notes in Computer Science ((TRMC,volume 9800))

  • 281 Accesses

Abstract

We introduce a CEGAR-based compositional verification technique for verifying response guarantees and finding the necessary assumptions of the response specification about event detectors in hierarchical event-based systems. By taking advantage of the structure of such systems, only the relevant event specifications are considered, and from these only a part of their specifications is learnt as response assumptions. Whenever a spurious counterexample is found (i.e., the abstract counterexample to a response guarantee property is not consistent with the event specifications), our technique modularly finds the necessary refinements that induce state splitting and add fairness constraints to avoid the counterexample automatically. Eventually, either the response guarantee is proved or a real counterexample is found. In addition, new techniques are presented for more feasible spuriousness checking of counterexamples of liveness response guarantees, and to avoid including unnecessary parts of the event detector alphabet in the model of a response.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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

Notes

  1. 1.

    http://www.cs.technion.ac.il/ssdl/research/davers.

References

  1. NuSMV. http://nusmv.fbk.eu/

  2. SMT. http://ultimate.informatik.uni-freiburg.de/smtinterpol/

  3. Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., De Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. ACM SIGPLAN Not. 40, 345–364 (2005)

    Article  MATH  Google Scholar 

  4. Alpern, B., Schneider, F.B.: Recognizing safety and liveness. Distrib. Comput. 2(3), 117–126 (1987)

    Article  MATH  Google Scholar 

  5. Ball, T., Rajamani, S.K.: Automatically validating temporal safety properties of interfaces. In: Dwyer, M. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 102–122. Springer, Heidelberg (2001). doi:10.1007/3-540-45139-0_7

    Chapter  Google Scholar 

  6. Barrett, C., Stump, A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB) (2010). www.SMT-LIB.org

  7. Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking. Electron. Notes Theoret. Comput. Sci. 66, 160–177 (2002)

    Article  Google Scholar 

  8. Bockisch, C., Malakuti, S., AkÅŸit, M., Katz, S.: Making aspects natural: events and composition. In: AOSD 2011. ACM (2011)

    Google Scholar 

  9. Chaki, S., Clarke, E., Groce, A., Ouaknine, J., Strichman, O., Yorav, K.: Efficient verification of sequential and concurrent C programs. Formal Meth. Syst. Des. 25, 129–166 (2004)

    Article  MATH  Google Scholar 

  10. Chucri, F.: Exploiting model structure in CEGAR verification method. Ph.D. thesis, University of Bordeaux I (2012)

    Google Scholar 

  11. Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000). doi:10.1007/10722167_15

    Chapter  Google Scholar 

  12. Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: SATABS: SAT-based predicate abstraction for ANSI-C. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 570–574. Springer, Heidelberg (2005). doi:10.1007/978-3-540-31980-1_40

    Chapter  Google Scholar 

  13. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)

    Book  Google Scholar 

  14. Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: FLAVERS: a finite state verification technique for software systems. IBM Syst. J. 41, 140–165 (2002)

    Article  Google Scholar 

  15. Cook, B., Gotsman, A., Podelski, A., Rybalchenko, A., Vardi, M.Y.: Proving that programs eventually do something good. ACM SIGPLAN Not. 42, 265–276 (2007)

    Article  MATH  Google Scholar 

  16. Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C.S., Robby, Zheng, H.: Bandera: Extracting finite-state models from java source code. In: ICSE 2000 (2000)

    Google Scholar 

  17. Disenfeld, C., Katz, S.: Compositional verification of events and observers (summary). In: FOAL 2011. ACM (2011)

    Google Scholar 

  18. Disenfeld, C., Katz, S.: Specification and verification of event detectors and responses. In: AOSD 2013. ACM (2013)

    Google Scholar 

  19. Douence, R., Fradet, P., Südholt, M., et al.: Trace-based aspects. Aspect-Oriented Software Development (2004)

    Google Scholar 

  20. Douence, R., Südholt, M.: A model and a tool for event-based aspect-oriented programming (EAOP). Techn. Ber., Ecole des Mines de Nantes. TR, vol. 2(11) (2002)

    Google Scholar 

  21. Etzion, O., Niblett, P.: Event Processing in Action, 1st edn. Manning Publications Co., Greenwich (2010)

    Google Scholar 

  22. Gasiunas, V., Satabin, L., Mezini, M., Núñez, A., Noyé, J.: Escala: modular event-driven object interactions in scala. In: Proceedings of the Tenth International Conference On Aspect-Oriented Software Development. ACM (2011)

    Google Scholar 

  23. Bobaru, M.G., Păsăreanu, C.S., Giannakopoulou, D.: Automated assume-guarantee reasoning by abstraction refinement. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 135–148. Springer, Heidelberg (2008). doi:10.1007/978-3-540-70545-1_14

    Chapter  Google Scholar 

  24. Goldman, M., Katz, E., Katz, S.: MAVEN: modular aspect verification and interference analysis. Formal Meth. Syst. Des. 37, 61–92 (2010)

    Article  MATH  Google Scholar 

  25. Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems, pp. 477–498. Springer, New York (1985)

    Chapter  Google Scholar 

  26. Henzinger, T.A., Jhala, R., Majumdar, R., Qadeer, S.: Thread-modular abstraction refinement. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 262–274. Springer, Heidelberg (2003). doi:10.1007/978-3-540-45069-6_27

    Chapter  Google Scholar 

  27. Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: POPL 2002. ACM (2002)

    Google Scholar 

  28. Kamina, T., Aotani, T., Masuhara, H.: EventCJ: a context-oriented programming language with declarative event-based context transition. In: Proceedings of the Tenth International Conference On Aspect-Oriented Software Development

    Google Scholar 

  29. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectj. In: ECOOP (2001)

    Google Scholar 

  30. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). doi:10.1007/BFb0053381

    Google Scholar 

  31. Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis management systems: a case study for aspect-oriented modeling. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development VII. LNCS, vol. 6210, pp. 1–22. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16086-8_1

    Chapter  Google Scholar 

  32. Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Longman Publishing Co. Inc., Boston (2001)

    Google Scholar 

  33. Masuhara, H., Endoh, Y., Yonezawa, A.: A fine-grained join point model for more reusable aspects. In: Kobayashi, N. (ed.) APLAS 2006. LNCS, vol. 4279, pp. 131–147. Springer, Heidelberg (2006). doi:10.1007/11924661_8

    Chapter  Google Scholar 

  34. Rajan, H., Leavens, G.T.: Ptolemy: a language with quantified, typed events. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 155–179. Springer, Heidelberg (2008). doi:10.1007/978-3-540-70592-5_8

    Chapter  Google Scholar 

  35. Roscoe, A.W., Hoare, C.A.R., Bird, R.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cynthia Disenfeld .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Disenfeld, C., Katz, S. (2016). Developing and Verifying Response Specifications in Hierarchical Event-Based Systems. In: Chiba, S., Südholt, M., Eugster, P., Ziarek, L., Leavens, G. (eds) Transactions on Modularity and Composition I. Lecture Notes in Computer Science(), vol 9800. Springer, Cham. https://doi.org/10.1007/978-3-319-46969-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46969-0_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46968-3

  • Online ISBN: 978-3-319-46969-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics