Chapter 1Introduction

What is ECharts? ECharts is a state machine-based programming language for
event-driven systems derived from the standardized UML Statecharts language
[6]. ECharts distinguishes itself from other Statecharts dialects by focusing on
implementation issues such as determinism and code re-use [2]. Like Statecharts,
ECharts supports hierarchical state machines, concurrent machines and a
graphical syntax. Unlike Statecharts, ECharts supports a simple textual
syntax, machine reuse, multiple transition priority levels to minimize
non-determinism, machine arrays, and a new approach to inter- and intra-
machine communication. ECharts is a hosted language which means
that it is dependent on an underlying programming language such as
Java1.
ECharts has a proven track-record in a large-scale commercial deployment.
ECharts is available as open source under the Common Public License
Version 1.0 (see Appendix B). Take a look at what ECharts has to
offer!

1.1 History

ECharts was originally developed at AT&T Labs-Research to support an
advanced telecommunications project which evolved into a nation-wide
commercial product offering [3]. Currently ECharts is used in a number of new
research projects at AT&T.

1.2 Why Use ECharts?

An ECharts machine is a specification of event-driven behavior. Application
domains that will benefit from using ECharts are telecommunications, web
applications, user interfaces, ...really any application domain where a system
responds to events occurring in its environment.

ECharts isn’t meant to be a stand-alone programming language. ECharts
specifies a program’s control flow in response to events received from
the environment. To specify data operations, ECharts machines rely on
host language statements embedded in the machine, for example, Java.
Furthermore, an ECharts machine only constitutes a program unit in a
larger host language program, it isn’t necessarily a program’s locus of
control.

1Java is a trademark or registered trademark of Sun Microsystems, Inc. in
the United States and other countries. echarts.org is independent of Sun
Microsystems, Inc.