Abstract
In the domain of video delivery, industrial software systems that produce multimedia streams are increasingly more complex. To ensure correctness of their behaviors, there is a strong need for verification and validation activities. In particular, formal verification seems a promising approach for that. However, applying formal verification on industrial legacy systems is challenging. Their intrinsic complexity, their interactions, and the complexity of video standards that are constantly evolving make the task difficult. To face these issues, this paper presents the ATEME Monitoring Tool (AMT), a runtime verification tool used to monitor formal properties on output streams of video delivery systems. This tool can be used all along the product life cycle to make syntactic and semantic verification when analyzing bugs (on live streams or on captures), developing new features, and doing non-regression checks. Using the tool, we have successfully found and/or reproduce real issues violating requirements of systems delivering over-the-top (OTT) streams.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
DVB Inspector. https://www.digitalekabeltelevisie.nl/dvb_inspector/
FFMPEG. https://www.ffmpeg.org/
MPEG-DASH. https://www.mpeg.org/standards/MPEG-DASH/
TSDuck. https://www.tsduck.io/
Apple: HTTP Live Streaming (HLS) Authoring Specification for Apple Devices. https://www.developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices
Apple: Media Stream Validator. https://www.developer.apple.com/documentation/http_live_streaming/using_apple_s_http_live_streaming_hls_tools
Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1–64 (2011). https://doi.org/10.1145/2000799.2000800
Bédard, A., Hallé, S.: Model checking of stream processing pipelines. In: Combi, C., Eder, J., Reynolds, M. (eds.) 28th International Symposium on Temporal Representation and Reasoning (TIME 2021). Leibniz International Proceedings in Informatics (LIPIcs), Dagstuhl, Germany, vol. 206, pp. 5:1–5:17. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2021). https://doi.org/10.4230/LIPIcs.TIME.2021.5
Besnard, V.: EMI - Une approche pour unifier l’analyse et l’exécution embarquée à l’aide d’un interpréteur de modèles pilotable: application aux modèles UML des systèmes embarqués. Theses, ENSTA Bretagne - École nationale supérieure de techniques avancées Bretagne (2020)
Besnard, V., Teodorov, C., Jouault, F., Brun, M., Dhaussy, P.: Unified verification and monitoring of executable UML specifications: a transformation-free approach. Softw. Syst. Model. 20(6), 1825–1855 (2021). https://doi.org/10.1007/s10270-021-00923-9
Bowman, H., Faconti, G., Katoen, J.P., Latella, D., Massink, M.: Automatic verification of a lip-synchronisation protocol using UPPAAL. Form. Asp. Comput. 10(5), 550–575 (1998). https://doi.org/10.1007/s001650050032
Bowman, H., Faconti, G.P., Massink, M.: Specification and verification of media constraints using UPPAAL. In: Markopoulos, P., Johnson, P. (eds.) Design, Specification and Verification of Interactive Systems 1998, pp. 261–277. Springer, Vienna (1998). https://doi.org/10.1007/978-3-7091-3693-5_17
Brumbulli, M., Gaudin, E., Teodorov, C.: Automatic verification of BPMN models. In: 10th European Congress on Embedded Real Time Software and Systems (ERTS 2020), Toulouse, France (2020)
Brunato, D.: xmlschema. https://www.pypi.org/project/xmlschema/
Chen, F., D’Amorim, M., Roşu, G.: A formal monitoring-based framework for software development and analysis. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 357–372. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30482-1_31
Ciccozzi, F.: From models to code and back: a round-trip approach for model-driven engineering of embedded systems. Ph.D. thesis, Mälardalen University, Embedded Systems (2014)
DASH Industry Forum: Dashif Conformance Tool. https://www.conformance.dashif.org/
Duret-Lutz, A., Poitrenaud, D.: SPOT: an extensible model checking library using transition-based generalized Büchi automata. In: Proceedings of the The IEEE Computer Society’s 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, MASCOTS 2004, Washington, DC, USA, pp. 76–83. IEEE Computer Society (2004). https://doi.org/10.1109/MASCOT.2004.1348184
Havelund, K., Roşu, G.: Synthesizing monitors for safety properties. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 342–356. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46002-0_24
Iyenghar, P., Pulvermueller, E., Westerkamp, C., Wuebbelmann, J., Uelschen, M.: Model-based debugging of embedded software systems. In: Lettnin, D., Winterholer, M. (eds.) Embedded Software Verification and Debugging. ES, pp. 107–132. Springer, New York (2017). https://doi.org/10.1007/978-1-4614-2266-2_5
Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: LTSmin: high-performance language-independent model checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 692–707. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_61
Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.: Java-MaC: a run-time assurance approach for Java programs. Formal Methods Syst. Des. 24(2), 129–155 (2004). https://doi.org/10.1023/B:FORM.0000017719.43755.7c
Ojo, O.E., Oluwatope, A.O., Ajadi, S.O.: Formal verification of a peer-to-peer streaming protocol. J. King Saud Univ. Comput. Inf. Sci. 32(6), 730–740 (2020). https://doi.org/10.1016/j.jksuci.2018.08.008
OMG: Unified Modeling Language (2017). https://www.omg.org/spec/UML/2.5.1/PDF
Pantos, R.: HTTP Live Streaming (2023). https://www.datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis
Velipasalar, S., Lin, C., Schlessman, J., Wolf, W.: Design and verification of communication protocols for peer-to-peer multimedia systems. In: 2006 IEEE International Conference on Multimedia and Expo, USA, pp. 1421–1424. IEEE Computer Society (2006). https://doi.org/10.1109/ICME.2006.262806
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Besnard, V., Huet, M., Bivolarov, S., Saadi, N., Cornard, G. (2023). AMT: A Runtime Verification Tool of Video Streams. In: Katsaros, P., Nenzi, L. (eds) Runtime Verification. RV 2023. Lecture Notes in Computer Science, vol 14245. Springer, Cham. https://doi.org/10.1007/978-3-031-44267-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-031-44267-4_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-44266-7
Online ISBN: 978-3-031-44267-4
eBook Packages: Computer ScienceComputer Science (R0)