Library for Simplified Timer Implementation using Standard C++

Sérgio F. Lopes, Paulo Vicente, Ricardo Gomes

2015

Abstract

Temporization is a crucial aspects of control, automation and robotics systems. C++ is used in the development of such systems, especially if they are more complex and powerful. Because, the language and standard library do not support non-blocking timers with callbacks for event-driven programming, developers resort to libraries and frameworks that offer such functionality. However, their timer implementations are dependent on platform specificities and thus have more limited portability. C++11 has introduced features that enable standard implementations of timers. We propose a library that implements timers with simplified usage relatively to well-known libraries. The proposed library is contrasted with timers of two well know libraries, through a series of usage scenarios. We describe the design and provide performance measurements. The results show that it is faster and offers more accurate temporization.

References

  1. Applied Informatics Software Engineering GmbH 2010, Multithreading: Doing things in parallel with POCO, Available from: <http://pocoproject.org/slides/130- Threads.pdf>. [10 February 2015]
  2. Henning, M. 2004. A New Approach to Object-Oriented Middleware. IEEE Internet Computing.
  3. ISO/IEC 2011, Information technology - Programming languages - C++, ISO/IEC 14882:2011.
  4. ISO/IEC 2014, Information technology - Programming languages - C++, ISO/IEC 14882:2014.
  5. Josuttis, N. M. 2012, The C++ standard library: a tutorial and reference, 2nd ed, Addison Wesley Longman.
  6. King, D. E. 2009. Dlib-ml: A Machine Learning Toolkit. Journal of Machine Learning Research.
  7. Kohlhoff, C.M. 2014, Boost.Asio. Available from: <http://www.boost.org/doc/libs/1_57_0/doc/html/boos t_asio.html>. [9 February 2015]
  8. Mathewson, N. 2012, Fast portable non-blocking network programming with Libevent. Available from: <http:// www.wangafu.net/nickm/libevent-book/TOC.html>. [9 February 2015]
  9. Mitchell, S. 2013. SDL Game Development, Packt Publishing.
  10. Reenskaug, T., Wold, P., Odd, A.L., 1996, Working with objects: The OOram Software Engineering Method, Manning Publications/Prentice Hall.
  11. Robinson, M. 2013. Getting started with JUCE, Packt Publishing.
  12. Schmidt, D. C. and Huston, S. D. 2003. Systematic Reuse with ACE and Frameworks, Addison-Wesley Longman.
  13. Stroustrup, B. 2005, 'Abstraction and the C++ Machine Model', in Embedded Software and Systems. eds Z. Wu, C. Chen, M. Guo & J. Bu, Springer Berlin Heidelberg, LNCS, pp. 1-13.
  14. Stroustrup, B. 2014, Programming - Principles and Practice Using C++, 2th Edition, Addison-Wesley.
  15. The Qt Company 2015, Qt. Available from: < http://www. qt.io/application-development/>. [9 February 2015]
Download


Paper Citation


in Harvard Style

F. Lopes S., Vicente P. and Gomes R. (2015). Library for Simplified Timer Implementation using Standard C++ . In Proceedings of the 12th International Conference on Informatics in Control, Automation and Robotics - Volume 2: ICINCO, ISBN 978-989-758-123-6, pages 517-524. DOI: 10.5220/0005575205170524


in Bibtex Style

@conference{icinco15,
author={Sérgio F. Lopes and Paulo Vicente and Ricardo Gomes},
title={Library for Simplified Timer Implementation using Standard C++},
booktitle={Proceedings of the 12th International Conference on Informatics in Control, Automation and Robotics - Volume 2: ICINCO,},
year={2015},
pages={517-524},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005575205170524},
isbn={978-989-758-123-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 12th International Conference on Informatics in Control, Automation and Robotics - Volume 2: ICINCO,
TI - Library for Simplified Timer Implementation using Standard C++
SN - 978-989-758-123-6
AU - F. Lopes S.
AU - Vicente P.
AU - Gomes R.
PY - 2015
SP - 517
EP - 524
DO - 10.5220/0005575205170524