Overview

The SystemJ technology is a set of tools and methods that enable writing of concurrent software systems for centralized and distributed computing platforms within the single language paradigm, SystemJ.

The SystemJ language can be seen as an extension of Java, with the safe synchronous and asynchronous concurrency and Globally Asynchronous Locally Synchronous (GALS) model of computation. The language maintains very close relationship with Java and its ability to deal with abstract data types, objects and connectivity. It can also be seen as a language that provides in its nutshell concurrency and high-level mechanisms for composing complex behaviors and at the same time enables embedding of Java code within its basic programming entities. Or, it can be seen as a way of construction complex software systems from already existing programs and systems designed using SystemJ. It also allows a universal interface to software and programs written in other programming languages. SystemJ relationship to Java is further emphasized through its compilation to Java and the fact that it runs on all types of Java Virtual Machines.

You can read a brief Technology Overview and then more details which describe SystemJ in Nutshell. Further details of SystemJ Entities and Objects, followed by SystemJ Kernel Language and Syntax, are all in function of informal introduction of the language, together with an example, which demonstrates SystemJ in Action. A more detailed description of the technology, capabilities to build software test-benches and big software systems, as well as its applicability in variety of application domains are provided in The SystemJ White Paper, which explains SystemJ universality and potential to be used in programming without borders.