A Formal Semantics for PLEX Johan Erikson; johan.erikson@idt.mdh.se - - PowerPoint PPT Presentation

a formal semantics for plex
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

A Formal Semantics for PLEX

Johan Erikson; johan.erikson@idt.mdh.se Björn Lisper; bjorn.lisper@mdh.se Mälardalen University

Department of Computer Science and Engineering Västerås

Sweden

slide-2
SLIDE 2

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

. . . . . . . . . . . . . . .

slide-3
SLIDE 3

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!

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

A Formal Semantics for PLEX

Motivation

Ericsson wants to introduce parallel processing Exact documentation when updating the

implementation

slide-8
SLIDE 8

A Formal Semantics for PLEX

An Operational semantics for PLEX

Execution of statements modeled by state

transitions

s = < VSC, RM, PS, DS, RS, JBA, JBB, JBC, JBD, JBR>

VSC – Handle unstructured jumps (e.g. GOTO) < GOTO label, s> ⇒ s[ VSC |→ ADR{ label} ] < SEND signal, s> ⇒ s[ VSC + + , JBA: signal]

slide-9
SLIDE 9

A Formal Semantics for PLEX

Future work

Verify that the formalism corresponds with

actual execution

Formal semantics for parallel PLEX