Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Worst-case Execution Time Calculation for Query-based Monitors by Witness Generation

Published: 18 October 2021 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    Raja Ben Abdessalem, Annibale Panichella, Shiva Nejati, Lionel C. Briand, and Thomas Stifter. 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.
    [2]
    Jaume Abella et al. 2015. WCET analysis methods: Pitfalls and challenges on their trustworthiness. In Proceedings of the 10th IEEE International Symposium on Industrial Embedded Systems.39–48.
    [3]
    Clément Ballabriga, Hugues Cassé, Christine Rochange, and Pascal Sainrat. 2010. OTAWA: An open toolbox for adaptive WCET analysis. In LNCS. Vol. 6399.
    [4]
    Clément Ballabriga, Julien Forget, and Giuseppe Lipari. 2017. Symbolic WCET computation. ACM Trans. Embed. Comput. Syst. 17, 2 (2017).
    [5]
    Ezio Bartocci et al. 2018. Specification-based monitoring of cyber-physical systems: A survey on theory, tools and applications. In Lectures on Runtime Verification. Springer, 135–175.
    [6]
    Gordon S. Blair, Nelly Bencomo, and Robert B. France. 2009. [email protected]. IEEE Comput. 42, 10 (2009), 22–27.
    [7]
    Erwan Brottier, Franck Fleurey, Jim Steel, Benoit Baudry, and Yves Le Traon. 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.
    [8]
    Márton Búr, Gábor Szilágyi, András Vörös, and Dániel Varró. 2018. Distributed graph queries for runtime monitoring of cyber-physical systems. In LNCS. Vol. 10802. 111–128.
    [9]
    Sven Burmester, Holger Giese, Martin Hirsch, and Daniela Schilling. 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.
    [10]
    Sven Burmester, Holger Giese, Andreas Seibel, and Matthias Tichy. 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.
    [11]
    Hugues Cassé and Pascal Sainrat. 2006. OTAWA, a framework for experimenting WCET computations. In Proceedings of the 3rd European Congress on Embedded Real-time. 1–8.
    [12]
    Kong-Rim Choi and Kyung-Chang Kim. 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.
    [13]
    Duc Hiep Chu and Joxan Jaffar. 2011. Symbolic simulation on complicated loops for WCET path analysis. In Proceedings of the 9th ACM International Conference on Embedded Software. IEEE, 319–328.
    [14]
    Maiza Claire et al. 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.
    [15]
    Antoine Colin and Guillem Bernat. 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.
    [16]
    L. Cucu-Grosjean, L. Santinelli, M. Houston, C. Lo, T. Vardanega, L. Kosmidis, J. Abella, E. Mezzetti, E. Quinones, and F. J. Cazorla. 2012. Measurement-based probabilistic timing analysis for multi-path programs. In Proceedings of the 24th Euromicro Conference on Real-time Systems. 91–101.
    [17]
    Wei Dou, Domenico Bianculli, and Lionel Briand. 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.
    [18]
    Doron Drusinsky. 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.
    [19]
    Daniel Emery. 2011. Headways on high speed lines. In Proceedings of the 9th World Congress on Railway Research. 22–26.
    [20]
    Andreas Ermedahl, Christer Sandberg, Jan Gustafsson, Stefan Bygde, and Björn Lisper. 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.
    [21]
    Christian Ferdinand and Reinhold Heckmann. 2004. aiT: Worst-case execution time prediction by static program analysis. In Building the Information Society, Renè Jacquart (Ed.). Springer US, Boston, MA, 377–383.
    [22]
    Thorsten Fischer, Jörg Niere, Lars Torunski, and Albert Zündorf. 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.
    [23]
    Franck Fleurey, Jim Steel, and Benoit Baudry. 2004. Validation in model-driven engineering: Testing model transformations. In Proceedings of the 1st International Workshop on Model, Design and Validation.29–40.
    [24]
    Brian Gallagher. 2006. Matching structure and semantics: A survey on graph-based pattern matching. AAAI FS 6 (2006), 45–53.
    [25]
    Holger Giese, Matthias Tichy, Sven Burmester, Wilhelm Schäfer, and Stephan Flake. 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.
    [26]
    Jan Gustafsson, Andreas Ermedahl, Christer Sandberg, and Björn Lisper. 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.
    [27]
    Jeffery Hansen, Scott Hissam, and Gabriel A. Moreno. 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.
    [28]
    Thomas Hartmann, François Fouquet, Assaad Moawad, Romain Rouvoy, and Yves Le Traon. 2019. GREYCAT: Efficient what-if analytics for data in motion at scale. Inf. Syst. 83 (2019), 101–117.
    [29]
    Klaus Havelund. 2015. Rule-based runtime verification revisited. Int. J. Softw. Tools Technol. Trans. 17, 2 (2015), 143–170.
    [30]
    Klaus Havelund and Grigore Rosu. 2002. Synthesizing monitors for safety properties. In LNCS. Vol. 2280. 342–356.
    [31]
    Jörg Herter and Jan Reineke. 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).
    [32]
    Wen-Chi Hou, Gultekin Ozsoyoglu, and Baldeo K. Taneja. 1989. Processing aggregate relational queries with hard time constraints. SIGMOD Rec. Part F1301 (1989), 68–77. DOI: https://doi.org/10.1145/67544.66933
    [33]
    Ethan K. Jackson, Gabor Simko, and Janos Sztipanovits. 2013. Diversely enumerating system-level architectures. In Proceedings of the ACM International Conference on Embedded Software. IEEE.
    [34]
    Axel Jantsch, Nikil Dutt, and Amir M. Rahmani. 2017. Self-awareness in systems on chip—A survey. IEEE Design Test 34, 6 (2017), 8–26.
    [35]
    Jan Jürjens. 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.
    [36]
    Jens Knoop, Laura Kovács, and Jakob Zwirchmayr. 2013. WCET squeezing. ACM Press, 161.
    [37]
    V. P. Kozyrev. 2016. Estimation of the execution time in real-time systems. Prog. Comput. Softw. 42, 1 (2016), 41–48.
    [38]
    S. Law and I. Bate. 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.
    [39]
    Xianfeng Li, Yun Liang, Tulika Mitra, and Abhik Roychoudhury. 2007. Chronos: A timing analyzer for embedded software. Sci. Comput. Prog. 69, 1–3 (2007), 56–67.
    [40]
    Xiaocui Li, Zhangbing Zhou, Junqi Guo, Shangguang Wang, and Junsheng Zhang. 2019. Aggregated multi-attribute query processing in edge computing for industrial IoT applications. Comput. Netw. 151 (2019), 114–123.
    [41]
    Y.-T.S. Li and Sharad Malik. 1997. Performance analysis of embedded software using implicit path enumeration. IEEE Trans. Comput.-aid. Des. 16, 12 (1997), 1477–1487.
    [42]
    Sung-Soo Lim et al. 1995. An accurate worst case timing analysis for RISC processors. IEEE Trans. Softw. Eng. 21, 7 (1995), 593–604.
    [43]
    Björn Lisper. 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.
    [44]
    Florian Martin, Martin Alt, Reinhard Wilhelm, and Christian Ferdinand. 1998. Analysis of loops. In LNCS, Vol. 1383, 80–94.
    [45]
    Kristóf Marussy, Oszkár Semeráth, and Dániel Varró. 2020. Automated generation of consistent graph models with multiplicity reasoning. IEEE Trans. Softw. Eng. (2020). DOI:https://doi.org/10.1109/TSE.2020.3025732
    [46]
    Marsha Chechik, Michais Famelis, and Rick Salay. 2012. Partial models: Towards modeling and reasoning with uncertainty. In Proceedings of the International Conference on Software Engineering. IEEE.
    [47]
    Gultekin Ozsoyoglu and Richard T. Snodgrass. 1995. Temporal and real-time databases: A survey. IEEE Trans. Knowl. Data Eng. 7, 4 (1995).
    [48]
    Christian Pek, Stefanie Manzinger, Markus Koschi, and Matthias Althoff. 2020. Using online verification to prevent autonomous vehicles from causing accidents. Nat. Mach. Intell. 2, 9 (2020), 518–528.
    [49]
    Lee Pike, Alwyn Goodloe, Robin Morisset, and Sebastian Niller. 2010. Copilot: A hard real-time runtime monitor. In LNCS, Vol. 6418, 345–359.
    [50]
    Peter P. Puschner and Anton V. Schedl. 1997. Computing maximum task execution times—A graph-based approach. Real-time Syst. 13, 1 (1997), 67–91.
    [51]
    Leanna Rierson. 2017. Developing Safety-critical Software. CRC Press, 22–27.
    [52]
    Mooly Sagiv, Thomas Reps, and Reinhard Wilhelm. 2002. Parametric shape analysis via 3-valued logic. ACM Trans. Prog. Lang. Syst. 24, 3 (2002), 193–298.
    [53]
    Rick Salay, Michalis Famelis, and Marsha Chechik. 2012. Language independent refinement using partial modeling. In FASE. Springer.
    [54]
    Oszkár Semeráth, Rebeka Farkas, Gábor Bergmann, and Dániel Varró. 2020. Diversity of graph models and graph generators in mutation testing. Int. J. Softw. Tools Technol. Transf. 22, 1 (2020), 57–78.
    [55]
    Oszkár Semeráth, András Szabolcs Nagy, and Dániel Varró. 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.
    [56]
    Michael Szvetits and Uwe Zdun. 2013. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1 (2013), 31–69.
    [57]
    Juha Taina and Kimmo Raatikainen. 1996. RODAIN: A real-time object-oriented database system for telecommunications. In Proceedings of the International Conference on Information and Knowledge Management.10–14.
    [58]
    Joze Tavcar and Imre Horvath. 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.
    [59]
    The Eclipse Project 2021. Eclipse Modeling Framework. Retrieved from http://www.eclipse.org/emf.
    [60]
    Matthias Tichy, Holger Giese, and Andreas Seibel. 2006. Story diagrams in real-time software. In Proceedings of the 4th International Fujaba Days Conference.
    [61]
    Dániel Varró, Oszkár Semeráth, Gábor Szárnyas, and Ákos Horváth. 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.
    [62]
    Gergely Varró, Frederik Deckwerth, Martin Wieber, and Andy Schürr. 2015. An algorithm for generating model-sensitive search plans for pattern matching on EMF models. Softw. Syst. Model. 14, 2 (2015), 597–621. DOI: https://doi.org/10.1007/s10270-013-0372-2
    [63]
    András Vörös et al. 2018. MoDeS3: Model-based demonstrator for smart and safe cyber-physical systems. In NASA Formal Methods. Springer460–467.
    [64]
    I. Wenzel, R. Kirner, B. Rieder, and P. Puschner. 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.
    [65]
    Reinhard Wilhelm et al. 2008. The worst-case execution-time problem-overview of methods and survey of tools. Trans. Embed. Comput. Syst. 7, 3 (2008).
    [66]
    Cheng Xie, Beibei Yu, Zuoying Zeng, Yun Yang, and Qing Liu. 2021. Multilayer internet-of-things middleware based on knowledge graph. IEEE Internet Things J. 8, 4 (2021), 2635–2648.
    [67]
    Haitao Zhu, Matthew B. Dwyer, and Steve Goddard. 2009. Predictable runtime monitoring. In Proceedings of the Euromicro Conference on Real-time Systems. 173–183.

    Cited By

    View all
    • (2023)Specification and Verification of a Linear-Time Temporal Logic for Graph TransformationGraph Transformation10.1007/978-3-031-36709-0_2(22-42)Online publication date: 19-Jul-2023

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Embedded Computing Systems
    ACM Transactions on Embedded Computing Systems  Volume 20, Issue 6
    November 2021
    256 pages
    ISSN:1539-9087
    EISSN:1558-3465
    DOI:10.1145/3485150
    • Editor:
    • Tulika Mitra
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Journal Family

    Publication History

    Published: 18 October 2021
    Accepted: 01 May 2021
    Revised: 01 May 2021
    Received: 01 November 2020
    Published in TECS Volume 20, Issue 6

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Real-time systems
    2. worst-case execution time analysis
    3. graph queries
    4. model generation

    Qualifiers

    • Research-article
    • Refereed

    Funding Sources

    • NSERC
    • MEDA scholarship program

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)49
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Specification and Verification of a Linear-Time Temporal Logic for Graph TransformationGraph Transformation10.1007/978-3-031-36709-0_2(22-42)Online publication date: 19-Jul-2023

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media