HOME

TheInfoList



OR:

PLEX (Programming Language for EXchanges) is a special-purpose, concurrent, real-time
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
. The proprietary PLEX language is closely tied to the architecture of Ericsson's
AXE telephone exchange The AXE telephone exchange is a product line of circuit switched digital telephone exchanges manufactured by Ericsson, a Swedish telecom company. It was developed in 1974 by Ellemtel, a research and development subsidiary of Ericsson and Tele ...
s which it was designed to control. PLEX was developed by Göran Hemdahl at
Ericsson (lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in informat ...
in the 1970s, and it has been continuously evolving since then. PLEX was described in 2008 as "a cross between Fortran and a
macro assembler Macro (or MACRO) may refer to: Science and technology * Macroscopic, subjects visible to the eye * Macro photography, a type of close-up photography * Image macro, a picture with text superimposed * Monopole, Astrophysics and Cosmic Ray Observato ...
." The language has two variants: ''Plex-C'' used for the AXE Central Processor (CP) and ''Plex-M'' used for Extension Module Regional Processors (EMRP). Ericsson started a project in the mid-1980s to create a successor language which resulted in Erlang. According to co-creator Joe Armstrong, "Erlang was heavily influenced by PLEX and the AXE design." Erlang did not replace PLEX, but was used alongside it.


Execution model

A system is divided into separately compiled and loaded units of code called "blocks." A block waits for one or more signals sent from elsewhere in the system which triggers code execution.


Pre-compilers

Several
precompiler In computer science, a preprocessor (or precompiler) is a program that processes its input data to produce output that is used as input in another program. The output is said to be a preprocessed form of the input data, which is often used by s ...
s or code generators exist, to produce
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
in ''Plex-C'' from
higher level In the Scottish secondary education system, the Higher () is one of the national school-leaving certificate exams and university entrance qualifications of the Scottish Qualifications Certificate (SQC) offered by the Scottish Qualifications ...
languages or graphical models. These can generate ''Plex-C'' from: *
Specification and Description Language Specification and Description Language (SDL) is a specification language targeted at the unambiguous specification and description of the behaviour of reactive and distributed systems. Overview The ITU-T has defined SDL in Recommendations Z.100 t ...
graphical representation (SDL/GR) * ''Plex-SQL'', an extension of ''Plex-C'' with
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
facilities * ''High Level Plex'' (HLPLEX) another extension of ''Plex-C'' Source code in ''Plex-C'' is compiled into the assembly language ''ASA210C.'' The binary form of ''ASA210C'' is either interpreted by a combination of hardware and
microcode In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a laye ...
, or is compiled by a
just-in-time compiler In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is a way of executing computer code that involves compilation during execution of a program (at run time) rather than before execution. This may cons ...
into native
machine code In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very ...
for a high-capacity
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
.


References

Concurrent programming languages Domain-specific programming languages Ericsson Programming languages created in the 1970s {{Compu-lang-stub