Specifying Event-Based Systems with a Counting Fluent Temporal Logic
Abstract
Fluent linear temporal logic is a formalism for specifying properties of event-based systems, based on propositions called fluents, defined in terms of activating and deactivating events. In this paper, we propose complementing the notion of fluent by the related concept of counting fluent. As opposed to the boolean nature of fluents, counting fluents are numerical values, that enumerate event occurrences, and allow us to specify naturally some properties of reactive systems. Although by extending fluent linear temporal logic with counting fluents we obtain an undecidable, strictly more expressive formalism, we develop a sound (but incomplete) model checking approach for the logic, that reduces to traditional temporal logic model checking, and allows us to automatically analyse properties involving counting fluents, on finite event-based systems. Our experiments, based on relevant models taken from the literature, show that: (i) counting fluent temporal logic is better suited than traditional temporal logic for expressing properties in which the number of occurrences of certain events is relevant, and (ii) our model checking approach on counting fluent specifications has an efficiency that is comparable to that of model checking equivalent fluent temporal logic specifications, while our approach scales better.
BibTeX
@inproceedings{Regis-al:ICSE15,
author = {Germ{\'{a}}n Regis and
Renzo Degiovanni and
Nicol{\'{a}}s D'Ippolito and
Nazareno Aguirre},
title = {Specifying {Event-Based} Systems with a Counting Fluent Temporal Logic},
booktitle = {ICSE (Part I)},
pages = {733--743},
publisher = {{IEEE} Computer Society},
year = {2015},
}