Abstract
Runtime monitoring plays a key role in the assurance of modern intelligent cyber-physical systems, which are frequently data-intensive and safety-critical. While graph queries can serve as an expressive yet formally precise specification language to capture the safety properties of interest, there are no timeliness guarantees for such auto-generated runtime monitoring programs, which prevents their use in a real-time setting. While worst-case execution time (WCET) bounds derived by existing static WCET estimation techniques are safe, they may not be tight as they are unable to exploit domain-specific (semantic) information about the input models. This article presents a semantic-aware WCET analysis method for data-driven monitoring programs derived from graph queries. The method incorporates results obtained from low-level timing analysis into the objective function of a modern graph solver. This allows the systematic generation of input graph models up to a specified size (referred to as witness models) for which the monitor is expected to take the most time to complete. Hence, the estimated execution time of the monitors on these graphs can be considered as safe and tight WCET. Additionally, we perform a set of experiments with query-based programs running on a real-time platform over a set of generated models to investigate the relationship between execution times and their estimates, and we compare WCET estimates produced by our approach with results from two well-known timing analyzers, aiT and OTAWA.
- [1] . 2018. Testing autonomous cars for feature interaction failures using many-objective search. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. 143–154. Google Scholar
Digital Library
- [2] . 2015. WCET analysis methods: Pitfalls and challenges on their trustworthiness. In Proceedings of the 10th IEEE International Symposium on Industrial Embedded Systems.39–48. Google Scholar
Cross Ref
- [3] . 2010. OTAWA: An open toolbox for adaptive WCET analysis. In LNCS. Vol. 6399. Google Scholar
Digital Library
- [4] . 2017. Symbolic WCET computation. ACM Trans. Embed. Comput. Syst. 17, 2 (2017). Google Scholar
Digital Library
- [5] . 2018. Specification-based monitoring of cyber-physical systems: A survey on theory, tools and applications. In Lectures on Runtime Verification. Springer, 135–175.Google Scholar
Cross Ref
- [6] . 2009. [email protected]. IEEE Comput. 42, 10 (2009), 22–27. Google Scholar
Digital Library
- [7] . 2006. Metamodel-based test generation for model transformations: an algorithm and a tool. In Proceedings of the 17th International Symposium on Software Reliability Engineering. 85–94. Google Scholar
Digital Library
- [8] . 2018. Distributed graph queries for runtime monitoring of cyber-physical systems. In LNCS. Vol. 10802. 111–128. Google Scholar
- [9] . 2004. Incremental design and formal verification with UML/RT in the FUJABA real-time tool suite. In Proceedings of the International Workshop on Specification and Validation of UML Models for Real Time and Embedded Systems. Citeseer.Google Scholar
- [10] . 2005. Worst-case execution time optimization of story patterns for hard real-time systems. In Proceedings of the 3rd International Fujaba Days Conference. 71–78.Google Scholar
- [11] . 2006. OTAWA, a framework for experimenting WCET computations. In Proceedings of the 3rd European Congress on Embedded Real-time. 1–8.Google Scholar
- [12] . 1996. T*-tree: A main memory database index structure for real time applications. In Proceedings of the 3rd International Workshop on Real-time Computing Systems and Applications. 81–88. Google Scholar
Digital Library
- [13] . 2011. Symbolic simulation on complicated loops for WCET path analysis. In Proceedings of the 9th ACM International Conference on Embedded Software. IEEE, 319–328. Google Scholar
Digital Library
- [14] . 2017. The W-SEPT project: Towards semantic-aware WCET estimation. In Proceedings of the 17th International Workshop on Worst-case Execution Time Analysis
(WCET’17) , Vol. 57. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 9:1–9:13. Google Scholar - [15] . 2002. Scope-tree: A program representation for symbolic worst-case execution time analysis. In Proceedings of the14th Euromicro Conference on Real-time Systems. IEEE, 50–59. Google Scholar
Digital Library
- [16] . 2012. Measurement-based probabilistic timing analysis for multi-path programs. In Proceedings of the 24th Euromicro Conference on Real-time Systems. 91–101. Google Scholar
Digital Library
- [17] . 2018. Model-driven trace diagnostics for pattern-based temporal specifications. In Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. 278–288. Google Scholar
Digital Library
- [18] . 2000. The temporal rover and the ATG rover. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) , Vol. 1885, 323–330. Google Scholar
Digital Library
- [19] . 2011. Headways on high speed lines. In Proceedings of the 9th World Congress on Railway Research. 22–26.Google Scholar
- [20] . 2007. Loop bound analysis based on a combination of program slicing, abstract interpretation, and invariant analysis. In Proceedings of the 7th International Workshop on Worst-case Execution Time Analysis
(WCET’07) . Schloss Dagstuhl-Leibniz-Zentrum für Informatik.Google Scholar - [21] . 2004. aiT: Worst-case execution time prediction by static program analysis. In Building the Information Society, (Ed.). Springer US, Boston, MA, 377–383. Google Scholar
Cross Ref
- [22] . 1998. Story diagrams: A new graph rewrite language based on the unified modeling language and Java. In Proceedings of the International Workshop on Theory and Application of Graph Transformations. Springer, 296–309. Google Scholar
Digital Library
- [23] . 2004. Validation in model-driven engineering: Testing model transformations. In Proceedings of the 1st International Workshop on Model, Design and Validation.29–40.Google Scholar
Cross Ref
- [24] . 2006. Matching structure and semantics: A survey on graph-based pattern matching. AAAI FS 6 (2006), 45–53.Google Scholar
- [25] . 2003. Towards the compositional verification of real-time UML designs. In Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering. 38–47. Google Scholar
Digital Library
- [26] . 2006. Automatic derivation of loop bounds and infeasible paths for WCET analysis using abstract execution. In Proceedings of the Real-time Systems Symposium. 57–66. Google Scholar
Digital Library
- [27] . 2009. Statistical-based wcet estimation and validation. In Proceedings of the 9th International Workshop on Worst-case Execution Time Analysis. Schloss Dagstuhl-Leibniz-Zentrum für Informatik.Google Scholar
- [28] . 2019. GREYCAT: Efficient what-if analytics for data in motion at scale. Inf. Syst. 83 (2019), 101–117.Google Scholar
Cross Ref
- [29] . 2015. Rule-based runtime verification revisited. Int. J. Softw. Tools Technol. Trans. 17, 2 (2015), 143–170. Google Scholar
Digital Library
- [30] . 2002. Synthesizing monitors for safety properties. In LNCS. Vol. 2280. 342–356. Google Scholar
Digital Library
- [31] . 2009. Making dynamic memory allocation static to support WCET analysis. In Proceedings of the 9th International Workshop on Worst-case Execution Time Analysis
(WCET’09) .Google Scholar - [32] . 1989. Processing aggregate relational queries with hard time constraints. SIGMOD Rec. Part F1301 (1989), 68–77.
DOI : 10.1145/67544.66933 Google ScholarDigital Library
- [33] . 2013. Diversely enumerating system-level architectures. In Proceedings of the ACM International Conference on Embedded Software. IEEE. Google Scholar
Digital Library
- [34] . 2017. Self-awareness in systems on chip—A survey. IEEE Design Test 34, 6 (2017), 8–26.Google Scholar
Cross Ref
- [35] . 2003. Developing safety-critical systems with UML. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 2863, 360–372. Google Scholar
Cross Ref
- [36] . 2013. WCET squeezing. ACM Press, 161.Google Scholar
- [37] . 2016. Estimation of the execution time in real-time systems. Prog. Comput. Softw. 42, 1 (2016), 41–48. Google Scholar
Digital Library
- [38] . 2016. Achieving appropriate test coverage for reliable measurement-based timing analysis. In Proceedings of the 28th Euromicro Conference on Real-time Systems
(ECRTS’16) . 189–199.Google ScholarCross Ref
- [39] . 2007. Chronos: A timing analyzer for embedded software. Sci. Comput. Prog. 69, 1–3 (2007), 56–67. Google Scholar
Digital Library
- [40] . 2019. Aggregated multi-attribute query processing in edge computing for industrial IoT applications. Comput. Netw. 151 (2019), 114–123. Google Scholar
Cross Ref
- [41] . 1997. Performance analysis of embedded software using implicit path enumeration. IEEE Trans. Comput.-aid. Des. 16, 12 (1997), 1477–1487. Google Scholar
Digital Library
- [42] . 1995. An accurate worst case timing analysis for RISC processors. IEEE Trans. Softw. Eng. 21, 7 (1995), 593–604. Google Scholar
Digital Library
- [43] . 2014. SWEET–a tool for WCET flow analysis. In Proceedings of the International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Springer, 482–485.Google Scholar
- [44] . 1998. Analysis of loops. In LNCS, Vol. 1383, 80–94. Google Scholar
Cross Ref
- [45] . 2020. Automated generation of consistent graph models with multiplicity reasoning. IEEE Trans. Softw. Eng. (2020).
DOI: https://doi.org/10.1109/TSE.2020.3025732Google ScholarCross Ref
- [46] . 2012. Partial models: Towards modeling and reasoning with uncertainty. In Proceedings of the International Conference on Software Engineering. IEEE. Google Scholar
Digital Library
- [47] . 1995. Temporal and real-time databases: A survey. IEEE Trans. Knowl. Data Eng. 7, 4 (1995). Google Scholar
Digital Library
- [48] . 2020. Using online verification to prevent autonomous vehicles from causing accidents. Nat. Mach. Intell. 2, 9 (2020), 518–528. Google Scholar
Cross Ref
- [49] . 2010. Copilot: A hard real-time runtime monitor. In LNCS, Vol. 6418, 345–359. Google Scholar
Digital Library
- [50] . 1997. Computing maximum task execution times—A graph-based approach. Real-time Syst. 13, 1 (1997), 67–91. Google Scholar
Digital Library
- [51] . 2017. Developing Safety-critical Software. CRC Press, 22–27. Google Scholar
Cross Ref
- [52] . 2002. Parametric shape analysis via 3-valued logic. ACM Trans. Prog. Lang. Syst. 24, 3 (2002), 193–298. Google Scholar
Digital Library
- [53] . 2012. Language independent refinement using partial modeling. In FASE. Springer. Google Scholar
Digital Library
- [54] . 2020. Diversity of graph models and graph generators in mutation testing. Int. J. Softw. Tools Technol. Transf. 22, 1 (2020), 57–78.Google Scholar
Digital Library
- [55] . 2018. A graph solver for the automated generation of consistent domain-specific models. In Proceedings of the 40th International Conference on Software Engineering. 969–980. Google Scholar
Digital Library
- [56] . 2013. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1 (2013), 31–69. Google Scholar
Digital Library
- [57] . 1996. RODAIN: A real-time object-oriented database system for telecommunications. In Proceedings of the International Conference on Information and Knowledge Management.10–14. Google Scholar
Digital Library
- [58] . 2019. A review of the principles of designing smart cyber-physical systems for run-time adaptation: Learned lessons and open issues. IEEE Trans. Syst. Man Cybern. Syst. 49, 1 (2019), 145–158. Google Scholar
Cross Ref
- [59] The Eclipse Project 2021. Eclipse Modeling Framework. Retrieved from http://www.eclipse.org/emf.Google Scholar
- [60] . 2006. Story diagrams in real-time software. In Proceedings of the 4th International Fujaba Days Conference.Google Scholar
- [61] . 2018. Towards the automated generation of consistent, diverse, scalable and realistic graph models. In Graph Transformation, Specifications, and Nets (In Memory of Hartmut Ehrig). Springer.Google Scholar
- [62] . 2015. An algorithm for generating model-sensitive search plans for pattern matching on EMF models. Softw. Syst. Model. 14, 2 (2015), 597–621.
DOI : 10.1007/s10270-013-0372-2 Google ScholarDigital Library
- [63] . 2018. MoDeS3: Model-based demonstrator for smart and safe cyber-physical systems. In NASA Formal Methods. Springer460–467.Google Scholar
Cross Ref
- [64] . 2005. Measurement-based worst-case execution time analysis. In Proceedings of the 3rd IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems
(SEUS’05) . 7–10. Google ScholarDigital Library
- [65] . 2008. The worst-case execution-time problem-overview of methods and survey of tools. Trans. Embed. Comput. Syst. 7, 3 (2008). Google Scholar
Digital Library
- [66] . 2021. Multilayer internet-of-things middleware based on knowledge graph. IEEE Internet Things J. 8, 4 (2021), 2635–2648.Google Scholar
Cross Ref
- [67] . 2009. Predictable runtime monitoring. In Proceedings of the Euromicro Conference on Real-time Systems. 173–183. Google Scholar
Digital Library
Index Terms
Worst-case Execution Time Calculation for Query-based Monitors by Witness Generation
Recommendations
Worst-case execution time analysis-driven object cache design
Hard real-time systems need a time-predictable computing platform to enable static worst-case execution time (WCET) analysis. All performance-enhancing features need to be WCET analyzable. However, standard data caches containing heap-allocated data are ...
Predictable Worst-Case Execution Time Analysis for Multiprocessor Systems-on-Chip
DELTA '11: Proceedings of the 2011 Sixth IEEE International Symposium on Electronic Design, Test and ApplicationWorst-case execution time analysis is the fundament of real-time system design, and is therefore an area which has been subject to great scientific interest for a long time. However, traditional worst-case execution time analysis techniques assume that ...
Clustered Worst-Case Execution-Time Calculation
Knowing the Worst-Case Execution Time (WCET) of a program is necessary when designing and verifying real-time systems. A correct WCET analysis method must take into account the possible program flow, such as loop iterations and function calls, as well ...






Comments