Expressing and organizing real-time specification patterns via temporal logics

Formal specification models provide support for the formal verification and validation of the system behaviour. This advantage is typically paid in terms of effort and time spent in learning and using formal methods and tools. The introduction and usage of patterns have a double impact. They stand for examples on how to cover classical problems with formal methods in many different notations, so that the user can shorten the time to understand if a formal method can be used to meet his purpose and how it can be used. Furthermore, they are used for shortening the specification time, by reusing and composing different patterns to cover the specification, thus producing more understandable specifications which refer to commonly known patterns. For these reasons, both interests in and usage of patterns are growing and a higher number of proposals for patterns and pattern classification/organization has appeared in the literature. This paper reports a review of the state of the art for real-time specification patterns, so as to organize them in a unified way, while providing some new patterns which complete the unified model. The proposed organization is based on some relationships among patterns as demonstrated in the paper. During the presentation the patterns have been formalized in TILCO-X, whereas in appendix a list of patterns with formalizations in several different logics such as TILCO, LTL, CTL, GIL, QRE, MTL, TCTL and RTGIL, is provided disguised as links to the locations where such formalizations can be recovered and/or are directly reported, if found not accessible in the literature; this allows the reader to have a detailed view of all the classified patterns, including the ones already added. Furthermore, an example has been proposed to highlight the usefulness of the new identified patterns completing the unified model.

[1]  Volker Gruhn,et al.  Patterns for Timed Property Specifications , 2006, QAPL.

[2]  Bruce Powel Douglass Real-Time Design Patterns , 1999 .

[3]  Ron Koymans,et al.  Specifying Message Passing and Time-Critical Systems with Temporal Logic , 1992, Lecture Notes in Computer Science.

[4]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[5]  Pierfrancesco Bellini,et al.  Temporal logics for real-time system specification , 2000, CSUR.

[6]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[7]  Pierfrancesco Bellini,et al.  Reply to comments on "An Interval Logic for Real-Time System Specification" , 2006, IEEE Transactions on Software Engineering.

[8]  Miguel Felder,et al.  Validating real-time systems by history-checking TRIO specifications , 1992, ICSE '92.

[9]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[10]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[11]  Volker Gruhn,et al.  Specification patterns for time-related properties , 2005, 12th International Symposium on Temporal Representation and Reasoning (TIME'05).

[12]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[13]  Pierfrancesco Bellini,et al.  TILCO-X, an extension of TILCO temporal logic , 2001, Proceedings Seventh IEEE International Conference on Engineering of Complex Computer Systems.

[14]  Betty H. C. Cheng,et al.  Object analysis patterns for embedded systems , 2004, IEEE Transactions on Software Engineering.

[15]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[16]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[17]  Louise E. Moser,et al.  A graphical environment for the design of concurrent real-time systems , 1997, TSEM.

[18]  R. Alur Techniques for automatic verification of real-time systems , 1991 .

[19]  Thomas A. Henzinger,et al.  Real-time logics: complexity and expressiveness , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[20]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[21]  Paolo Nesi,et al.  An Interval Logic for Real-Time System Specification , 2001, IEEE Trans. Software Eng..