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.).
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.).
Original language | English |
---|---|
Title of host publication | Business Modeling and Software Design |
Subtitle of host publication | 9th International Symposium, BMSD 2019, Lisbon, Portugal, July 1–3, 2019, Proceedings |
Editors | Boris Shishkov |
Place of Publication | Lisbon |
Publisher | Springer |
Pages | 114-133 |
Number of pages | 20 |
ISBN (Electronic) | 978-3-030-24854-3 |
ISBN (Print) | 978-3-030-24853-6 |
DOIs | |
Publication status | Published - 4-Jul-2019 |
Publication series
Name | Lecture Notes in Business Information Processing |
---|---|
Publisher | Springer |
Volume | 356 |
ISSN (Print) | 1865-1348 |