Skip to main content
Log in

Verifying schedulability of tasks in ROS-based systems

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

Robot operating system (ROS) is a new programming framework for developing artificial intelligence systems, like robots, unmanned systems, etc. These systems are usually real-time systems. There are multi-tasks to be scheduled by the underlying real-time operating system. Ensuring schedulability of tasks in ROS-based systems (ROS systems for short) is essential for correctness and safety of such systems. This paper employs a model checking approach to verifying schedulability of tasks in ROS systems. In order to verify ROS systems, we investigate the operational semantics of TMSVL programs and develop an interpreter for it. As a case study, the scheduability of tasks in ROS systems is modeled in TMSVL and verified using its interpreter.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  • Alur R (1999) Timed automata. In: International conference on computer aided verification. Springer, pp 8–22

  • Alur R, Courcoubetis C, Dill D (1993) Model-checking in dense real-time. Inf Comput 104(1):2–34

    Article  MathSciNet  MATH  Google Scholar 

  • Behrmann G, David A, Larsen KG (2004) A tutorial on uppaal. In: Formal methods for the design of real-time systems. Springer, Berlin, pp 200–236

  • Bel Mokadem H, Berard B, Gourcuff V, De Smet O, Roussel JM (2010) Verification of a timed multitask system with UPPAAL. IEEE Trans Autom Sci Eng 7(4):921–932

    Article  Google Scholar 

  • Bini E, Buttazzo GC (2004) Schedulability analysis of periodic fixed priority systems. IEEE Trans Comput 53(11):1462–1473

    Article  Google Scholar 

  • Bini E, Buttazzo GC, Buttazzo GM (2003) Rate monotonic analysis: the hyperbolic bound. IEEE Trans Comput 52(7):933–942

    Article  Google Scholar 

  • Bucci G, Fedeli A, Sassoli L, Vicario E (2004) Timed state space analysis of real-time preemptive systems. IEEE Trans Softw Eng 30(2):97–111

    Article  Google Scholar 

  • Cui J, Duan Z, Tian C, Du H, Zhang N (2018) A novel approach to modeling and verifying real-time systems for high reliability. IEEE Trans Reliab 67(2):481–493

    Article  Google Scholar 

  • Cui J, Duan Z, Tian C, Zhang N (2018) Modeling and analysis of nested interrupt systems. J Softw 29(6):1670–1680 (in Chinese)

    MathSciNet  MATH  Google Scholar 

  • Dennis L, Fisher M, Slavkovik M, Webster M (2016) Formal verification of ethical choices in autonomous systems. Robot Auton Syst 77:1–14

    Article  Google Scholar 

  • Duan Z, Tian C (2014) A practical decision procedure for propositional projection temporal logic with infinite models. Theor Comput Sci 554:169–190

    Article  MathSciNet  MATH  Google Scholar 

  • Duan Z, Tian C, Zhang N (2016) A canonical form based decision procedure and model checking approach for propositional projection temporal logic. Theor Comput Sci 609:544–560

    Article  MathSciNet  MATH  Google Scholar 

  • Katoen JS (2008) Principles of model checking. The MIT Press, Cambridge

    MATH  Google Scholar 

  • Kortenkamp D, Simmons R, Brugali D (2016) Robotic systems architectures and programming. In: Springer Handbook of Robotics. Springer, Berlin, pp 283–306

  • Labrosse JJ (2009) uC/OS-III, The real-time kernel. Micrium Press, Texas

  • Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. JACM 20(1):46–61

    Article  MathSciNet  MATH  Google Scholar 

  • Liu J, Zhou M, Song X, Gu M, Sun J (2017) Formal modeling and verification of a rate-monotonic scheduling implementation with real-time maude. IEEE Trans Ind Electron 64(4):3239–3249

    Article  Google Scholar 

  • Mitsch S, Ghorbal K, Vogelbacher D, Platzer A (2017) Formal verification of obstacle avoidance and navigation of ground robots. Int J Robot Res 36(12):1312–1340

    Article  Google Scholar 

  • Munoz CA, Dutle A, Narkawicz A, Upchurch J (2016) Unmanned aircraft systems in the national airspace system: a formal methods perspective. ACM SIGLOG News 3(3):67–76

    Google Scholar 

  • Park J, Lee I, Sokolsky O, Hwang DY, Ahn S, Choi JY, Kang I (2017) A process algebraic approach to the schedulability analysis and workload abstraction of hierarchical real-time systems. J Log Algebraic Methods Program 92:1–18

    Article  MathSciNet  MATH  Google Scholar 

  • Quigley M, Conley K, Gerkey B, Faust J, Foote T, Leibs J, Wheeler R, Ng AY (2009) ROS: an open-source robot operating system. In: ICRA workshop on open source software, vol 3. IEEE Press, p 5

  • Sun J, Liu Y, Dong JS, Liu Y, Shi L, André É (2013) Modeling and verifying hierarchical real-time systems using stateful timed CSP. ACM Trans Softw Eng Methodol 22(1):3

    Article  Google Scholar 

  • Sun J, Liu Y, Dong JS, Pang J (2009) PAT: towards flexible verification under fairness. In: CAV, vol 9. Springer, Berlin, pp 709–714

  • Wang M, Tian C, Duan Z (2017) Full regular temporal property verification as dynamic program execution. In: Proceedings of the 39th international conference on software engineering companion. IEEE Press, pp 226–228

  • Wang X, Tian C, Duan Z, Zhao L (2017) MSVL: a typed language for temporal logic programming. Front Comput Sci 11(5):762–785

    Article  Google Scholar 

  • Waszniowski L, Hanzálek Z (2008) Formal verification of multitasking applications based on timed automata model. Real-Time Syst 38(1):39–65

    Article  MATH  Google Scholar 

  • Wei H, Shao Z, Huang Z, Chen R, Guan Y, Tan J, Shao Z (2016) RT-ROS: a real-time ROS architecture on multi-core processors. Future Gener Comput Syst 56:171–178

    Article  Google Scholar 

  • Yang X, Duan Z (2008) Operational semantics of framed tempura. J Logic Algebraic Program 78(1):22–51

    Article  MathSciNet  MATH  Google Scholar 

  • Zhang N, Duan Z, Tian C (2016) A mechanism of function calls in MSVL. Theor Comput Sci 654:11–25

    Article  MathSciNet  MATH  Google Scholar 

  • Zhang N, Duan Z, Tian C (2016) Model checking concurrent systems with MSVL. Sci China Inf Sci 59(11):118101

    Article  Google Scholar 

Download references

Acknowledgements

This research is supported by NSFC Grant Nos. 61420106004, 61732013, 61751207 and 61572386.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Cong Tian, Nan Zhang or Zhenhua Duan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cui, J., Tian, C., Zhang, N. et al. Verifying schedulability of tasks in ROS-based systems. J Comb Optim 37, 901–920 (2019). https://doi.org/10.1007/s10878-018-0328-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-018-0328-0

Keywords

Navigation