Abstract

Business services are provided by enacting interrelated business processes. Service providers must ensure enactments comply with policies, regulations, and business rules, including rules with quantitative time constraints. Enforcing such rules at design-time may be too restrictive, so effective service provisioning includes expressing rules in a formal specification language and detecting violations of these rules at runtime. Many specification languages do not include quantitative time constraints; for languages with such constraints, it is often unknown if they have runtime monitors whose auxiliary data storage is of bounded size. In this paper, we formulate a technical model of services, a logic language with quantitative time constraints for specifying rules, and develop techniques for automatically generating monitors to detect rule violations. This approach involves two steps, translating: (1) rules to formulas in linear temporal logic (LTL) on finite traces, and (2) LTL formulas to finite state machines. Since algorithms exist for step (2), we focus on step (1), i.e., mapping rules to equivalent LTL formulas. We present and establish the correctness of two translation techniques for “singly-linked” rules. We also compare the size of formulas produced by these techniques with a method of translation derived from Kamp’s Theorem, showing an improvement from hyper-exponential to exponential size.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call