A Formal Semantics for PLEX Johan Erikson; johan.erikson@idt.mdh.se - - PowerPoint PPT Presentation
A Formal Semantics for PLEX Johan Erikson; johan.erikson@idt.mdh.se - - PowerPoint PPT Presentation
A Formal Semantics for PLEX Johan Erikson; johan.erikson@idt.mdh.se Bjrn Lisper; bjorn.lisper@mdh.se Mlardalen University Department of Computer Science and Engineering Vsters Sweden A Formal Semantics for PLEX The AXE telephone
A Formal Semantics for PLEX
The AXE telephone exchange system
1970 – Earliest version PLEX used in central parts of the AXE system ~ 10 mil. lines of code
CPS AXE APZ
APT
. . . . . . . . . . . . . . .
A Formal Semantics for PLEX
PLEX characteristics
Single-purpose: Exclusively for telephony
systems ( Programming Language for EXchanges)
Event-based with a signal paradigm as its top
execution level.
Sequential but ”pseudo-parallel” A parallel domain!
A Formal Semantics for PLEX
PLEX characteristics - signals
Direct vs. Buffered Unit A Unit B
Job Buffer
Unit A Unit B Single vs. Combined Unit A Unit B Unit A Unit B
A Formal Semantics for PLEX
PLEX characteristics – execution (buffered signals)
PROGRAM; PLEX; ENTER SIGNAL1; .... SEND BUFFERED SIGNAL2; .... EXIT; ENTER SIGNAL3; .... SEND DIRECT SIGNAL4; ENTER SIGNAL5; .... .... ENTER SIGNAL8; .... EXIT; .... END PROGRAM; a subprogram a subprogram a subprogram a subprogram SEND BUFFERED SIGNAL6; SEND DIRECT SIGNAL7; Time block 1 block 3 block 2 enter send exit enter send send exit enter enter send exit signal 1 signal 2 signal put in job buffer signal 5 signal put in job buffer signal put in job buffer signal 3 signal 4 exit
A Formal Semantics for PLEX
Problem description
Parallel execution - Unintentional interaction ~ 10 mil. codelines = > Can’t rewrite the system Implementation update - No exact
documentation
Signal ENTRY 1 Signal ENTRY 2 Signal ENTRY 3 Signal ENTRY 4 ... ... ... Signal ENTRY n Variable A DATA