SystemJ: A GALS Language for System Level Design - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Computer Languages, Systems and Structures Year : 2010

SystemJ: A GALS Language for System Level Design


In this paper we present the syntax, semantics, and compilation of a new system-level programming language called SystemJ. SystemJ is a multiclock language supporting the Globally Asynchronous Locally Synchronous (GALS) model of computation. The synchronous reactive (SR) model is used for synchronous parts of the modelled system, and those parts, which represent individual clock-domains, are coupled asynchronously each to the other on the top-level of system design. SystemJ is based on Java language, which is used to describe ''instantaneous'' data transformations. Hence, SystemJ is well suited for both software-based embedded and distributed systems. SystemJ offers effective modelling of (1) data transformations through the power of Java, (2) control and synchronous concurrency through the SR paradigm and (3) asynchronous concurrency through clock domains and rendezvous. The language is based on semantics that is amenable to efficient code generation and partial automatic verification. The SystemJ micro-step semantics provide asynchronous and synchronous extensions over the semantics of other SR languages such as Esterel and provide an ideal platform for efficient software implementation.

Dates and versions

hal-00753512 , version 1 (19-11-2012)



Avinash Malik, Zoran Salcic, Partha Roop, Alain Girault. SystemJ: A GALS Language for System Level Design. Computer Languages, Systems and Structures, 2010, 36 (4), pp.317--344. ⟨10.1016/⟩. ⟨hal-00753512⟩
152 View
0 Download



Gmail Facebook X LinkedIn More