Abstract
In the development life cycle of an information system (IS) - from initial user wishes up to a running IS - an intermediate mathematical model is very useful, both as a clear and unambiguous capture of the user wishes regarding the functional requirements as well as a formal model of the system to be built. Based on decades of experience, we tackle the problem to develop a suitable, practical modelling method for formal, declarative, and implementation-independent specifications of information systems that can serve as a clear, unambiguous capture of the user wishes regarding the functional requirements. The theory should integrate data and transactions in a uniform way, because data and transactions are closely related. The theory should also be suitable for incremental and agile development, where we must quickly determine where, what, and how to change when necessary.
The notion of an information machine turns out to be very suitable for this goal. Several related notions will be defined. We introduce a general structure of transactions which includes a generic rollback, taking consistency into account. Several notions are generalizations of notions from database theory, such as transaction, query, and view.
We also explore some common practical structures for states and transactions in an information machine because they can become rather subtle in practice. In particular, transactions can be very subtle and complicated, also because they can be ‘rolled back’ and/or can be ‘compound’. Our formal, declarative specifications of transactions must (and do) account for that. Fortunately, many of the transactions in practice have more or less the same form. We study and formally define several of such common transaction patterns in a declarative way.
We first sketch a development path for functional requirements which is straightforward. In order to handle the inherent complexity of development, the path enables ‘stepwise clarification’, ‘stepwise specification’, and traceability. It gradually goes from the informal natural language and way of thinking of users to a formal model (with inputs, outputs, procedures, parameters, etc.).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Weikum, G., Vossen, G.: Transactional Information Systems, Morgan Kaufmann, San Francisco (2002). https://www.elsevier.com/books/transactional-information-systems/weikum/978-1-55860-508-4. Accessed 17 June 2019
Prinz, A., Thalheim, B.: Operational semantics of transactions. In: Schewe, K.-D., Zhou, X., (eds.) Proceedings of 14th Australasian Database Conference, CRPIT, vol. 17, pp. 169–179. ACS, Adelaide, Australia (2003). http://crpit.scem.westernsydney.edu.au/confpapers/CRPITV17Prinz.pdf. Accessed 17 June 2019
Bonner, J.A., Kifer, M.: An overview of transaction logic. Theoret. Comput. Sci. 133, 205–265 (1994). https://ac.els-cdn.com/0304397594901902/1-s2.0-0304397594901902-main.pdf?_tid=3aa6ea0f-6383-4d79-94f9-9b41c55f87be&acdnat=1526056319_b741a4dffca23f08156e420a777e109b. Accessed 17 June 2019
Jacobson, I., et al: Use Case 2.0: The Guide to Succeeding with Use Cases. Ivar Jacobson International (2011). https://www.ivarjacobson.com/publications/white-papers/use-case-ebook. Accessed 17 June 2019
Cockburn, A.: Writing Effective Use Cases. Addison Wesley, Boston (2001). https://www.infor.uva.es/~mlaguna/is1/materiales/BookDraft1.pdf. Accessed 17 June 2019
https://en.wikipedia.org/wiki/System_sequence_diagram. Accessed 17 June 2019
De Brock, E.O.: Towards a theory about continuous requirements engineering for information systems. In: 4th CRE-Workshop, REFSQ (2018). http://ceur-ws.org/Vol-2075/CRE18_paper4.pdf. Accessed 17 June 2019
De Brock, E.O.: Foundations of Semantic Databases. Prentice Hall, London (1995). https://dl.acm.org/citation.cfm?id=556146. Accessed 17 June 2019
Ullman, J.D., et al.: Database Systems: The Complete Book. Pearson, Upper Saddle River (2009). https://pdfstores.files.wordpress.com/2016/04/ullman_the_complete_book.pdf. Accessed 17 June 2019
Elmasri, R., Navathe, S.B.: Fundamentals of Database Systems. Pearson, Upper Saddle River (2016). http://www.pearson.com.au/products/D-G-Elmasri-Navathe/D-G-Elmasri-Ramez-Navathe-Shamkant-B/Fundamentals-of-Database-Systems-Global-Edition/9781292097619?R=9781292097619. Accessed 17 June 2019
De Brock, E.O.: An NL-based foundation for increased traceability, transparency, and speed in continuous development of ISs. In: 2th NLP4RE-Workshop, REFSQ (2019). http://ksuweb.kennesaw.edu/~pspoleti/REFSQJP19/NLP4RE19_paper18.pdf. Accessed 17 June 2019
Larman, C.: Applying UML and Patterns. Pearson Education, Upper Saddle River (2005). https://aanimesh.files.wordpress.com/2013/09/applying-uml-and-patterns-3rd.pdf. Accessed 17 June 2019
Pieper, F.T.A.M.: Data machines and interfaces. Ph.D. thesis, TU Eindhoven (1989). https://pure.tue.nl/ws/files/2488162/305250.pdf. Accessed 17 June 2019
Mealy, G.H.: A method for synthesizing sequential circuits. Bell Syst. Tech. J. 34, 1045–1079 (1955). https://ia802705.us.archive.org/12/items/bstj34-5-1045/bstj34-5-1045.pdf. Accessed 17 June 2019
https://en.wikipedia.org/wiki/Mealy_machine. Accessed 17 June 2019
https://en.wikipedia.org/wiki/Rollback_(data_management). Accessed 17 June 2019
Härder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Comput. Surv. 15(4), 287–317 (1983). https://web.stanford.edu/class/cs340v/papers/recovery.pdf. Accessed 17 June 2019
https://en.wikipedia.org/wiki/ACID. Accessed 17 June 2019
Martin, J.: Managing the Data-Base Environment. Prentice Hall, Upper Saddle River (1983). https://books.google.nl/books?id=ymy4AAAAIAAJ&pg=PA381&redir_esc=y. Accessed 17 June 2019
https://en.wikipedia.org/wiki/Create,_read,_update_and_delete. Accessed 17 June 2019
Brock, Bert: Declarative specifications of complex transactions. In: Saake, Gunter, Schwarz, Kerstin, Türker, Can (eds.) FoMLaDO 1999. LNCS, vol. 1773, pp. 150–166. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-46466-2_8
Shishkov, B., Dietz, J.L.G.: Design of software applications using generic business components. In: Proceedings of the 37th Hawaii International Conference on System Sciences (2004). https://ieeexplore.ieee.org/document/1265644. Accessed 17 June 2019
Acknowledgements
We thank the reviewers for their suggestions to strengthen the paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
de Brock, B. (2019). Declarative Modelling of Transactions for IS Development. In: Shishkov, B. (eds) Business Modeling and Software Design. BMSD 2019. Lecture Notes in Business Information Processing, vol 356. Springer, Cham. https://doi.org/10.1007/978-3-030-24854-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-24854-3_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-24853-6
Online ISBN: 978-3-030-24854-3
eBook Packages: Computer ScienceComputer Science (R0)