Abstract
Many applications in emerging scenarios, such as autonomous vehicles, intelligent robots, and industrial automation, are safety-critical with strict timing requirements. However, the development of real-time systems is error prone and highly dependent on sophisticated domain expertise, making it a costly process. This article utilises the principles of model-driven engineering (MDE) and proposes two methodologies to automate the development of real-time Java applications. The first one automatically converts standard time-sharing Java applications to real-time Java applications, using a series of transformations. It is in line with the observed industrial trend, such as for the big data technology, of redeveloping existing software without the real-time notion to realise the real-time features. The second one allows users to automatically generate real-time Java application templates with a lightweight modelling language, which can be used to define the real-time properties—essentially a synthesis process. This article opens up a new research direction on development automation of real-time programming languages and inspires many research questions that can be jointly investigated by the embedded systems, programming languages as well as MDE communities.
- Austin Armbruster, Jason Baker, Antonio Cunei, Chapman Flack, David Holmes, Filip Pizlo, Edward Pla, Marek Prochazka, and Jan Vitek. 2007. A real-time Java virtual machine with applications in avionics. ACM Trans. Embed. Comput. Syst. 7, 1 (2007), 5.Google Scholar
Digital Library
- Neil Audsley, Alan Burns, Mike Richardson, Ken Tindell, and Andy J. Wellings. 1993. Applying new scheduling theory to static priority pre-emptive scheduling. Softw. Eng. J. 8, 5 (1993), 284--292.Google Scholar
Cross Ref
- Neil C. Audsley, Yu Chan, Ian Gray, and Andy J. Wellings. 2014. Real-time big data: The JUNIPER approach. Technical Report.Google Scholar
- Jason Baker, Antonio Cunei, Chapman Flack, Filip Pizlo, Marek Prochazka, Jan Vitek, Austin Armbruster, Edward Pla, and David Holmes. 2006. A real-time java virtual machine for avionics-an experience report. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’06). IEEE, 384--396.Google Scholar
Digital Library
- Konstantinos Barmpis, Dimitrios Kolovos, and Justin Hingorani. 2018. Towards a framework for writing executable natural language rules. In Proceedings of the European Conference on Modelling Foundations and Applications. Springer, 251--263.Google Scholar
Cross Ref
- John Barnes. 1997. High Integrity Ada: The SPARK Approach. Vol. 189. Addison-Wesley, Reading, MA.Google Scholar
- Jean Bézivin. 2005. On the unification power of models. Softw. Syst. Model. 4, 2 (2005), 171--188.Google Scholar
Digital Library
- Gregory Bollella and James Gosling. 2000. The real-time specification for Java. Computer 33, 6 (2000), 47--54.Google Scholar
Digital Library
- Hugo Bruneliere, Jordi Cabot, Grégoire Dupé, and Frédéric Madiot. 2014. Modisco: A model driven reverse engineering framework. Inf. Softw. Technol. 56, 8 (2014), 1012--1032.Google Scholar
Cross Ref
- Alan Burns and Andy Wellings. 2016. Analysable Real-Time Systems: Programmed in Ada. CreateSpace Independent Publishing Platform.Google Scholar
- Alan Burns and Andrew J. Wellings. 2001. Real-time Systems and Programming Languages: Ada 95, Real-time Java, and Real-time POSIX. Pearson Education.Google Scholar
- Alan Burns, Andy J. Wellings, and Fengxiang Zhang. 2009. Combining EDF and FP scheduling: Analysis and implementation in Ada 2005. In Proceedings of the International Conference on Reliable Software Technologies. Springer, 119--133.Google Scholar
Digital Library
- Ana Cavalcanti, Alvaro Miyazawa, Andy Wellings, Jim Woodcock, and Shuai Zhao. 2017. Java in the Safety-Critical Domain. Springer International Publishing, Cham, 110--150.Google Scholar
- Wanli Chang and Samarjit Chakraborty. 2016. Resource-aware automotive control systems design: A cyber-physical systems approach. Found. Trends Electr. Des. Autom. 10, 4 (2016), 249--369.Google Scholar
Digital Library
- Wanli Chang, Dip Goswami, Samarjit Chakraborty, and Arne Hamann. 2018. OS-aware automotive controller design using non-uniform sampling. ACM Trans. Cyber-Phys. Syst. 2, 4 (2018), 26.Google Scholar
Digital Library
- Wanli Chang, Dip Goswami, Samarjit Chakraborty, Lei Ju, Chun Xue, and Sidharta Andalam. 2017. Memory-aware embedded control systems design. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 36, 4 (2017), 586--599.Google Scholar
Digital Library
- Wanli Chang, Shuai Zhao, Ran Wei, Andy Wellings, and Alan Burns. 2019. From Java to real-time Java: A model-driven methodology with automated toolchain. In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems. 123--134.Google Scholar
Digital Library
- Robert I. Davis and Alan Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. Acm Computing Surveys 43, 4 (2011), 1--44.Google Scholar
Digital Library
- Peter Dibble. 2002. Real-time Java Platform Programming. Prentice Hall Professional.Google Scholar
- Ian Gray, Neil Cameron Audsley, Jamie Garside, Yu Chan, and Andrew John Wellings. 2015. FPGA-based acceleration for real-time big data systems. In Proceedings of the 9th HiPEAC Workshop on Reconfigurable Computing.Google Scholar
- Ian Gray, Yu Chan, Jamie Garside, Neil C. Audsley, and Andy J. Wellings. 2015. FPGA-based hardware acceleration for real-time big data systems. In 9th HiPEAC Workshop on Reconfigurable Computing.Google Scholar
- Les Hatton. 2004. Safer language subsets: An overview and a case history, MISRA C. Inf. Softw. Technol. 46, 7 (2004), 465--472.Google Scholar
Cross Ref
- Florian Heidenreich, Jendrik Johannes, Mirko Seifert, and Christian Wende. 2009. Closing the gap between modelling and java. In Proceedings of the International Conference on Software Language Engineering. Springer, 374--383.Google Scholar
- Thomas Henties, James J Hunt, Doug Locke, Kelvin Nilsen, Martin Schoeberl, and Jan Vitek. 2009. Java for safety-critical applications. In Proceedings of the 2nd International Workshop on the Certification of Safety-critical Software Controlled Systems (SafeCert’09).Google Scholar
- Erik Yu-Shing Hu, Eric Jenn, Nicolas Valot, and Alejandro Alonso. 2006. Safety critical applications and hard real-time profile for Java: A case study in avionics. In Proceedings of the 4th International Workshop on Java Technologies for Real-time and Embedded Systems. ACM, 125--134.Google Scholar
- Ari Jaaksi. 2002. Developing mobile browsers in a product line. IEEE Softw. 19, 4 (2002), 73--80.Google Scholar
Digital Library
- A Juan, Jorge Garrido, Juan Zamorano, and Alejandro Alonso. 2014. Model-driven design of real-time software for an experimental satellite. IFAC Proc. Vol. 47, 3 (2014), 1592--1598.Google Scholar
Cross Ref
- Juha Kärnä, Juha-Pekka Tolvanen, and Steven Kelly. 2009. Evaluating the use of domain-specific modeling in practice. In Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling.Google Scholar
- Timothy Patrick Kelly. 1999. Arguing Safety: A Systematic Approach to Managing Safety Cases. Ph.D. Dissertation. University of York, York, UK.Google Scholar
- Dimitrios S. Kolovos, Richard F. Paige, and Fiona A. C. Polack. 2008. The epsilon transformation language. In Proceedings of the International Conference on Theory and Practice of Model Transformations. Springer, 46--60.Google Scholar
- Dimitrios S. Kolovos, Ran Wei, and Konstantinos Barmpis. 2013. An approach for efficient querying of large relational datasets with ocl-based languages. In Proceedings of the XM 2013–Extreme Modeling Workshop. 48.Google Scholar
- Björsn Konieczek, Michael Rethfeldt, Frank Golatowski, and Dirk Timmermann. 2015. Real-time communication for the internet of things using jcoap. In Proceedings of the 2015 IEEE 18th International Symposium on Real-Time Distributed Computing. IEEE, 134--141.Google Scholar
Digital Library
- Agnes Lanusse, Yann Tanguy, Huascar Espinoza, Chokri Mraidha, Sebastien Gerard, Patrick Tessier, Remi Schnekenburger, Hubert Dubois, and François Terrier. 2009. Papyrus UML: An open source toolset for MDA. In Proceedings of the 5th European Conference on Model-Driven Architecture Foundations and Applications (ECMDA-FA’09). Citeseer, 1--4.Google Scholar
- Shaoshan Liu, Jie Tang, Chao Wang, Quan Wang, and Jean-Luc Gaudiot. 2017. Implementing a cloud platform for autonomous driving. arXiv preprint arXiv:1704.02696 (2017).Google Scholar
- Shaoshan Liu, Jie Tang, Chao Wang, Quan Wang, and Jean-Luc Gaudiot. 2017. A unified cloud platform for autonomous driving. Computer 50, 12 (2017), 42--49.Google Scholar
Digital Library
- No Magic. 2007. MagicDraw. Retrieved from https://www.nomagic.com/products/magicdraw.Google Scholar
- HaiTao Mei, Ian Gray, and Andy Wellings. 2016. Real-time stream processing in java. In Proceedings of the Ada-Europe International Conference on Reliable Software Technologies. Springer, 44--57.Google Scholar
Digital Library
- Parastoo Mohagheghi and Vegard Dehlen. 2008. Where is the proof?-A review of experiences from applying MDE in industry. In Proceedings of the European Conference on Model Driven Architecture-Foundations and Applications. Springer, 432--443.Google Scholar
Digital Library
- Renaud Pawlak, Martin Monperrus, Nicolas Petitprez, Carlos Noguera, and Lionel Seinturier. 2015. Spoon: A library for implementing analyses and transformations of Java source code. Softw. Pract. Exp. 46, 9 (2015), 1155--1179. DOI:https://doi.org/10.1002/spe.2346Google Scholar
Digital Library
- Ben Potter, David Till, and Jane Sinclair. 1996. An Introduction to Formal Specification and Z. Prentice Hall PTR.Google Scholar
- Ragunathan Rajkumar. 2012. Synchronization in Real-time Systems: A Priority Inheritance Approach. Vol. 151. Springer Science 8 Business Media.Google Scholar
- Louis M. Rose, Richard F. Paige, Dimitrios S. Kolovos, and Fiona A. C. Polack. 2008. The epsilon generation language. In Proceedings of the European Conference on Model Driven Architecture-Foundations and Applications. Springer, 1--16.Google Scholar
- RTEMS. Retrieved February 21, 2020 from http://www.rtems.org/.Google Scholar
- Douglas C. Schmidt. 2006. Model-driven engineering. Computer 39, 2 (2006), 25.Google Scholar
Digital Library
- Martin Schoeberl, Andreas Engelbredt Dalsgaard, René Rydhof Hansen, Stephan E. Korsholm, Anders P. Ravn, Juan Ricardo Rios Rivas, Tórur Biskopstø Strøm, Hans Søndergaard, Andy Wellings, and Shuai Zhao. 2017. Safety-critical Java for embedded systems. Concurr. Comput. Pract. Exp. 29, 22 (2017), e3963.Google Scholar
Cross Ref
- Martin Schoeberl, Hans Sondergaard, Bent Thomsen, and Anders P. Ravn. 2007. A profile for safety critical java. In Proceedings of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC’07). IEEE, 94--101.Google Scholar
- Lui Sha, Ragunathan Rajkumar, and John P. Lehoczky. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers 39, 9 (1990).Google Scholar
Digital Library
- Fridtjof Siebert. 2007. Realtime garbage collection in the JamaicaVM 3.0. In Proceedings of the 5th International Workshop on Java Technologies for Real-time and Embedded Systems. Citeseer, 94--103.Google Scholar
Digital Library
- Fridtjof Siebert. 2010. Concurrent, parallel, real-time garbage-collection. In ACM Sigplan Notices, Vol. 45. ACM, 11--20.Google Scholar
Digital Library
- Rashmi P. Sonar and Rani S. Lande. 2018. Javolution-solution for real time embedded system. In Proceedings of the 2018 International Conference on Research in Intelligent and Computing in Engineering (RICE’18). IEEE, 1--10.Google Scholar
- Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. 2008. EMF: Eclipse Modeling Framework. Pearson Education.Google Scholar
Digital Library
- Sparx Systems. 2012. Sparx Systems SysML. Retrieved March 23, 2020 from https://sparxsystems.com/.Google Scholar
- Chris Tapp. 2009. An introduction to MISRA C++. SAE Int. J. Passeng. Cars - Electron. Electr. Syst. 1, 1 (2009), 265--268.Google Scholar
Cross Ref
- Kleanthis Thramboulidis. 2007. IEC 61499 in factory automation. In Advances in Computer, Information, and Systems Sciences, and Engineering. Springer, 115--124.Google Scholar
- Kleanthis Thramboulidis and Alkiviadis Zoupas. 2005. Real-time Java in control and automation: A model driven development approach. In Proceedings of the 2005 IEEE Conference on Emerging Technologies and Factory Automation, Vol. 1. IEEE, 8–pp.Google Scholar
Cross Ref
- Christian Wawersich, Michael Stilkerich, and Wolfgang Schröder-Preikschat. 2007. An OSEK/VDX-based multi-JVM for automotive appliances. In Embedded System Design: Topics, Techniques and Trends. Springer, 85--96.Google Scholar
- Ran Wei, Tim P. Kelly, Xiaotian Dai, Shuai Zhao, and Richard Hawkins. 2019. Model based system assurance using the structured assurance case metamodel. J. Syst. Softw. 154 (2019), 211--233.Google Scholar
Digital Library
- Andrew J. Wellings. 2004. Concurrent and Real-time Programming in Java. John Wiley, New York, NY.Google Scholar
- Shuai Zhao. 2018. A FIFO Spin-based Resource Control Framework for Symmetric Multiprocessing. Ph.D. Dissertation. University of York.Google Scholar
- Shuai Zhao, Jorge Garrido, Alan Burns, and Andy Wellings. 2017. New schedulability analysis for MrsP. In Proceedings of the 2017 IEEE 23rd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’17). IEEE, 1--10.Google Scholar
Cross Ref
- Shuai Zhao, Jorge Garrido, Ran Wei, Alan Burns, Andy Wellings, and A Juan. 2020. A complete run-time overhead-aware schedulability analysis for MrsP under nested resources. J. Syst. Softw. 159 (2020), 110449.Google Scholar
Digital Library
- Shuai Zhao, Andy Wellings, and Stephan Erbs Korsholm. 2015. Supporting multiprocessors in the ICECAP safety-critical java run-time environment. In Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems. ACM, 1.Google Scholar
Digital Library
- Athanasios Zolotas, Ran Wei, Simos Gerasimou, Horacio Hoyos Rodriguez, Dimitrios S. Kolovos, and Richard F. Paige. 2018. Towards automatic generation of UML profile graphical editors for papyrus. In Modelling Foundations and Applications, Alfonso Pierantonio and Salvador Trujillo (Eds.). Springer International Publishing, Cham, 12--27.Google Scholar
Index Terms
Development Automation of Real-Time Java: Model-Driven Transformation and Synthesis
Recommendations
From Java to real-time Java: a model-driven methodology with automated toolchain (invited paper)
LCTES 2019: Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsReal-time systems are receiving increasing attention with the emerging application scenarios that are safety-critical, complex in functionality, high on timing-related performance requirements, and cost-sensitive, such as autonomous vehicles. ...
Implementation of Hard Real-Time Embedded Control Systems
Although the domain of hard real-time systems has been thoroughly elaborated in the academic sphere, embedded computer control systems –- being an important component in mechatronic designs –- are seldom dealt with consistently. Often, off-the-shelf ...
Applicability of real-time schedulability analysis on a software radio protocol
HILT '12: Proceedings of the 2012 ACM conference on High integrity language technologyIn this paper, we present our experience on integrating timing constraint verification and analysis, by using the real-time scheduling theory, in an industrial context. The verification process has been integrated into a design flow at THALES ...






Comments