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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Hinchey, M., Bowen, J.P., Vassev, E.: Formal methods. In: Encyclopedia of Software Engineering, pp. 308–320. Taylor & Francis, London (2010)
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)
Vassev, E.: ASSL: Autonomic System Specification Language—A Framework for Specification and Code Generation of Autonomic Systems. LAP Lambert Academic Publishing, Saarbrücken (2009)
Murch, R.: Autonomic Computing: On Demand Series. IBM Press, Indianapolis (2004)
Knuth, D.E.: Backus normal form vs. Backus Naur form. Commun. ACM 7(12), 735–773 (1964)
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)
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
Blaha, M., Rumbaugh, J.: Object-Oriented Modeling and Design with UML, 2nd edn. Pearson, Prentice Hall, New York (2005)
Martin, R.C.: Granularity. C++ Rep. 8(10), 57–62 (1996)
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).
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)
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)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)