ESL is an actor
language that has been designed to run applications and
that require information-rich processing by autonomous
computational units. Each actor runs in its own thread
of control and communicates with other actors using asynchronous
messages. ESL supports pattern-matching,
functions. Applications in ESL are highly concurrent
and are driven by system generated time-events. ESL can
of applications and simulations by generating state histories
computation steps; once generated, a history can be
interrogated using a temporal-logic
language. ESL has a static
type system that includes parametric
ESL application development is supported by a tool called EDB that provides real-time support for syntax and type checking. EDB can be used to create and manage an ESL application including its execution, debugging and history management. EDB allows ESL to generate graphical representations of running applications and of their histories.
ESL source code is compiled to run on a virtual machine implemented in Java and provides support for Java classes to be integrated with ESL applications by implementing an actor interface. EDB is implemented in Swing and uses a collection of open source libraries in addition to JxBrowser for HTML and SVG support. The use of JxBrowser is governed by the JxBrowser Product Licence Agreement. Both ESL and EDB are available via GPLv3.