Skip to main content

Formal Specification as High-Level Programming: The ASSL Approach

  • Chapter
Patterns, Programming and Everything
  • 1152 Accesses

Abstract

Formal methods aim to build correct software by eliminating both requirements and design flaws. Still, specification languages have a somewhat bad reputation in the software engineering community for being too heavy and difficult to use. This is mainly due to the use of complex mathematical notations often requiring experts in the field. We rely on our experience to show that writing formal specifications can be easier if a specification language is used as a high-level programming language, where the distinction between a specification language and a programming language is somewhat blurred. The Autonomic System Specification Language (ASSL) is a declarative specification language for autonomic systems with well-defined semantics. It implements modern concepts and constructs such as inheritance, modularity, type system, and parameterization. Specifications written in ASSL present a view of the system under consideration, where specification and design are intertwined.

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
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. Hinchey, M., Bowen, J.P., Vassev, E.: Formal methods. In: Encyclopedia of Software Engineering, pp. 308–320. Taylor & Francis, London (2010)

    Google Scholar 

  2. Vassev, E.: Towards a framework for specification and code generation of autonomic systems. PhD Thesis, Computer Science and Software Engineering Department, Concordia University, Quebec, Canada (2008)

    Google Scholar 

  3. Vassev, E.: ASSL: Autonomic System Specification Language—A Framework for Specification and Code Generation of Autonomic Systems. LAP Lambert Academic Publishing, Saarbrücken (2009)

    Google Scholar 

  4. Murch, R.: Autonomic Computing: On Demand Series. IBM Press, Indianapolis (2004)

    Google Scholar 

  5. Knuth, D.E.: Backus normal form vs. Backus Naur form. Commun. ACM 7(12), 735–773 (1964)

    Article  Google Scholar 

  6. Srivas, M., Miller, S.: Formal verification of the AAMP5 microprocessor: A case study in the industrial use of formal methods. In: Proceedings of the Workshop on Industrial-Strength Formal Specification Techniques (WIFT ’95), pp. 2–16. IEEE Computer Society, Washington (1995)

    Google Scholar 

  7. Foord, M.: The future of programming: How high level can we get? The website, technical blog and projects of Michael Foord (2009). http://www.voidspace.org.uk/python/articles/object_shaped_future.shtml. Cited 30 Jan 2012

  8. Blaha, M., Rumbaugh, J.: Object-Oriented Modeling and Design with UML, 2nd edn. Pearson, Prentice Hall, New York (2005)

    Google Scholar 

  9. Martin, R.C.: Granularity. C++ Rep. 8(10), 57–62 (1996)

    Google Scholar 

  10. Vassev, E., Hinchey, M.: Software verification of autonomic systems developed with ASSL. In: Proceedings of the 16th Monterey Workshop on Modeling, Development and Verification of Adaptive Computer Systems: The Grand Challenge for Robotic Software (Monterey2010), Microsoft Research Center, Redmond, USA, pp. 1–16. Springer, Berlin (2010).

    Google Scholar 

  11. Vassev, E.: Code generation for autonomic systems with ASSL. In: Software Engineering Research, Management and Applications—Management and Applications. Studies in Computational Intelligence, vol. 296, pp. 1–15. Springer, Berlin (2010)

    Google Scholar 

  12. Truszkowski, W., Hinchey, M., Rash, J., Rouff, C.: NASA’s swarm missions: The challenge of building autonomous software. IT Prof. 6(5), 47–52 (2004)

    Article  Google Scholar 

  13. Vassev, E., Hinchey, M.: ASSL specification and code generation of self-healing behavior for NASA swarm-based systems. In: Proceedings of the 6th IEEE International Workshop on Engineering of Autonomic and Autonomous Systems (EASe’09), pp. 77–86. IEEE Computer Society, Washington (2009)

    Chapter  Google Scholar 

Download references

Acknowledgements

This work was supported by Science Foundation Ireland grant 10/CE/I1855 to Lero–the Irish Software Engineering Research Centre.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Emil Vassev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London

About this chapter

Cite this chapter

Vassev, E., Hinchey, M. (2012). Formal Specification as High-Level Programming: The ASSL Approach. In: Breitman, K., Horspool, R. (eds) Patterns, Programming and Everything. Springer, London. https://doi.org/10.1007/978-1-4471-2350-7_9

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2350-7_9

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2349-1

  • Online ISBN: 978-1-4471-2350-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics