Skip to main content
Top
Published in: Computing 3/2015

01-03-2015

Light-weight Synchronous Java (SJL): An approach for programming deterministic reactive systems with Java

Authors: Christian Motika, Reinhard von Hanxleden

Published in: Computing | Issue 3/2015

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

A key issue in the development of reliable embedded software is the proper handling of reactive control-flow, which typically involves concurrency. Java and its thread concept have only limited provisions for implementing deterministic concurrency. Thus, as has been observed in the past, it is challenging to develop concurrent Java programs without any deadlocks or race conditions. To alleviate this situation, the Light-weight Synchronous Java (SJL) approach presented here adopts the key concepts that have been established in the world of synchronous programming for handling reactive control-flow. Thus SJL not only provides deterministic concurrency, but also different variants of deterministic preemption. Furthermore SJL allows concurrent threads to communicate with Esterel-style signals. As a case study for an embedded system usage, we also report on how the SJL concepts have been ported to the ARM-based Lego Mindstorms NXT system. We evaluated the SJL approach to be efficient and provide experimental results comparing it to Java threads.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Andalam S, Roop PS, Girault A (2010) Deterministic, predictable and light-weight multithreading using pret-c. In: Proceedings of the conference on design, automation and test in Europe (DATE’10). Dresden, Germany, pp 1653–1656 Andalam S, Roop PS, Girault A (2010) Deterministic, predictable and light-weight multithreading using pret-c. In: Proceedings of the conference on design, automation and test in Europe (DATE’10). Dresden, Germany, pp 1653–1656
2.
go back to reference André C (1996) SyncCharts: a visual representation of reactive behaviors. Technical report RR 95–52, rev RR 96–56, I3S, Sophia-Antipolis, France André C (1996) SyncCharts: a visual representation of reactive behaviors. Technical report RR 95–52, rev RR 96–56, I3S, Sophia-Antipolis, France
3.
go back to reference Axer P, Ernst R, Falk H, Girault A, Grund D, Guan N, Jonsson B, Marwedel P, Reineke J, Rochange C, Sebastian M, von Hanxleden R, Wilhelm R, Yi W (2013) Building timing predictable embedded systems. In: Proceedings of ACM transactions on embedded computing systems, (accepted) Axer P, Ernst R, Falk H, Girault A, Grund D, Guan N, Jonsson B, Marwedel P, Reineke J, Rochange C, Sebastian M, von Hanxleden R, Wilhelm R, Yi W (2013) Building timing predictable embedded systems. In: Proceedings of ACM transactions on embedded computing systems, (accepted)
4.
go back to reference Berry G (2000) The foundations of Esterel. In: Plotkin G, Stirling C, Tofte M (eds) Proof, language and interaction: essays in honour of Robin Milner. MIT Press, Cambridge Berry G (2000) The foundations of Esterel. In: Plotkin G, Stirling C, Tofte M (eds) Proof, language and interaction: essays in honour of Robin Milner. MIT Press, Cambridge
5.
go back to reference Bollella G, Gosling J, Brosgol BM, Dibble P (2000) The real-time specification for Java. Addison-Wesley Longman Publishing Co., Inc., Boston Bollella G, Gosling J, Brosgol BM, Dibble P (2000) The real-time specification for Java. Addison-Wesley Longman Publishing Co., Inc., Boston
6.
go back to reference Boussinot F (2006) Fairthreads: mixing cooperative and preemptive threads in C. Concur Comput Pract Exp 18(5):445–469CrossRef Boussinot F (2006) Fairthreads: mixing cooperative and preemptive threads in C. Concur Comput Pract Exp 18(5):445–469CrossRef
7.
go back to reference Caspi P, Pilaud D, Halbwachs N, Plaice JA (1987) Lustre: a declarative language for real-time programming. In: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on principles of programming languages (POPL’87), ACM, Munich, Germany, pp 178–188. doi:10.1145/41625.41641 Caspi P, Pilaud D, Halbwachs N, Plaice JA (1987) Lustre: a declarative language for real-time programming. In: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on principles of programming languages (POPL’87), ACM, Munich, Germany, pp 178–188. doi:10.​1145/​41625.​41641
9.
go back to reference Boussinot F (1991) Reactive C: an extension of C to program reactive systems. Soft Pract Exp 21(4):401–428CrossRef Boussinot F (1991) Reactive C: an extension of C to program reactive systems. Soft Pract Exp 21(4):401–428CrossRef
10.
go back to reference Fuhrmann H, von Hanxleden R (2010) Taming graphical modeling. In: Proceedings of the ACM/IEEE 13th international conference on model driven engineering languages and systems (MoDELS’10), LNCS, vol 6394. Springer, Berlin, Heidelberg, pp 196–210. doi:10.1007/978-3-642-16145-2_14 Fuhrmann H, von Hanxleden R (2010) Taming graphical modeling. In: Proceedings of the ACM/IEEE 13th international conference on model driven engineering languages and systems (MoDELS’10), LNCS, vol 6394. Springer, Berlin, Heidelberg, pp 196–210. doi:10.​1007/​978-3-642-16145-2_​14
11.
go back to reference von Hanxleden R (2099) SyncCharts in C-A proposal for light-weight, deterministic concurrency. In: Proceedings of the international conference on embedded software (EMSOFT’09), ACM, Grenoble, France, pp 225–234 von Hanxleden R (2099) SyncCharts in C-A proposal for light-weight, deterministic concurrency. In: Proceedings of the international conference on embedded software (EMSOFT’09), ACM, Grenoble, France, pp 225–234
12.
go back to reference von Hanxleden R, Mendler M, Aguado J, Duderstadt B, Fuhrmann I, Motika C, Mercer S, O’Brien O (2013) Sequentially constructive concurrency: a conservative extension of the synchronous model of computation. In: Proceedings of the design, automation and test in Europe conference (DATE’13), IEEE, Grenoble, France von Hanxleden R, Mendler M, Aguado J, Duderstadt B, Fuhrmann I, Motika C, Mercer S, O’Brien O (2013) Sequentially constructive concurrency: a conservative extension of the synchronous model of computation. In: Proceedings of the design, automation and test in Europe conference (DATE’13), IEEE, Grenoble, France
13.
go back to reference Heinold M (2010) Synchronous Java Bachelor thesis. Christian-Albrechts-Universität zu Kiel, Department of Computer Science Heinold M (2010) Synchronous Java Bachelor thesis. Christian-Albrechts-Universität zu Kiel, Department of Computer Science
14.
go back to reference Henties T, Hunt JJ, Locke D, Nilsen K, Schoeberl M, Vitek J (2009) Java for safety-critical applications. In: 2nd international workshop on the certification of safety-critical software controlled systems (SafeCert 2009) Henties T, Hunt JJ, Locke D, Nilsen K, Schoeberl M, Vitek J (2009) Java for safety-critical applications. In: 2nd international workshop on the certification of safety-critical software controlled systems (SafeCert 2009)
15.
go back to reference Köser N (2010) SyncCharts in C auf multicore dimploma thesis. Christian-Albrechts-Universität zu Kiel, Department of Computer Science Köser N (2010) SyncCharts in C auf multicore dimploma thesis. Christian-Albrechts-Universität zu Kiel, Department of Computer Science
16.
17.
go back to reference Lickly B, Liu I, Kim S, Patel HD, Edwards SA, Lee EA (2008) Predictable programming on a precision timed architecture. In: Proceedings of compilers, architectures, and synthesis of embedded systems (CASES’08), Atlanta, GA, USA Lickly B, Liu I, Kim S, Patel HD, Edwards SA, Lee EA (2008) Predictable programming on a precision timed architecture. In: Proceedings of compilers, architectures, and synthesis of embedded systems (CASES’08), Atlanta, GA, USA
18.
go back to reference Miyoshi A, Kitayama T, Tokuda H (1997) Implementation and evaluation of real-time Java threads. In: Proceedings of the 18th IEEE real-time systems symposium (RTSS’97), San Francisco, CA, USA, pp 166–175. doi:10.1109/REAL.1997.641279 Miyoshi A, Kitayama T, Tokuda H (1997) Implementation and evaluation of real-time Java threads. In: Proceedings of the 18th IEEE real-time systems symposium (RTSS’97), San Francisco, CA, USA, pp 166–175. doi:10.​1109/​REAL.​1997.​641279
19.
go back to reference Motika C, von Hanxleden R, Heinold M (2013) Programming deterministice reactive systems with synchronous Java (invited paper). In: Proceedings of the 9th workshop on software technologies for future embedded and ubiquitous systems (SEUS 2013), IEEE Proceedings, Paderborn, Germany Motika C, von Hanxleden R, Heinold M (2013) Programming deterministice reactive systems with synchronous Java (invited paper). In: Proceedings of the 9th workshop on software technologies for future embedded and ubiquitous systems (SEUS 2013), IEEE Proceedings, Paderborn, Germany
20.
go back to reference Nadeem M, Biglari-Abhari M, Salcic Z (2011) RJOP: a customized Java processor for reactive embedded systems. In: Proceedings of the 48th design automation conference (DAC’11), ACM, New York, NY, USA, pp 1038–1043. doi:10.1145/2024724.2024952 Nadeem M, Biglari-Abhari M, Salcic Z (2011) RJOP: a customized Java processor for reactive embedded systems. In: Proceedings of the 48th design automation conference (DAC’11), ACM, New York, NY, USA, pp 1038–1043. doi:10.​1145/​2024724.​2024952
22.
go back to reference Plsek A, Zhao L, Sahin VH, Tang D, Kalibera T, Vitek J (2010) Developing safety critical Java applications with oSCJ/L0. In: Proceedings of the 8th international workshop on Java technologies for real-time and embedded systems (JTRES’10), ACM, Prague, Czech Republic, pp 95–101. doi:10.1145/1850771.1850786 Plsek A, Zhao L, Sahin VH, Tang D, Kalibera T, Vitek J (2010) Developing safety critical Java applications with oSCJ/L0. In: Proceedings of the 8th international workshop on Java technologies for real-time and embedded systems (JTRES’10), ACM, Prague, Czech Republic, pp 95–101. doi:10.​1145/​1850771.​1850786
23.
go back to reference Schoeberl M (2006) A time predictable Java processor. In: Proceedings of the design, automation and test in Europe conference (DATE’06). Munich, Germany, pp 800–805 Schoeberl M (2006) A time predictable Java processor. In: Proceedings of the design, automation and test in Europe conference (DATE’06). Munich, Germany, pp 800–805
25.
go back to reference Schoeberl M (2008) A Java processor architecture for embedded real-time systems. J Syst Arch (JSA) 54(1–2):265–286CrossRef Schoeberl M (2008) A Java processor architecture for embedded real-time systems. J Syst Arch (JSA) 54(1–2):265–286CrossRef
26.
go back to reference Stadler L, Würthinger T, Wimmer C (2010) Efficient coroutines for the Java platform. In: Proceedings of the 8th international conference on the principles and practice of programming in Java (PPPJ’10). ACM, Vienna, Austria, pp 20–28 Stadler L, Würthinger T, Wimmer C (2010) Efficient coroutines for the Java platform. In: Proceedings of the 8th international conference on the principles and practice of programming in Java (PPPJ’10). ACM, Vienna, Austria, pp 20–28
28.
go back to reference Traulsen C, Amende T, von Hanxleden R (2011) Compiling SyncCharts to Synchronous C. In: Proceedings of the design, automation and test in Europe conference (DATE’11), IEEE, Grenoble, France, pp 563–566 Traulsen C, Amende T, von Hanxleden R (2011) Compiling SyncCharts to Synchronous C. In: Proceedings of the design, automation and test in Europe conference (DATE’11), IEEE, Grenoble, France, pp 563–566
Metadata
Title
Light-weight Synchronous Java (SJL): An approach for programming deterministic reactive systems with Java
Authors
Christian Motika
Reinhard von Hanxleden
Publication date
01-03-2015
Publisher
Springer Vienna
Published in
Computing / Issue 3/2015
Print ISSN: 0010-485X
Electronic ISSN: 1436-5057
DOI
https://doi.org/10.1007/s00607-014-0416-7

Other articles of this Issue 3/2015

Computing 3/2015 Go to the issue

Premium Partner