Академический Документы
Профессиональный Документы
Культура Документы
PLEX
-Una descripción informal
Johan Erikson y Bo Lindell
{johan.erikson, bo.lindell} @id t.mdh.se
Resumen
Contenido
1 Introducción 1
2 El hacha Sistema 1
2.1 Central y del regional procesadores ........................................... 2
2.2 La modularidad de aplicaciones (AM) Concepto ...................... 4
2.3 Entrada y salida declaraciones ............................................ 5
2.4 Cargar, Actualizar y Tugurio .................................................. 7
4 La ejecución Modelo 15
4.1 PLEX estructura y OS requisitos ........................................ dieciséis
4.2 Software Unidades .............................................................. dieciséis
4.3 Función bloques ....................................................................... 18
4.4 Solicitud Sistema ................................................................. 18
7 Enlace La encapsulación 31
7.1 Direccionamiento un programa Secuencia ............................... 32
7.1.1 direccionamiento en DS ................................................. 35
ii
A La Señal Descripción 43
1 INTRODUCCIÓN 1
1 Introducción
El lenguaje de programación PLEX (lenguaje de programación para ges
intercam-) es un lenguaje en tiempo real pseudo-paralelos y eventos basado en
desarrollado por Ericsson en la década de 1970. El lenguaje está diseñado para
telefonía siste- mas y el dialecto estudió en este informe, PLEX-C, se utiliza en
el Cen-
Procesador tral 1 (CP) del sistema de conmutación AX de Ericsson. los
el lenguaje tiene un paradigma de señal 2 como su nivel de ejecución superior,
y es en el sentido de que sólo los eventos, codificados como señales, pueden
trig- ger la ejecución de código basado en eventos. El término pseudo-paralelo
ha surgido debido al hecho de que un archivo de programa PLEX consisten de
sub-programas independientes (que se discute en la Sección 5, y la Fig. 13), en
combinación con un modelo cution eje- (Fig. 21) donde los nuevos empleos
son generados y puestos en diferentes colas, llamaron trabajo búfer s, para su
posterior ejecución.
El lenguaje ha sido objeto de estudio en una serie de Mas-
proyectos ter tesis de la Universidad de Mälardalen , [KO00, AGG99,
AE00], así como en un número de publicaciones de investigación, por ejemplo,
[MH01, EFGL02]. Sin embargo, sólo una breve descripción del modelo de
ejecución de PLEX se han presentado en estas obras. Esto es probablemente
debido a las limitaciones de espacio y / o el alcance de la obra en cuestión.
El objetivo de este informe es dar una descripción más detallada de las
piezas funda- mentales de la lengua de los trabajos mencionados
anteriormente. También sirve como una introducción detallada al modelo de
ejecución de PLEX. Un segundo objetivo es servir como una base común para
futuras investigaciones de la lengua.
Dado que gran parte del material en este informe se ha elaborado en
conjunto bási- camente de forma diferente s de los documentos internos
Ericsson, damos a estas referencias de una vez por todas al principio. Si se
utiliza otro material, serán dadas estas referencias cuando se utiliza. Las
referencias utilizadas en este informe son [AB99, AB95a, AB98, AB95b,
AB02].
2 El sistema AX
El sistema AX central telefónica de Ericsson, desarrollado en su primera
versión en el comienzo de la década de 1970, se estructura en un sistema
modular
1
Los diferentes tipos de procesadores están cubiertos en la Sección 2.1.
2
Las señales se tratan en la sección 5.
2 EL SISTEMA AX 2
APZ APTO
Nivel del
sistema 2
Subsistema
CJKRLI
Bloque de
funciones
CJU LICLIR LIU
Figura 1: El (origen al) estructura jerárquica del sistema AX. (Las partes que
serán de interés en este informe se marca con el texto en negrita.)
PD RS DS
HACH
A
APZ APTO
Separar aplicaciones
ISDNPSTNPLMN
telecommucination
Aplicación Módulos
(AMS) comparte entre
A.M A.M A.M A.M A.M A.M
diferentes aplicaciones
y discos flexibles.
Antes de comunicar con un dispositivo de I / O, el programa PLEX
tiene que agarrar el dispositivo. Del mismo modo, el dispositivo tiene
que ser liberado cuando termina la comunicación. Esto garantiza el
acceso exclusivo al dispositivo. Todos los dispositivos de E / S están
conectados aun procesador de soporte (SP), y bloques de funciones que
recibir o enviar información a través del sistema de I / O se denominan bloques
de usuario. La Fig. 4 muestra la interacción entre el sistema de I / O y un
bloque de usuario. Cuando apoderarse de un dispositivo de I / O, el sistema I /
O asigna un libre
Buffer E / S
programa tienda
Line
System
72 caracteres
1 Ir a
32 busca
r Bloq
uear
I/O 2 Insert usuar
dispositivo ar io
SP 3 Escrib
ir
41
4 Leer
Análisis de
búfer 144
Caracteres
buffer de línea y un tampón de análisis libre (ver Fig. 4) para este dispositivo.
Estos búfer s almacenar temporalmente el texto de E / S. El tampón de análisis
maneja la entrada desde el dispositivo de I / O, y el buffer de línea maneja de
salida.
Los (PLEX) estados básicos para la transferencia de información entre la s
tampón y el dispositivo de I / O, y entre la memoria intermedia de s y los
bloques de usuario son:
- FETCH: transferir información desde la memoria intermedia de
análisis al bloque de usuario.
- INSERT: transferir información desde el bloque de usuario a la
memoria intermedia de línea.
- WRITE: ordena el sistema de E / S para imprimir el
texto en el buffer de línea a un dispositivo de I /
O.
2 EL SISTEMA AX 7
programa
3
Propiedades de la variable se tratan en la sección 3.3
4
El sector de datos se menciona en la Sección 3.1
5
El proceso de reinicio del sistema se explica en la Sección 8
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 8
es ejecutado por una señal 6. Sea o no una variable recibe un valor de recarga
está determinada por las propiedades de las variables definidas por el
diseñador. Esto se explica en la Sección 3.3.
Recarga significa que los contenidos de DS (es decir, solamente RELOAD
declaró variables) se vuelve a cargar en el intercambio de nuevo. Si un cambio
ha ocu- curred en PS y RS, que se volverá a cargar también.
El contenido de Programa-, Referencia-y almacenar datos son regularmente
guardado en un disco duro (o una cinta magnética). Este proceso se denomina volcado
y permite la acción de recarga se describe anteriormente.
EMRPD
C/C
++ EM
PEIM
GARP
Plex-M C / C ++
ASM 6809
ASA 21R
ASA 210R
STR STC RPD RP RPG
ASM 6809 ASM 6809 C / C ++ C/C
++
CP
Plex-C
ASA 210C
DOCUMENTO KRUPROGRAM;
DECLARAR;
:
:
DECLARE FIN;
PARÁMETRO;
:
:
PARÁMETRO FIN;
PROGRAMA; PLEX;
:
:
PROGRAMA FIN;
DATOS;
:
:
DATOS FIN;
DOCUMENTO FIN;
CARNÉ DE IDENTIDAD KRUPROGRAM
tipo de documento;
:
:
ID FIN;
n
SUBNUMBE R o
rt
4 e
n A. mi
oM 3
rt
Sejé Tmi 2
e rcit 1
o 0
de PUNTER
res O
erv
Figura 7: Un ejemplo deaarchivo con n registros y un puntero con el valor
actual 2.
3.3 Variables
Dependiendo de cómo las variables debe ser tratada en un error de
software y una siguiente acción de recuperación, el diseñador PLEX pueden
asignar diferentes pro- piedades de las variables. Esto se va a cubrir en esta
sección.
Hay tres tipos de datos diferentes en PLEX:
- variables de campo para la información numérica. Contienen números
enteros no negativossolamente. (Números enteros negativos no son necesarios
en el sistema AX.)
- las variables de símbolo para la información de símbolos, por ejemplo,
IDLE, BLOCKED, ocupado, etc.
- Las variables de cadena Guardar cadenas de texto.
Estos tipos de datos (variables) pueden ser almacenado o temporal .
VARIABLES
F
F S S yo
ESTÁTI
yo t y E
CO TUGURI
mi r metr L O
o re
l yo si
TUGUR V
re nort o
IO A
e
so l r
l k
V a
RECAR
una V V n
GAR
r un una s
a a
r r s
CLARO
Figura 8: Variables y propiedades (desde un punto de vista de almacenamiento).
4 EL MODELO DE 15
EJECUCIÓN
son posibles (es decir, legal) No todas las combinaciones de las propiedades
de la variable. La Fig. 9 contiene una tabla con todas las combinaciones
válidas de variables y propiedades.
Temporal si No
(1) Excepto para las matrices de uno y de dos dimensiones
4 El modelo de ejecución
Una breve discusión del modelo de ejecución ya se ha dado en la sec- ción 3 y
continuar y profundizar la discusión en esta sección. Primero discutimos
brevemente la estructura PLEX, requisitos del sistema operativo, los bloques de
función y sistema de aplicación antes de mirar más profundamente en gramos
funcionen conjuntamente pro (es decir, señales), Sección 5, y el trabajo búfer s,
Sección 6, ambos conceptos centrales en el PLEX / APZ ambiente.
4 EL MODELO DE 16
EJECUCIÓN
variable A
Almacenamiento de
DATO datos común para
S
todas las variables en
todas las entradas de
ENTRA ENTRA ENTRA ENTRA la totalidad
DA Señal DA señal DA señal DA Señal Bloquear
1 2 3 4
Señal
... ... ...
ENTRAD
An
EJECUCIÓN
RP (D)
reinici
ar
códi
go
apto
APTO
APZ
funciones SDT
DATO
signa RP- l código S
CP unidad
entrar
Enviar
4 EL MODELO DE forlopp
SST 18
salida
EJECUCIÓN
señal
cp-cp
EMRP
(D)
Hardware reinici
señal
ar
efect
o
interfaz de señal
aptapz
forlopp APZ
gerente sistema
de
platafor
s ma
icitud
sistema
ol
4 EL MODELO DE 19
EJECUCIÓN
hijo” se pone en el
14
tenedor es una función nonANSI C que”copia el proceso actual
y comienza a ejecutarlo simultáneamente”, [KP96]. La ejecución
continuará entonces en este recién creado “proceso de niño-”.
5 PROGRAMA Interwork - SEÑALES 19
HARDWARE
De bloques de función AFunction Bloque B
Hardware
Regional
Software
SOFTWARE
RP - CP CP - RP CP - RP RP - CP
CP - CP
Softwar
e central
CP - CP
CUSELESS = 0;
ENTER SIGNAL5;
....
ENVIAR BUFFERED un subprograma
SIGNAL6;
....
ENVIAR SIGNAL7 directo;
....
PROGRAMA FIN;
trabajo, mientras que las señales directas continúan el trabajo actual. (Los
trabajos se tratan en la sección 6.1). Es decir, que se manejan de forma
diferente en el modelo de ejecución.
señales directas alcanzan el bloque de recepción de inmediato,
podrían ser vistos como saltos directos a otra unidad. Mediante el uso
de señales directas, otras señales no tienen ninguna posibilidad de venir-
en el medio, es decir, el programador conserva el control de la ejecución. Sin
embargo, las señales directas normalmente sólo se les permite ser utilizado en
secuencias de programa de tiempo crítico mismos, tales como rutinas de
establecimiento de llamada.
Con señales tamponadas, no es predecible cuando la señal llega al bloque
de recepción. señales directas y tamponadas se ilustran en la Fig. 14.
Una señal directa
Una La
unidad unidad
B
mem
Una La
unidad unidad
Una señal tamponada
B
Una La
unidad unidad
Una señal únicaB
La
unidad
B
Una unidad
unidad C
unidad
D
Una señal múltiple
18
Que, a nuestro dominio de destino, es el envío y recepción de señales Entre fun-
bloques ción .
5 PROGRAMA Interwork - SEÑALES 23
Una La
unidad unidad
Una señal individual
B
Una La
unidad unidad
Las señales combinadas
B
Figura 17: propiedades posibles para CP-CP señales. X indica una chica
le- / combinación posible, bajo la sombra de gris indica una alter- nativa ilegal.
NOTA: Un combinado espalda ard w señal no puede ser múltiple ya que
esta señal es una respuesta (es decir, un acuse de recibo) para por lo
tanto, una “llama” y debe volver a la “llama” y nadie más.
ENVIAR Señal-B
RECIBIR Señal-B (Adelante)
(Forward)
RECUPERAR
REGRESO Señal-B Señal-B (hacia
(hacia atrás) atrás)
• Trabajo Buffer: retrasa una señal hasta que todos los puestos de trabajo “más viejos” han sido
procesados
La unidad B
...
Una unidad Introduzca
SIGA
...
...
Enviar SIGA
... tiempo de mem
200 ms de colas
retardo unidad C
SALIDA
...
...
Introduzca
SIGA
...
Figura 19: Envío de una señal retardada (y múltiple). La señal se envía desde la
unidad A y recibido en la unidad C, pero, como puede verse en la figura, se
es posible recibir la señal en la Unidad B como bien Si Unidad B se
especifica como el receptor por el diseñador PLEX.
THL 1 Cuadro
registro del de
THL THL 2
procesador trabajos
THL 3 Los tampones de trabajo para CP-CP
compartido JBA
Propio registro del BAL 1 JBB y las señales de RP-CP
procesador registro BAL 2 JBC
del procesador propio JBD Buffer de empleo para
JBR señales CP-RP
Figura 20: buffers de trabajo y las prioridades de tiempo de ejecución en el sistema AX.
En algunos casos, sin embargo, puede ser necesario para evitar que el
sistema interrumpir una tarea importante. Por ejemplo, una operación y
mantenimiento (O & M, Sección 2.3) de rutina en C-nivel (BAL 1) está
escribiendo a variables que también se accede por el tráfico-han dling rutinas
en nivel B (THL 3). En esta situación, es mejor para inhibir la función de
interrupción como
6 EMPLEOS, SEÑAL tampones y Gestión de 29
trabajos
salid la señal 3
a de
emis
ión
enter salida
señal señal
de 5 envi de 4
ar la
salid
ENTRAR ENTRAR
SALID
A Enlazar Señal SALID
ENTRA Número A
R ENTRA
R
Enviar
Nombre
siganl SALID
A
SALID ENTRA
A R
ENTRA
R SALIDA
SALIDA
Número de
señal 1
2 Número de bloque SST SST
3 de B
4
Mem APZ
Señal Bloque Nº
Datos
Número
de
si
APZ - Sistema operativo
SDT - tabla de distribución de
señal
SST - Envío de la señal tabla
PD
Tabla de
distribución de
señal (SDT)
Señal Tabla
Enviando (SST)
Una unidad de función
(Bloque)
Código de
programa
RS
Tabla de referencia
bloque 1
bloque 2
bloque 3 PSA
...
...
...
bloque n PSA = Programa de Dirección de inicio
GSNBN-R
Tabla de
Una GSDT
unidad referencia
(RS)
LSN
PSA
UNIDAD
B
PD RS
bloque SDT
X 2 GSN
SST GSN
PSA
GSN
GSN 1 SSP
Código
de
progra
ma
Bloque Y SDT IA
7 BN-R = Número de secuencia Recibir
6 LSN Distribución GSDT = Global-Signal
PSA / LSN Tabla GSN = número de señal Global
SST GSN
5
IA = Instrucción Dirección
PSA + IA LSN = Número de señal
local
Código PS = Programa tienda
de PSA = Programa de Dirección
progra de inicio RS = Registro tienda
SDT = Señal tabla de distribución
ma
SSP = Señal de envío de
tabla de punteros SST =
Señal de envío de
7.1.1 Dirigiéndose en DS
BN-R
RS DS
PD
Dirección base 1 2
Bloque (La palabra-dirección de una
Base almacenado variable) 3
n
de Dirección base 2
mesa Bloque .....
Direcció Dirección de base n
A
n
Bloque
B
.....
bloque
n
8.1 Forlopp
La primera línea de de defensa para mantener la disponibilidad del sistema es
el
Lop
p para- lanzamiento. El propósitode un comunicado de forlopp es permitir una
única cadena de proceso, por ejemplo, una llamada, para ser liberados sin afectar
negativamente a cualquier otra
procesos en el sistema.
Forlopp origina de la palabra sueca “förlopp”, que significa “se-
cuencia de eventos relacionados”. En el contenido de AX, un forlopp típico
resultará en un “camino a través del sistema” que generalmente se repre-
resentía por una cadena de recursos de software enlaces, tales como registros.
En AX, la palabra forlopp puede ser utilizado para denotar tanto la “secuencia
de eventos re- lated” y el “camino a través del sistema” resultante. El
mecanismo forlopp se implementa en el mantenimiento del subsistema, el
MAS, la fig.
1. Ejemplos de forlopps son una llamada telefónica ordinaria o un comando.
Algunos conceptos asociados con forlopps:
hora
x min x min
Valor
del
contad límite de reinicio (por defecto = 25)
or
10
-1 cada hora
3
5
hora
No Error de reinicio liberaci
reinicio se retrasad ón
ignora o Forlopp
ERROR
Forlopp liberación si
posible y activa? liberaci
ón
No Forlopp
Reiniciar No
selectiva reinicio del
activa? sistema
si
La No reinicio del
intensidad del sistema
contador de
alta?
si
Compruebe
la categoría
de bloque
0 1 23
reinicio retrasado con
reinicio retrasado
error
ignorado
Figura 30: Los diferentes niveles de recuperación después de un error de software detectado.
8 RECUPERACIÓN DE 41
SOFTWARE
reinicio del
Pequeño Ampliación sistema
comien
zo reinicio del de reinicio del con
sistema sistema recarga
DS No se No se puede confiar No se
DS DS DE puede Excepción: cuando el valor de la puede
DESCARGA confiar variable se comprueba en el confiar
ESTÁTICA sistema de reiniciar la rutina
DS RECARGA
Se
DS DS RECARGA Se puede
puede
DE DESCARGA confiar
confiar
ESTÁTICA
RECARGA
DS CLARO
Se puede confiar
DUMP DS CLARO
Figura 31: Seguridad de los datos de los diferentes tipos de inicio / reinicio.
Agradecimientos
Este informe se publica dentro de la cooperación en la investigación
Entre hijo
Erics- AB y Mälardalen en tiempo real Centro de Investigación . El trabajo
ha sido foun ded por Ericsson AB, Mala rdalen en tiempo real Resea RCH
Center y el KK-ción foun da.
Los autores desean JA neta Wennersten en Ericsson AB, así como profesor
Björn ceceoso en la Universidad de Mälardalen útil para muchos debates.
También nos gustaría mencionar por Bur ma norte , An ders R. La rsson y An
ders Skela n der en Ericsson AB, así como Peter Funk en
la Universidad de Mälardalen, que todos han estado ansiosos por
mantener la cooperación en investigación entre Ericsson AB y la
Universidad de Mälardalen “y
corriendo".
REFERENCI 42
AS
referencias
[AB95a] Ericsson Telecom AB. Principios de CPS,
• Nombre del señal - Cada señal tiene un nombre que, tal vez,
capta su funcionalidad.