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
- 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]
- Henning, M. 2004. A New Approach to Object-Oriented Middleware. IEEE Internet Computing.
- ISO/IEC 2011, Information technology - Programming languages - C++, ISO/IEC 14882:2011.
- ISO/IEC 2014, Information technology - Programming languages - C++, ISO/IEC 14882:2014.
- Josuttis, N. M. 2012, The C++ standard library: a tutorial and reference, 2nd ed, Addison Wesley Longman.
- King, D. E. 2009. Dlib-ml: A Machine Learning Toolkit. Journal of Machine Learning Research.
- 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]
- 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]
- Mitchell, S. 2013. SDL Game Development, Packt Publishing.
- Reenskaug, T., Wold, P., Odd, A.L., 1996, Working with objects: The OOram Software Engineering Method, Manning Publications/Prentice Hall.
- Robinson, M. 2013. Getting started with JUCE, Packt Publishing.
- Schmidt, D. C. and Huston, S. D. 2003. Systematic Reuse with ACE and Frameworks, Addison-Wesley Longman.
- 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.
- Stroustrup, B. 2014, Programming - Principles and Practice Using C++, 2th Edition, Addison-Wesley.
- The Qt Company 2015, Qt. Available from: < http://www. qt.io/application-development/>. [9 February 2015]
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