Enterprise computing applications generally consists of several inter-related business processes linked together via shared data objects and events. We address the open challenge of providing formal modelling and implementation techniques for such enterprise computing applications, introducing the declarative, data-centric and event-driven process language RESEDA for REactive SEmi-structured DAta. The language is inspired by the computational model of spreadsheets and recent advances in declarative business process modelling notations. The key idea is to associate either input events or reactive computation events to the individual elements of semi-structured data and declare reactive behaviour as explicit reaction rules and constraints between these events. Moreover, RESEDA comes with a formal operational semantics given as rewrite rules supporting both formal analysis and persistent execution of the application as sequences of rewrites of the data. The data, along with the set of constraints, thereby at the same time constitutes the specification of the data, its behaviour and the run-time execution component. This key contribution of the paper is to introduce the RESEDA language, its formal execution semantics and give a sufficient condition for liveness of programs. We also establish Turing-equivalence of the language independently of the choice of underlying data expressions and exemplify the use of RESEDA by a running example of an online store. A prototype implementation of RESEDA and the examples of the paper are available on-line at http://dcr.tools/reseda.
Title of host publication
2018 IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC)