Zusammenfassung
Bei der Entwicklung von Anwendungen für Echtzeitsysteme werden höhere Programmiersprachen zunehmend attraktiv, besonders wenn Anwendungen in plattformunabhängigem Zwischencode verteilt werden können. Um einen Einsatz in Echtzeitsystemen zu ermöglichen, müssen die diesen Sprachen unterliegenden Laufzeitumgebungen eine zeitlich deterministische Ausführung garantieren. Dieser Beitrag stellt die technischen und wissenschaftlichen Herausforderungen bei der Generierung nativen Codes aus Zwischencode in einer virtualisierenden Ausführungsumgebung vor, die sich durch den Einsatz eines Just-in- Time-Compilers ergeben. Der Ansatz geht über eine Vor-Compilierung des Zwischencodes hinaus und eliminiert unaufgelöste Referenzen im nativen Code. Die Wirksamkeit wird anhand mehrerer Experimente mit einer modifizierten CLI-Laufzeitumgebung Mono demonstriert. Dabei werden in erster Linie die Vorhersagbarkeit der Ausführungszeiten und die Startzeit einer Anwendung betrachtet.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Literaturverzeichnis
Auerbach, J., Bacon, D., Blainey, B., Cheng, P., Dawson, M., Fulton, M., Grove, D., Hart, D. und Stoodley, M.: Design and Implementation of a Comprehensive Realtime Java Virtual Machine. In Proceedings of the 7th ACM & IEEE international conference on Embedded software, S. 249–258, 2007.
Apogee Software Inc.: RTJRE. www.apogee.com/products/rtjre, Abruf 13.03.2012.
Aycock, J.: A Brief History of Just-In-Time. In ACM Computing Survey 35, Nr. 2, S. 97–113, 2003.
Braun, S., Obermeier, M., Schmidt-Colinet, J., Eben, K. und Kissel, M.: Notwendigkeit von Metriken für neue Programmiermethoden automatisierungstechnischer Anlagen. In Informatik Aktuell, Echtzeit 2010, Springer Berlin Heidelberg, S. 11–20, 2011.
Codeplex: CrossNet. crossnet.codeplex.com, Abruf 14.03.2012.
Standard ECMA-334 - C# Language Specification. International, ECMA, 2006
Standard ECMA-335 - Common Language Infrastructure (CLI). International, ECMA, 2006
Free Software Foundation, Inc.: The GNU Compiler for the Java Programming Language. www.gnu.org/software/gcc/java/, Abruf 21.03.2012.
Geoffray, N.: Fostering Systems Research with Managed Runtimes. Université Pierre et Marie Curie, 2009.
Gosling, J. und Bollella, G.: The Real-Time Specification for Java. Addison-Wesley Longman Publishing Co., Inc., 2000.
Gosling, J., Joy, B., Steele, Guy und Bracha, G.: The Java Language Specification. Addison-Wesley Professional, 2005.
Joisha, P., Midkiff, S., Serrano, M. and Gupta, M.: A framework for efficient reuse of binary code in Java. In Proceedings of the 15th international conference on Supercomputing, S. 440–453, 2001.
Kalibera, T., Hagelberg, J., Pizlo, F., Plsek, A., Titzer, B, und Vitek, J.: CDx: a family of real-time Java benchmarks. In Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems, S. 41–50, 2009.
KW-Software: IEC 61131 PLC runtime system with .NET code: ProConOS embedded CLR. www.kw-software.com/com/iec-61131-sps/2893.jsp, Abruf 21.03.2012.
v. Löwis, M. und Rasche, A.: Towards a real-time implementation of the ECMA common language infrastructure. In ISORC ’06: Proceedings of the Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, S. 125–132, 2006.
Microsoft Corporation: .NET Framework. www.microsoft.de/net, Abruf 21.03.2012.
Pascual, R.: GCC CIL Frontend. www.hipeac.net/system/files/ Ricardo-Fernandez-061129.pdf, 2006.
Pizlo, F.,Ziarek, L., Blanton, E., Maj, P. und Vitek, J.: High-level programming of embedded hard real-time devices. In Proceedings of the 5th European conference on Computer systems, S. 69–82, 2010.
Remotesoft Inc.: Salamander .NET Linker, Native Compiler and Mini-Deployment Tool. www.remotesoft.com/linker, Abruf 21.03.2012.
Schepeljanski, A., Däumler, M. und Werner, M.: Entwicklung einer echtzeitfähigen CLI-Laufzeitumgebung für den Einsatz in der Automatisierungstechnik. In Informatik Aktuell, Echtzeit 2010, Springer Berlin Heidelberg, S. 21–30, 2011.
Stoodley, M., Ma, K. and Lut, M.: Real-time Java, Part 2: Comparing compilation techniques. http://www.ibm.com/developerworks/java/library/j-rtj2/ index.html, Abruf 20.03.2012.
Siebert, F. und Walter, A.: Deterministic execution of java’s primitive bytecode operations. In Proceedings of the 2001 Symposium on Java Virtual Machine Research and Technology Symposium, S. 141–152, 2001.
TimeSys Corporation: RTSJ Reference Implementation (RI) and Technology Compatibility Kit (TCK). www.timesys.com/java/, Abruf 21.03.2012.
Xamarin: Mono. www.mono-project.com, Abruf 21.03.2012.
Zerzelidis, A. und Wellings, A. J.: Requirements for a real-time .NET framework In SIGPLAN Not., Vol. 40, Nr. 2, S. 41–50, 2005.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Däumler, M., Werner, M. (2013). Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten. In: Halang, W. (eds) Kommunikation unter Echtzeitbedingungen. Informatik aktuell. Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33707-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-33707-9_4
Publisher Name: Springer Vieweg, Berlin, Heidelberg
Print ISBN: 978-3-642-33706-2
Online ISBN: 978-3-642-33707-9
eBook Packages: Computer Science and Engineering (German Language)