Skip to main content

Towards Static Analysis of Policy-Based Self-adaptive Computing Systems

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques (ISoLA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9952))

Included in the following conference series:

Abstract

For supporting the design of self-adaptive computing systems, the PSCEL language offers a principled approach that relies on declarative definitions of adaptation and authorisation policies enforced at runtime. Policies permit managing system components by regulating their interactions and by dynamically introducing new actions to accomplish task-oriented goals. However, the runtime evaluation of policies and their effects on system components make the prediction of system behaviour challenging. In this paper, we introduce the construction of a flow graph that statically points out the policy evaluations that can take place at runtime and exploit it to analyse the effects of policy evaluations on the progress of system components.

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

    We use n to denote a generic name and n to denote the name of a syntactic element.

  2. 2.

    Structured names are composed by a category name, i.e. one among \({\textsf {action}}\), \({\textsf {subject}}\) and \({\textsf {object}}\), and a name \({\textsf {n}}\). For example, \({\textsf {action}}/{\textsf {id}}\) refers to the name of the action generating the request, while \({\textsf {subject}}/{\textsf {label}}\) refers to the value of the interface feature \({\textsf {label}}\) of the component subject of the action.

  3. 3.

    This splitting can always be done by appropriately applying standard boolean laws because each relational operator takes at most one variable as argument.

  4. 4.

    The name \( sr1 \) of the component where the policy \(\varPi _S\) is assumed to be in force is that referred to by the variable \(\mathsf {this}\) occurring in the definition of rule \({\textsf {S1}}\).

  5. 5.

    E.g., rule S2 of policy \(\varPi _S\) checks the feature \({\textsf {load}}\). Since S2 only generates paths of length one, possible updates of \({\textsf {load}}\) cannot interleave with policy evaluations.

References

  1. Appeltauer, M., Hirschfeld, R., Haupt, M., Lincke, J., Perscheid, M.: A comparison of context-oriented programming languages. In: COP, pp. 6:1–6:6 (2009)

    Google Scholar 

  2. Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: The FRACTAL component model and its support in Java. Softw.: Pract. Experience 36, 1257–1284 (2006)

    Google Scholar 

  3. Charfi, A., Mezini, M.: AO4BPEL: an aspect-oriented extension to BPEL. World Wide Web 3, 309–344 (2007)

    Article  Google Scholar 

  4. Damianou, N., Dulay, N., Lupu, E.C., Sloman, M.: The ponder policy specification language. In: Sloman, M., Lobo, J., Lupu, E.C. (eds.) POLICY 2001. LNCS, vol. 1995, pp. 18–38. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  5. David, P.-C., Ledoux, T.: An aspect-oriented approach for developing self-adaptive fractal components. In: Löwe, Welf, Südholt, Mario (eds.) SC 2006. LNCS, vol. 4089, pp. 82–97. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. TAAS 9(2), 7:1–7:29 (2014)

    Article  Google Scholar 

  7. Hankin, C., Nielson, F., Riis Nielson, H., Yang, F.: Advice for coordination. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 153–168. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  8. Hennicker, R., Klarl, A.: Foundations for ensemble modeling – the Helena approach. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 359–381. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  9. Huebscher, M.C., McCann, J.A.: A survey of autonomic computing-degrees, models and applications. ACM Comput. Surv. 40(3), 7 (2008)

    Article  Google Scholar 

  10. Khakpour, N., Jalili, S., Talcott, C.L., Sirjani, M., Mousavi, M.R.: Formal modeling of evolving self-adaptive systems. Sci. Comput. Program. 78(1), 3–26 (2012)

    Article  MATH  Google Scholar 

  11. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: ECOOP, pp. 220–242 (1997)

    Google Scholar 

  12. Loreti, M., Margheri, A., Pugliese, R., Tiezzi, F.: On programming and policing autonomic computing systems. In: Margaria, Tiziana, Steffen, Bernhard (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 164–183. Springer, Heidelberg (2014)

    Google Scholar 

  13. Margheri, A., Masi, M., Pugliese, R., Tiezzi, F.: A rigorous framework for specification, analysis and enforcement of access control policies. Technical Report (2016.). http://local.disia.unifi.it/wp_disia/2016/wp_disia_2016_05.pdf

  14. Margheri, A., Riis Nielson, H., Nielson, F., Pugliese, R.: Design, analysis and implementation of policy-based self-adaptive computing systems. Technical report (2016). http://facpl.sf.net/research/StaticPSCEL-TR.pdf

  15. Mayer, P., et al.: The autonomic cloud. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Collective Autonomic Systems. LNCS, vol. 8998, pp. 495–512. Springer, Heidelberg (2015)

    Google Scholar 

  16. Salvaneschi, G., Ghezzi, C., Pradella, M.: Context-oriented programming: a programming paradigm for autonomic systems. CoRR, abs/1105.0069 (2011)

    Google Scholar 

  17. Terepeta, M., Riis Nielson, H., Nielson, F.: Recursive advice for coordination. In: Sirjani, M. (ed.) COORDINATION 2012. LNCS, vol. 7274, pp. 137–151. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  18. Wirsing, M., Hölzl, M., Tribastone, M., Zambonelli, F.: ASCENS: engineering autonomic service-component ensembles. In: Boer, F.S., Bonsangue, M.M., Beckert, B., Damiani, F. (eds.) FMCO 2011. LNCS, vol. 7542, pp. 1–24. Springer, Heidelberg (2012). Revised Selected Papers

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Margheri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Margheri, A., Nielson, H.R., Nielson, F., Pugliese, R. (2016). Towards Static Analysis of Policy-Based Self-adaptive Computing Systems. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques. ISoLA 2016. Lecture Notes in Computer Science(), vol 9952. Springer, Cham. https://doi.org/10.1007/978-3-319-47166-2_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47166-2_39

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47165-5

  • Online ISBN: 978-3-319-47166-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics