Skip to main content
Log in

Towards formal open standards: formalizing a standard’s requirements

The case of RSS v2.0

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Open standardization seems to be very popular among software developers as it simplifies the standard’s adoption by the software engineering. Formal specification methods, while very promising, are being adopted slowly as the industry seems to have little motivation to move into this territory. In this paper the authors present (1) the idea of applying formal specification techniques to open standards’ specifications, and (2) an example of a formal specification of the Rich Site Summary (RSS) v2.0 open standard. The authors provide evidence for the advantages of the open standards formal specification over natural language documentations: formal specifications are more concise, less ambiguous, more complete with respect to the original documentation and, when using certain kinds of specification languages, executable and reusable as they support module inheritance. The merging of formal specification methods and open standards allows (1) a more concrete standard design; (2) an improved understanding of the environment under design; (3) an enforced certain level of precision into the specification, and also (4) provides software engineers with extended property checking/verification capabilities, especially if they opt to use any algebraic specification language. The authors showcase how the RSS standard can be formally specified using an algebraic specification language and demonstrate how can that be beneficial.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. Gödel’s incompleteness theorems. http://en.wikipedia.org/wiki/G%F6del_incompleteness_theorem. Accessed 30 June 2013

  2. Rss 2.0 specification. http://www.rssboard.org/rss-specification (2009). Accessed 30 Jan 2014

  3. Sample file for rss v2.0. http://www.rssboard.org/files/sample-rss-2.xml (2009)

  4. Digital imaging and communications in medicine (dicom). http://dicom.nema.org/ (2014). Accessed 11 Aug 2014

  5. Berki E (2001) Establishing a scientific discipline for capturing the entropy of systems process models: Cdm-filters—a computational and dynamic metamodel as a flexible and integrated language for the testing, expression and re-engineering of systems. Ph.D. thesis, Faculty of Science, Computing & Engineering, University of North London

  6. Berki E (2003) Formal metamodelling and agile method engineering in metacase and came tool environments. In: Tigka P, Kefalas K (eds) The 1st South-East European Workshop on formal methods. Agile formal methods: practical, rigorous methods for a changing world (Satellite of the 1st Balkan Conference in Informatics), pp 170–188. South-Eastern European Research Center (SEERC): Thessaloniki

  7. Berki E (2006) Examining the quality of evaluation frameworks and metamodeling paradigms of information systems development methodologies, chap. 15, pp 265–289. Idea Group Publishing, Hershey, PA, USA

  8. Berki E, Valtanen J (2007) Critical and creative mathematical thinking with practical problem solving skills—a new old challenge. In: Dranidis D, Sakellariou I (eds) Proceedings of the 3rd SouthEast European Workshop on formal methods (SEEFM07), pp 154–170. South-East European Research Centre (SEERC)

  9. Berry DM, Kamsties E, Krieger MM (2003) From contract drafting to software specification: linguistic sources of ambiguity, a handbook. Online. http://se.uwaterloo.ca/~dberry/handbook/ambiguityHandbook

  10. Blake G, Bly R (1993) The elements of technical writing. Elements of Series. Longman. http://books.google.fi/books?id=ewsoAQAAMAAJ

  11. Bowen JP, Breuer PT, Lano KC (1993) A compendium of formal techniques for software maintenance. BCS/IEE Softw Eng J 8:253–262

    Article  Google Scholar 

  12. Bowen JP, Hinchey MG (1994) Ten commandments of formal methods. IEEE Comput 28:56–63

    Article  Google Scholar 

  13. Diaconescu R, Futatsugi K (1998) CafeOBJ Report: the language, proof techniques, and methodologies for object-oriented algebraic specification. AMAST Series in Computing, vol 6. World Scientific, Singapore

  14. Diaconescu R, Futatsugi K (2000) Behavioural coherence in object-oriented algebraic specification. J Univ Comput Sci 6(1):74–96

    MathSciNet  MATH  Google Scholar 

  15. Diaconescu R, Futatsugi K, Iida S (1999) Component-based algebraic specification and verification in cafeobj. In: Proceedings of the Wold Congress on formal methods in the development of computing systems, vol II, FM ’99, pp 1644–1663. Springer-Verlag, London, UK. http://dl.acm.org/citation.cfm?id=647545.730763

  16. Boyer RS, Moore JS (1981) The correctness problem in computer science. Academic Press, Orlando

    MATH  Google Scholar 

  17. Diller A (1990) Z—an introduction to formal methods. Wiley, Chichester

    MATH  Google Scholar 

  18. Goguen J (2014) The obj family. http://cseweb.ucsd.edu/~goguen/sys/obj.html. Accessed 30 Oct 2014

  19. Goguen JA, Meseguer J (1992) Order-sorted algebra i: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theor Comput Sci 105:217–273. doi:10.1016/0304-3975(92)90302-V

    Article  MathSciNet  MATH  Google Scholar 

  20. Goguen JA, Winkler T, Meseguer J, Futatsugi K, Jouannaud JP (2000) Introducing obj. In: Goguen J, Malcom M (eds) Software engineering with OBJ: algebraic specification in action. Springer US, Boston, pp 3–167

  21. Hierons RM, Bogdanov K, Bowen JP, Cleaveland R, Derrick J, Dick J, Gheorghe M, Harman M, Kapoor K, Krause P, Lüttgen G, Simons AJH, Vilkomir S, Woodward MR, Zedan H (2009) Using formal specifications to support testing. ACM Comput Surv 41(2):9:1–9:76. doi:10.1145/1459352.1459354

    Article  Google Scholar 

  22. Hoe NS (2006) Free/open source software, open standards. Elsevier, New Delhi

    Google Scholar 

  23. Ionescu C, Berki E, Nummenmaa J (2009) Applying weighted finite state machines to protocol performance analysis. In: Proceedings of the 2009 Fourth South-East European Workshop on formal methods, SEEFM ’09, pp 40–45. IEEE Computer Society. doi:10.1109/SEEFM.2009.16

  24. ISO/IEC: Information Processing Systems (1990) Open systems interconnection—guidelines for the application of Estelle, Lotos and SDL. ISO/IEC TR 10167. International Organization for Standardization, Geneva, Switzerland

  25. ISO/IEC: Open Distributed Processing (1996) Basic reference model—part 4: architectural semantics. ISO/IEC 10746-4. International Organization for Standardization, Geneva, Switzerland

  26. ISO/IEC: Information Technology (1997) Framework: formal methods in conformance testing. ISO/IEC 13245-1. International Organization for Standardization, Geneva, Switzerland

  27. ISO/IEC: Information technology (2015) Open distributed processing—use of UML for ODP system specifications. ISO 19793:2015. International Organization for Standardization, Geneva, Switzerland

  28. Jackson M (1995) Software requirements & specifications: a lexicon of practice, principles and prejudices. ACM Press/Addison-Wesley Publishing Co., New York

    Google Scholar 

  29. Karjalainen M (2010) Large-scale migration to an open source office suite: an innovation adoption study in Finland. Department of Computer Sciences, University of Tampere, Tampere

  30. Lightfoot D (1991) Formal specification using Z. Macmillan Education UK, London

    Book  Google Scholar 

  31. Malcolm G, Goguen JA (1996) An executable course in the algebraic semantics of imperative programs. In: Hinchey M, Nevill Dean C (eds) Teaching and learning formal methods. Academic Press, pp 161–179

  32. Merruko M (2013) Utilising open source software development for effective electronic health records development. Master’s thesis, School of Information Sciences, University of Tampere. http://tutkielmat.uta.fi/pdf/gradu06632

  33. Merruko M, Berki E, Nykänen P (2012) Open source software process: a potential catalyst for major changes in electronic health record systems. In: Shaikh S, Stamelos I, Cerone A (eds) OpenCert 2012 + SEFM 2012 Proceedings (2013). http://opencert.iist.unu.edu/Papers/2012-paper-1-D

  34. Muhonen M, Berki E (2011) An open process for quality assurance in systems. In: Dawson R, Ross M, Staples G (eds) The conference proceedings of software quality management XIX (SQM 2011). Loughborough University, Leicestershire, pp 231–241

  35. Newcombe C, Rath T, Zhang F, Munteanu B, Brooker M, Deardeuff M (2015) How Amazon web services uses formal methods. Commun ACM 58(4):66–73. doi:10.1145/2699417

    Article  Google Scholar 

  36. Raymundo O (2015) Hands-on with news in ios 9: Apple’s response to facebook and snapchat’s content platforms. http://www.macworld.com/article/2947012/software-news/hands-on-with-news-in-ios-9-apples-response-to-facebook-and-snapchats-content-platforms.html

  37. Shah R, Kesan J, Kennis A (2007) Lessons for open standard policies: a case study of the massachusetts experience. In: Proceedings of the 1st international conference on theory and practice of electronic governance, ICEGOV ’07, pp 141–150. ACM, New York, NY, USA. doi:10.1145/1328057.1328088

  38. Sommerville I (2010) Software engineering, 9th edn. Addison-Wesley, Harlow

    MATH  Google Scholar 

  39. Spivey J (1989) An introduction to z and formal specifications. Softw Eng J 4(1):40–50

    Article  Google Scholar 

  40. Turner KJ (1993) Using formal description techniques: an introduction to ESTELLE. LOTOS and SDL, Wiley, New York

    Google Scholar 

  41. Valtanen J, Berki E, Barlas K, Li L, Merruko M (2013) Problem-focused education and feedback mechanisms for re-designing a course on open source and software quality. In: Uhomoibhi J, Barikzai S, Ross M, Staples G (eds) The 18th INSPIRE—INternational conference on Software Process Improvement in Research, Education and Training. Southampton Solent University Press, London, pp 23–36

  42. Veijalainen J, Berki E, Lehmonen J, Moisanen P (2006) Implementing a new international paper mill efficiency standard—using computational correctness criteria to model and verify timed events. In: Eleftherakis G (ed) 2nd South-East European Workshop on formal methods (SEEFM 05). Formal methods: challenges in the business world, Ohrid, 18–19 Nov 2005, pp 27–43. South-East European Research Centre (SEERC)

  43. W3Schools (2014) Dtd tutorial. http://www.w3schools.com/dtd/

  44. W3Schools (2014) Xml tutorial. http://www.w3schools.com/xml/

  45. Winer D (2006) The rss “ttl” element and p2p networks. http://scripting.com/2006/09/07.html#theRssTtlElementAndP2pNetworks

Download references

Acknowledgments

The authors of this paper would also like to extend their thanks to Iulia Adomnita, Thrushna Nalam, Golnaz S. Nejad and Jari Veijalainen for the useful and fruitful collaboration.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Konstantinos Barlas.

Additional information

This research has been co-financed by the European Union (European Social Fund ESF) and Greek national funds through the Operational Program ”Education and Lifelong Learning” of the National Strategic Reference Framework (NSRF)—Research Funding Program: THALIS.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Barlas, K., Berki, E., Stefaneas, P. et al. Towards formal open standards: formalizing a standard’s requirements. Innovations Syst Softw Eng 13, 51–66 (2017). https://doi.org/10.1007/s11334-016-0283-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-016-0283-9

Keywords

Navigation