Вы находитесь на странице: 1из 51

El modelo de ejecución de APZ /

PLEX
-Una descripción informal
Johan Erikson y Bo Lindell
{johan.erikson, bo.lindell} @id t.mdh.se

Departamento de Ciencias de la Computación e


Ingeniería de la Universidad de Mälardalen,
Västerås, Suecia

Resumen

Lenguaje de programación para los intercambios , PLEX, es un pseudo-


idioma en tiempo real paralelo y orientada a eventos desarrollado por
hijo
Erics-. El lenguaje está diseñadopara, y se utiliza en, partes centrales del
sistema de conmutación telefónica AX. El lenguaje tiene una adigm par-
señal como su nivel de ejecución superior, y es basado en eventos en el
sentido
que sólo los eventos, codificados como señales, pueden
desencadenar la ejecución de código. Debido al hecho de que un
archivo de programa PLEX constan de varios subprogramas
dependientes in-, en combinación con un modelo de ejecución, donde se
generan nuevos puestos de trabajo y poner en colas, también
clasificamos el lenguaje como pseudo-paralelo.
El lenguaje PLEX y el sistema AX ha sido objeto de estudio tanto en
una serie de proyectos de tesis de maestría y en varias otras
publicaciones. Sin embargo, sólo breves descripciones del modelo de
ejecu- ción PLEX se han presentado en estas obras.
El lenguaje y su modelo de ejecución están estrechamente
conectados y no es posible separar una de la otra. Este informe
presentauna descripción minuciosa de las partes fundamentales de la
len- guaje y que también sirve como una introducción detallada al
modelo de ejecución de PLEX.
i

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

3 Lenguaje de programación para intercambios 8


3.1 La estructura de un PLEX programa ......................................... 9
3.2 Registros, archivos y punteros ................................................. 11
3.3 Variables .................................................................................. 12
3.4 Datos La encapsulación ....................................................... 15

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

5 ork programa Interw - señales 18


5.1 Directa y tamponada señales .................................................. 20
5.2 Única y múltiple señales ........................................................ 21
5.3 Individual y combinado señales .............................................. 22
5.4 Local y no local señales .......................................................... 24
5.5 señales y prioridades .............................................................. 24
5.6 señales y Datos ................................................................... 24

6 Puestos de trabajo, tampones de señal y de empleo Manejo 24


6.1 Que es una ¿Trabajo? .......................................................................... 25
6.2 Respaldo de mensajes s .................................................................... 25
6.3 Trabajo Manejo .................................................................... 27
6.4 Tiempo de ejecución límites ................................................. 31

7 Enlace La encapsulación 31
7.1 Direccionamiento un programa Secuencia ............................... 32
7.1.1 direccionamiento en DS ................................................. 35
ii

8 Suave w son Recuperación 35


8.1 Forlopp 37
8.2 Sistema Reiniciar ................................................................ 37
8.3 Forlopp de lanzamiento o un sistema ¿Reiniciar? ....................... 39
8.4 Variables y Software Recuperación ............................................ 41

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

y de manera jerárquica. Se compone de las dos partes principales:

APTO: La telefonía o de conmutación de parte

APZ: La parte de control incluyendo procesadores centrales y regionales

que ambos consisten de hardware y software. Las dos partes principales se


dividen en subsistemas.
Un subsistema se divide en bloques de función. Los bloques de funciones
consisten en unidades de función que puede ser una unidad central de
software o hardware de una unidad, una unidad regional de software y una
unidad central de software. La estructura original del sistema se muestra en la
figura 1.

HACHA Nivel 1 del


sistema

APZ APTO
Nivel del
sistema 2

CPS MAS FMSSSS GSS NMS A.M . .. A.M

Subsistema
CJKRLI

Bloque de
funciones
CJU LICLIR LIU

APTO - Telefonía / parte de conmutación Unidad Cargo


APZ - la parte de control incluyendo procesadores centrales
y regionales, así como el sistema operativo
CPS - Subsistema de procesamiento central
MAS - Subsistema de mantenimiento

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.)

En algún lugar alrededor de 1994 a 1995, el concepto de modularidad de


aplicaciones (AM) se integró en el sistema. Esto se discute en la Sección 2.2

2.1 Centro y procesadores regionales


Los aspectos de hardware que es de interés en este informe es la distinción
entre el Centro y procesadores regionales. Esto se debe a diferentes
2 EL SISTEMA AX 3

s de forma funcionen conjuntamente se realiza entre diferentes tipos de


procesadores. Las distinciones se discuten brevemente en este apartado y se
explican con más detalle en la sección 5.

Procesador regional (RP): Hay varios procesadores regionales en


un sistema AX. La tarea principal de un procesador regional es para
aliviar el procesador central por el manejo de pequeños trabajos de
rutina, como análisis y filtrado.

Procesador central (CP): Esta es la unidad central de control del


sistema. Todas las decisiones complejas y no triviales se toman en el
procesador central. Este es el lugar para toda la forma s de trabajo no
rutinario. El trabajo del procesador se puede separar en dos partes tinct
específicamente dis-, a saber, la ejecución de instrucciones y
administración trabajo. ejecución de la instrucción medios de
manipulación de secuencias ininterrumpidas de operaciones en las que el
trabajo se compone de dirección de tabla de consulta y los cálculos,
controles de plausibilidad, almacenamiento de accesos y datos ulations
manip-. La administración de trabajo se compone principalmente de
manejo de señales, conversión de señal y la manipulación tampón de
señal. La ejecución de las instrucciones es una obra de un solo flujo por
naturaleza, mientras que la administración de trabajo en gran medida es
una cuestión de colas de prioridad de trabajo (Sección 6) y la
transferencia de datos de la señal.
El PP siempre se duplica. Las dos partes trabajan en paralelo,
per- formando exactamente las mismas operaciones. Durante el
funcionamiento normal, un CP es ejecutivo y el otro es de stand -
by.Un comprueba constantemente para asegurarse de que ambos
procesadores llegan al mismo resultado - Si no lo hacen, algún tipo de
acción de recuperación se lleva a cabo (Sección 8). La duplicación CP
también permite cambios de función (instalación de nuevas versiones de
software), mientras que el intercambio está en un modo de
funcionamiento mediante la instalación de nuevo software en primer
lugar en el stand-by lado y luego cambiar el ejecutivo y stand-by orden
entre los Sors procesiones. Como último paso, el nuevo software está
instalado en el antiguo ejecutivo (ahora stand-by) lateral.
Los CP almacenar todo el software central y datos. Los siste
con- memoria CPde la memoria de registro y las diferentes tiendas.
Los programas se almacenan en el almacén de programa (PS) y los datos
se almacenan en el almacén de datos (DS). La tienda de referencia
contiene información sobre dónde
2 EL SISTEMA AX 4

para encontrar los diferentes programas y datos, la Fig. 2.

programa referencia Almacén de datos


tienda tienda

PD RS DS

Figura 2: S tores en el procesador central (CP). (La interacción entre las


diferentes tiendas están cubiertos en la Sección 7.)

2.2 La modularidad de aplicaciones (AM) Concepto


El sistema AX Fuente es un numero de hardware y re- cursos de
software desarrollado para realizar funciones específicas de acuerdo a las
necesidades del al cliente central. Se puede pensarcomo una “cesta” que
contiene
toda la funcionalidad disponible en el sistema AX. Con los años, los nuevos
sistemas de código ha sido desarrollado mediante la adición, actualización o
eliminación de fun- ciones en el sistema fuente original. Pero en la década de
1980, el desarrollo del sistema AX para diferentes mercados (EE.UU., Reino
Unido, Suecia, Asia, etc.) ha llevado en paralelo el desarrollo del sistema de
origen ya que la funcionalidad no podía ser fácilmente transportados entre
diferentes mercados.
La solución a este creciente divergencia fue el concepto de aplicación Mod-
ularity (AM), lo que hizo que la adaptación rápida a los clientes REQUISITOS
DE posible. El concepto AM dirigido específicamente los siguientes
requerimientos:

• la capacidad de combinar libremente las aplicacione s en el sistema,

• aplicación rápida de los requisitos y

• la reutilización de los equipos existentes.


La idea básica es reunir piezas relacionadas de software (y hardware) en algo
llamado módulos de aplicación (AMS). Diferentes aplicaciones de
telecomunicaciones, tales como ISDN, PSTN (telefonía fija), y PLMN (Red
Móvil Terrestre Pública), a continuación, se construyen mediante la
combinación de la MGA nece- sarios. La idea se describe en la Fig. 3, donde
también se muestra que diferentes AMs puede ser utilizado en más de una
aplicación.
2 EL SISTEMA AX 5

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

Figura 3: El concepto AM incorporado en el sistema AX.

La introducción del concepto AM terminado el problema con el


desarrollo paralelo de diferentes sistemas de origen. En cambio, con los AM
como bloques de construcción, el intercambio requerido fue construido
mediante la combinación de la MGA necesarias en un intercambio con la
funcionalidad requerida (es decir, con las aplicaciones necesarias).

2.3 declaraciones de Entrada y Salida


Un intercambio AX necesita comunicarse con su entorno y su operación y
mantenimiento (O & M) del personal. Algunas situaciones típicas podrían ser
los siguientes:
- Un técnico de cambio cambia categorías de abonados, sustituye
dispositi- vos o se conecta a nuevos suscriptores.
- El intercambio de informar s el personal de O & M de eventos
importantes, por ejemplo, si un RP está bloqueado debido a un fallo. En otras
palabras, los estados de E / S son una parte importante del mecanismo de
recuperación. (Véase la Sección 8.)
- Entrada / salida incluye ciertas tareas rutinarias a, por ejemplo,
vertimiento de datos en un disco duro.
Hay un gran número de dispositivos de E / S utilizados; alarma y copia dura
im- presoras, expositores, estaciones de trabajo y PCs, controladores de cinta
magnética, disco
2 EL SISTEMA AX 6

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

Figura 4: El sistema de I / O y su comunicación con el medio ambiente.

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

- LEA: transferir información desde el dispositivo


de E / S a la memoria intermedia de análisis. Una
vez más, ver Fig. 4.
2 EL SISTEMA AX 8

Típicamente, I / O de comunicación comienza con la entrada del


operador un comando en un dispositivo de E / S. El comando es recibido por
la E / S sis- tem y entregado a la unidad de software en el que ha sido definido
por el programador. Un comando es recibido en un programa (es decir, una
unidad de software) de la misma manera como una señal (Sección 5), pero el
comando de recibir
declaración debe ir precedida de la palabra clave MANDO para indicar
que se trata de una declaración que utiliza el sistema de E / S.

2.4 Cargar, Actualizar y volcado


Un intercambio AX puede existir para un máximo de 40 años, lo que
implica ciertos requisitos relativos a la operación y mantenimiento del
software.
La carga términos, Actualizar y volcado están cubiertos en esta sección, ya que
serán utilizados en este informe cuando hablamos de variables (sección 3.3) y
la recuperación de software (Sección 8).
Cuando todos los bloques de software se han escrito y compilado, el
los programas y los datos iniciales, y el intercambio son, escrito,
objeto de
dumping , A una cinta magnética que se carga en el intercambio. Este proceso
se llama
Initi al loading . En la carga de nuevos bloques, o nuevas revisiones de los
bloques existentes, se produce un incremento re-vinculación, así como una
inicialización de
valores de las variables de almacenamiento de datos, si se requiere de
acuerdo con su dado
propied
ades de las variables 3 . Un DCI (datos de información de conversión) está
escrito para cada bloque se carga para especificar la inicialización de datos entre
el viejo (si
existente) y los nuevos bloques. Durante el proceso de cambio de función
(Sección 2.1) el nuevo bloque puede obtener su nuevo valor de
cualquierade los siguientes
tres maneras:
- Obtener el valor del sector de datos 4 .
- Obtener el valor de la DCI.
- Obtener el valor del software existente.

En el caso de fallo del sistema en el reinicio del sistema 5 se ha formado


per-, copias de seguridad de software se vuelven a cargar en el intercambio.
Cuando vuelve a cargar, algunas variables recibirán los valores de recarga de la
cinta magnética, mientras que otras variables no tendrán valores hasta que el
2 EL SISTEMA AX 9

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.

3 Lenguaje de programación para los intercambios


Programación I dioma de cambios EX (PLEX) está diseñado por Ericsson y se
utilizan para programar los sistemas de telefonía. Carece de declaraciones
comunes de otros lenguajes de programacióncomo bucles de tiempo,
los valores meric nu- negativos y los números reales.
Estos no son necesarios en un telefonía
sistema de intercambio. El lenguaje fue diseñado y desarrollado en su
primera forma en la década de 1970 y ampliado en 1983. La versión de
bajo ción considera- en este informe, PLEX-C, se utiliza en los
procesadores centrales AX (véase la Sección 2.1). Otros idiomas
utilizados en el sistema AX se muestran en la Fig. 57. La razón para el
desarrollo de un nuevo lenguaje para el sistema AX fue que no hay otros
idiomas que se trate cumplen quirements re- de Ericsson.
Algunas características importantes de la lengua se enumeran a continuación:

• Plex es un lenguaje basado en evento con un paradigma de


señalización como el nivel de ejecución superior. Sólo los eventos
pueden desencadenar la ejecución de código y eventos están
programados como señales. Un caso típico es cuando un abonado
levanta el teléfono para marcar un número.
El modelo de ejecución se describe en el Capítulo 4 y las señales en Sec-
ción 5.

• Las señales se ejecutan en uno de cuatro niveles de prioridad (que se


explica en la Sección 6), que resulta en muy poca sobrecarga cuando un
mayor
6
Las señales se examinan en la sección 5
7
Como puede verse en la Fig. 5, hay otro dialecto de PLEX (PLEX-M). Sin embargo, estos
dialectos son similares, y cuando hablamos de PLEX en este informe, que significan el dialecto
utilizado en las unidades centrales de proceso, es decir, el dialecto PLEX-C.
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 9

nivel interrumpe un menor ya que cada nivel de prioridad tiene su


propio conjunto regis- ter.

• Puestos de trabajo (Sección 6.1) en el mismo nivel son “atómica” y


nunca pueden interrumpirse mutuamente.

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

EMRPD - Procesador Digital Módulo de ampliación


regional
PEIM - Procesador Módulo de ampliación regional
STR - Señalización de terminal
remota STC - Señalización
Central Terminal RPD - Regional
Processon Digital RP - Regional
Processon
CP - Processon central
EM - Módulo de Extensión
RPG - RP con interfaz conmutador de grupo
GARP - RP aplicación genérica
Figura 5: Las diferentes lenguas utilizadas en diferentes partes del sistema AX

3.1 La estructura de un programa PLEX


Cuando hablamos de un programa PLEX, o un archivo de programa PLEX,
nos referimos al archivo PLEX que especifica una unidad funcional (Sección
4.3). Este documento,
. La Fuente de información de programa (SPI), que se muestra en la
figura 6, se compone de las siguientes partes principales:
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 10

• El sector Declare, que contiene los larations DEC variables y


constantes que se utilizan en el sector del programa. Las
variables con el
DS de propiedad, la tienda de datos, (Sección 3.3) existirán más allá de
la ejecu- ción de los subprogramas.

• El sector de parámetros, donde se colocan los parámetros


específicos AX. Estos parámetros no son locales un bloque, y
permitir el acceso global de todas las partes del intercambio. Ellos
puedenser cambiado por los
clientes ya que se colocan en una base de datos SQL.

• El sector de Programa contiene las sentencias ejecutables, es


decir, el código fuente PLEX que se ejecutará en el intercambio. Este
sector se divide normalmente en varios subprogramas (explicado en la
sección 5 y la Fig. 13).

• El sector de datos: Algunas variables, las variables es decir almacén


de datos, necesita tener valores iniciales cuando el programa (es decir, el
SPI) se carga en el intercambio 8 . Estos valores iniciales se pueden
proporcionar en el sector de datos. Además, la posición, es decir, la
dirección de base, de Ables variabilidad almacenados en la memoria se
puede asignar en el sector de datos. Esto permite un cambio rápido de
función (que se describe brevemente en la Sección 2.1).

• El sector de ID se utiliza para la documentación interna solamente.

El SPI se compila junto con los siguientes documentos 9:


- La señal de sondeo , SS, que es una lista de todas las diferentes señales
que una unidad de función (es decir, la unidad de función especificada en el
SPI) recibe y envía. Hay una SS por unidad de función. No hay información
sobre los emisores y receptores de la SS, se añade esta información
posteriormente durante la carga.
- La Descripción Señal , DAKOTA DEL SUR. Los bloques de funciones y
unidades de función se comunican con señales (Sección 5). El SD describe el
propósito, el tipo y datos de una señal. Desviaciones estándar se almacenan en
bibliotecas de manejar señales separadas.
8
La carga inicial se describe en la Sección 2.4.
9
Las diferentes etapas del proceso de compilación, así como el compilador PLEX, se
describe en [AE00]
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 11

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;

Figura 6: Estructura del SPI, es decir, un archivo de programa PLEX.

3.2 Registros, archivos y punteros


Archivos recoger las variables que describen propiedades de un grupo de
artículos, por ejemplo, las llamadas o abonados 10. variables de registro pueden
ser almacenados campo, símbolo o variables de cadena (Sección 3.3). Las
variables en un registro pueden in- dexed o estructurada, y se llaman variables
individuales. DS (almacén de datos, que se describe en la Sección 3.3) variables
que no son parte de un registro, se conocen como variables comunes.
Un archivo es un conjunto de registros. Un archivo consiste de uno o más
registros, todos con las mismas variables individuales.
punteros abordar el registro correspondiente en un archivo. En
PLEX, los punteros son simplemente los números de registro. Los registros de
un archivo están contados, y el valor del puntero es el número del registro
actual. En otras palabras, los punteros en PLEX no son similares a los punteros
en C y no pueden ser manipulados de la misma manera. La Fig. 7 muestra un
ejemplo de archivo con
y sus registros un puntero. El número de registros en un archivo puede ser
fijo o variable. Un tamaño fijo se especifica en el sector de datos del SPI
(Sección 3.1), mientras que los tamaños de archivos alterables son fijados por
comandos (sección 2.3).
10
A (PLEX) Registro es similar a una estructura en C.
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 12

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 .

• El valor de que existe una variable temporal sólo en el Registro ORY


Esta- (RM - Los registros de PC internos) y sólo mientras se está
ejecutando el software correspondiente. Las variables son por defecto
temporal.

• variables almacenadasse almacenan en el almacén de datos (Fig. 2),


cargada en un registro en el RM para procesar y después volverán a
escribir en el DS. Por lo tanto, su valor no se pierde nunca, incluso si se
sale del programa y volver a entrar más tarde. variables de DS son
también una forma natural de comunicación entre diferentes forlopps11 .
11
Forlopps se explican en la sección 8.1
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 13

Es las variables almacenadas que se pueden asignar las diferentes propiedades


ya se ha descrito. Estas propiedades son DS, CLARO, vuelva a cargar, descarga,
estático, tampón y la comunicación de buffer. Las propiedades serán todos
descritos en esta sección.
Desde un punto de vista de almacenamiento, las variables se pueden
dividir en los siguientes tipos: temporales y almacenados se han descrito
anteriormente. los
tercera categoría es el buffer s. las variables de protección 12 se asignan dinámicamente
camente en un área reservada para búfer dinámico s mediante el uso de una asignación estatal
ción. estático El tamaño de la memoria intermedia de s se puede especificar
(comunicación BUFFER) o tampón dinámico. El tamaño fijo se especifica en
el Declare
sector (sección 3.1), mientras que el tamaño de la dinámica se puede ajustar en
el sector de programas. El tampón s dinámico son más lentas que la estática ya
que deben ser administrados de forma dinámica. Estas categorías se
representan en la Fig. 8 junto con sus propiedades.
En circunstancias normales, el intercambio se inicia el softwar e
(aplicación) y nunca se detiene. Después de errores graves, sin
embargo, el APZ (es decir, el sistema operativo parte) se detiene la
ejecución del programa y reinicia el software. Las siguientes
propiedades describen el comportamiento de la variable al i nicio o
reinicio:

• CLARO - “Solución al inicio / reinicio”


variables de campo se ponen a cero; las variables de símbolo en el
primer valor en su lista de declaración.

• RECARGA - Carga en el “reinicio con recarga”


El valor de la variable se vuelve a cargar desde la cinta / disco duro para
asegurar que los valores antes y después del “reinicio con recarga” son
los mismos.

• DUMP - “Dumping en el reinicio”.


Esta propiedad se utiliza para fines de prueba y rastreo.

• ESTÁTICO - Cuando una unidad de software en un


intercambio operativo se va a actualizar, un
cambio de función se lleva a cabo. Recuerde de la
sección
2.1 que el PP siempre se duplica. Esto significa que el nuevo soft -
ware se puede instalar mientras que el cambio está en marcha.UNA
ESTÁTICO variable declarada significa que el valor de la
variable no se actualiza
con una nueva versión del software.
12
variables de Buffer son similares a la estructura de matriz en C.
3 PROGRAMACIÓN DE CAMBIO DE IDIOMA 14

VARIABLES

REGISTRARSE Las variables de


asignados VARIABLES memoria asignada
(variables temporales) (DS y Buffer)

PERMANENTEMENTE VARIABLES asignada


VARIABLES asignados dinámicamente (tampón)
(DS)

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.

variable variable variable


campo símbolo de
cadena
DS
DS DS DE si
DESCARG
A
ESTÁTICA
DS RECARGA
DS DS RECARGA si
DE DESCARGA
ESTÁTICA
RECARGA
DS CLARO
si No
DUMP DS CLARO
DUMP BUFFER (1)
si No

Temporal si No
(1) Excepto para las matrices de uno y de dos dimensiones

Figura 9: combinaciones permitidas de propiedades variables y tipos variables.

3.4 Encapsulación de datos


Todas las variables y constantes declaradas en el Declarar sector del SPI,
consulte la Sección 3.1, tienen su alcance dentro de la unidad de software
especificado. Todas
subprogramas (Sección 5) de SPI que pueden acceder a estas variables y
con- stants. Subprogramas que no forman parte de esa unidad de función
no puede acceder a estas variables y constantes.

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

Figura 10: La estructura de una unidad de software (bloque). Se muestra la


posibilidad de varios sub-programas que acceden a los mismos datos dentro del
bloque. Todos los subprogramas (entradas de señal) pueden acceder a todas las
variables DS dentro del mismo bloque (excepto para las personas que están DS
variables dentro de un registro). Esto transmite una variable DS se puede
utilizar como un canal de comunicación entre todos los sub-programas dentro
de la misma unidad de software.

4.1 la estructura y los requisitos del sistema operativo PLEX


PLEX es un lenguaje en tiempo real basado evento concurrente asíncrona y,
como se indica en la Sección 3, tiene un paradigma de señalización como el
nivel de ejecución superior lo que significa que sólo los eventos pueden
desencadenar la ejecución de código y estos eventos son programados como
señales. Las señales serán explorados en la Sección 5. La tarea principal de un
sistema operativo que se va a ejecutar PLEX, es para amortiguar las señales
entrantes y comenzar su ejecución en el estado de señal de entrada derecha.

4.2 Suave w son unidades


En grandes sistemas de software, tales como un sistema de
telecomunicaciones, existe una necesidad de código de grupo en módulos, por
ejemplo, para controlar un determinado hardware, o para poner en práctica en
el software de complemento funcionalidad. Una Unidad de Software es una
cantidad de código PLEX para los diferentes puestos de trabajo 13 necesario
para un módulo de este tipo, llamadas de una función. Una unidad no puede
acceder a los datos en otra unidad, es decir, una unidad tiene encapsulación de
datos (véase la Sección 3.4).
13
Los trabajos se tratan en la sección 6.1.
4 EL MODELO DE 17


EJECUCIÓN


RP (D)

Procesador central (CP)








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

Figura 11: Sistema de aplicación APT.


5 PROGRAMA Interwork - SEÑALES 18

4.3 Los bloques de función


Un bloque de función es una unidad de software por sí mismo o una unidad de
software en el CP con la unidad asociada software en el PEIM o RP y
hardware posiblemente asociado necesario para implementar una función.
Si relacionamos los bloques de función para el concepto de la mañana,
se describe en la sec- ción 2.2, cabe señalar que un AM no es una
construcción del lenguaje PLEX. Desde el punto de vista de la lengua PLEX,
cada mañana y los recursos com- mon puede ser visto como una colección de
bloques. Las señales entre los AM y desde / hacia los recursos comunes se
agrupan en terfaces in- estándar.

4.4 Sistema de aplicación


Un sistema de aplicación es un grupo de bloques de funciones que
interfuncionar Gether a- para formar una solicitud completa, tales como el
control de un cierto intercambio de teléfono, ver Fig. 11. Todas las señales y
unidades de la parte del sistema de aplicación alojada en un determinado
procesador participar en un proceso de “unión”. (Para las unidades escritos en
PLEX-C, el anfitrión es el CP.) El proceso de vinculación resuelve que las
señales enviadas desde una determinada unidad se dirigen al punto de entrada
a la derecha en la unidad de la derecha.

5 ork programa Interw - señales


Una señal es un elemento de lenguaje definido externamente en PLEX para la
terwork inversa entre unidades de software. Una señal puede ser descrito como
un mensaje dentro de una o entre dos unidades de software o como un
asíncrono (ida) llamada a la función, es decir, es señales que realizan la
comunicación entre las diferentes unidades de función. Las señales pueden ser
clasificadas en numerosos
maneras (Sección 5.1, 5.2, 5.3 y 5.4), pero la distinción principal es entre
señales directas y tamponado (sección 5.1). Una señal directa es similar a un
salto desde una unidad de función o un programa a otro, mientras que una señal
amortiguada se parece más a una llamada fork14 sistema, a excepción de que
los con- tinues de ejecución en el”proceso primario”, mientras que el”proceso

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

cola de trabajos (Sección 6) para su posterior ejecución. De esta manera,


después de que el envío de la señal amortiguada, las dos rutas de ejecución son
hilos paralelos independientes, no sincronizados entre sí. La diferencia se
explica con más detalle en la sección 5.1, pero ya que el estado de memoria
intermedia señales es la “norma” y que la clasificación mencionada sólo se
aplica a las señales de CP-CP. señales CP-RP y RP-CP se ALW ays
tamponadas.
Como se muestra en la Fig. 12, se envían señales entre el software que se
ejecuta en los diferentes tipos de procesador que se describen en la Sección
2.1.

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

Figura 12: Los diferentes tipos de señales de software.

La mayoría de las señales podrían ser vistos como un salto de una


declaración de envío de señal en un programa a una declaración de recepción
de señal en otro programa (incluso si las señales de búfer ir primero a través de
una memoria intermedia). Esto implica que el código en una unidad de
programa PLEX 15 nunca se ejecuta desde el principio hasta el final (es decir,
desde el principio del archivo de programa hasta el final de
el archivo de programa), pero a partir de una declaración de recepción de
señales (por ejemplo, ENTER), ya sea a una declaración de envío de señal
directa (por ejemplo, ENVIAR) o una instrucción SALIR. En PLEX, un
subprograma es la secuencia de código de ENTER para salir. Es posible dejar un
subprograma con una salida sin una señal vious previa declaración de origen,
pero también es posible enviar varios
señales amortiguadas antes de una instrucción de salida. La Fig. 13 ilustra un
programa general dividido en subprogramas. Tenga en cuenta que, dado que
los programas escritos en PLEX normalmente no se ejecutan de principio a
fin, o en cualquier orden, no puede suponerse que el programa en la Fig. 13
recibe SEÑAL 1 antes o
15
Una unidad de programa PLEX = un archivo de código fuente PLEX
5 PROGRAMA Interwork - SEÑALES 20

después SEÑAL3, o antes o después de SIGNAL4 SIGNAL6. Esto puede


resultar en valores impredecibles de variables almacenadas.
PROGRAMA; PLEX;
ENTER SEÑAL 1;
....
ENVIAR BUFFERED un subprograma
SEÑAL2;
....
SALID
A;
un subprograma
ENTER SEÑAL3;
....
ENVIAR SIGNAL4 directo;

CUSELESS = 0;

ENTER SIGNAL5;
....
ENVIAR BUFFERED un subprograma
SIGNAL6;
....
ENVIAR SIGNAL7 directo;

ENTER SIGNAL8; un subprograma


....
SALID
A;

....
PROGRAMA FIN;

Figura 13: Un archivo de programa PLEX divide en subprogramas. Tenga en


cuenta que la CUSELESS asignación = 0; nunca se ejecutarán ya que se coloca
entre una salida y una declaración entrar. (Véase también la Fig. 6, donde se
describe un archivo completo programa).

Dado que el intercambio maneja varias llamadas al mismo tiempo,


mientras que el PP sólo puede ejecutar un programa a la vez, el PP debe Cola
las señales en alguna parte. Esto se realiza en tampón trabajo s, una mesa de
trabajo o en las colas de tiempo y esto será explorado en la sección 6.
Como se dijo anteriormente, hay diferentes parámetros que describen las
propiedades de la señal de una señal de CP-CP. Tres grupos de clasificar estas
pro- piedades y cada señal tiene una propiedad de cada grupo. Cada grupo se
describe a continuación y todas las combinaciones posibles se muestra en la
Fig. 17.

5.1 señales directas o tamponadas


Como se dijo en la Sección 5, la distinción principal entre (CP-CP) SIG-
nales es si sondirecta o amortiguada. señales amortiguadascomienzo un ne
w
5 PROGRAMA Interwork - SEÑALES 21

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

Figura 14: señales directas y tamponados.

5.2 señales únicas y múltiples


Esta distinción se refiere al número de los receptores de la señal. Una señal
única sólo puede ser recibida en un bloque particular, mientras que una señal
múltiple puede ir a cualquier bloque como se muestra en la Fig. 15. Sin
embargo, no es posible enviar una señal múltiple para más de un bloque de
forma simultánea lo que significa que un múltiploseñal no realizar
multidifusión dieciséis . Pero incluso si una señal múltiple puede ir a cualquiera
de los bloques de recepción se especifican en la Encuesta de señal 17, el estado
de envío de la señal siempre debe contener una
(Y sólo una) receptor de la señal múltiple.
dieciséis
Multicast: Enviar una vez - recibido por todos
17
La señal de sondeo se describe en la Sección 3.1
5 PROGRAMA Interwork - SEÑALES 22

Una La
unidad unidad
Una señal únicaB

La
unidad
B
Una unidad
unidad C

unidad
D
Una señal múltiple

Figura 15: Unique y múltiples señales.

5.3 señales individuales y combinados


La tercera distinción se refiere a si el bloque de envío de espera una
respuesta. señales combinadas exigen una respuesta inmediata,
mientras que las señales individuales no requier en dicha
retroalimentación.Por esta razón, las señales combinadas nunca pueden estar
tamponadas (como se muestra en la Fig. 17). En su lugar, se comportan como
saltos directos de una unidad a otra. Cuando la ejecución en la otra unidad (el
receptor de la señal) termina, la ejecución salta de nuevo a la unidad de origen.
señales combinadas son siempre señales directas, lo que significa que la
ejecución continúa sin interrupción y todas las demás señales
tiene que esperar. La Fig. 16 ilustra este tipo de señales.
Al discutir el envío y recepción de señales combinadas, uno también
mencionar señales de avance y retroceso. Una comunicación BE- tween dos
partes 18 siempre es iniciada por una de las partes. La parte iniciando está
enviando la señal d forwar mientras que la parte que responde a la llamada está
enviando la señal hacia atrás. Esto se representa en la Fig. 18.

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 16: señales combinadas único y.

Tipo de señal Directo tampona


da
único X X
Soltero
múltiple X X
único X
Conjunto
múltiple X

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.

Bloquear Un bloque BHora

ENVIAR Señal-A RECIBIR Señal-A


(Adelante) (Forward)

RECUPERAR REGRESO Señal-A


Señal-A (hacia (hacia atrás)
atrá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)

Figura 18: Las señales Adelante y Atrás.


6 EMPLEOS, SEÑAL tampones y Gestión de 24
trabajos

5.4 señales locales y no locales


En el comienzo de la Sección 5, dijimos que las señales se utilizan “para la
interoperación entre las unidades de software”. Sin embargo, las señales
también pueden ser utilizados para
la interoperación entre diferentes partes de la misma unidad de software. Estas
señales se denominan señales locales, ya que son locales a la unidad de software
que pertenecen. Es decir, el beneficiario resida en la misma unidad de software.
(Por consiguiente, todas las demás señales se denominan señales no locales.
El comportamiento de una señal local es similar a la de una instrucción
GOTO ya que dan lugar a saltos directa al receptor. (Un d en ese sentido, que
puede considerarse como señales directas).
Si una señal es local o no, está especificado en la descripción de la señal
(que se explicó brevemente en la Sección 3.1, y cubierto con más detalle en el
Apéndice A). La distinción entre las señales locales y no locales es de
importancia en, por ejemplo, un marco semántico de PLEX.

5.5 Señales y prioridades


Cada señal que se envía en el sistema se le asigna un nivel de prioridad, A -
D. El nivel de prioridad es de importancia cuando la señal ha de ser
amortiguada (Sección 6), y cuenta la “importancia” del código fuente que está
desencadenado a su ejecución por la señal. La prioridad de cada señal se
especifica en la descripción correspondiente de la señal.

5.6 Señales y datos


Los datos de señal son valores de las variables envían con una señal 19.
Los datos pueden consistir en variables de campo, variables, indicadores de
símbolos, números, objetos de cadena, variables de amortiguación y
expresiones de campo. Para las señales individuales y combinados, es posible
enviar datos de señal 25. Los datos se cargan a la
registro de memoria en el procesador central (véase la Sección 2.1) si
la señal es directa, o en el búfer de trabajo si la señal ha de ser amortiguada.

6 Puestos de trabajo, la señal tampones y Gestión de trabajos


En las siguientes subsecciones, vamos a discutir la definición de un puesto de
trabajo (Sección 6.1), las diferentes formas de retrasar / tamponar una señal
(Sección 6.2)
19
Esto es similar a una llamada por llamada a la función de valor.
6 EMPLEOS, SEÑAL tampones y Gestión de 25
trabajos

y, finalmente, cómo se manejan los trabajos en tiempo de ejecución (Sección 6.3).

6.1 Que es ¿un trabajo?


Un trabajo es una secuencia continua de instrucciones ejecutadas en el
procesador. Un trabajo comienza con una declaración ENTER para una señal
amortiguada y termina con una instrucción EXIT.
Entre el y la declaración ENTER SALIR, varias señales de buffer (o
ninguna señal en absoluto) pueden ser enviadas. Un trabajo no se limita a una
unidad de software CP, varias unidades y bloques pueden participar en un
trabajo.
Un trabajo no siem pre tienen un único punto de entrada, pero eso mayo
tener múltiples puntos de salida.
En la sección 5.5 discutimos la prioridad de una señal. En las siguientes
subsecciones, en lugar vamos a hablar acerca de la prioridad de un trabajo.
Esto tiene sentido ya que es más natural para mirar a puestos de trabajo enteros
cuando se habla
ejecución PLEX de código, de lo que es mirar a una única señal de 20. los
razón es que un puesto de trabajo incluye el código PLEX real que se
desencadena a su ejecución por la señal, así como la propia señal.

6.2 Los tampones de señal


Algunos puestos de trabajo en el sistema AX no son críticos en el tiempo y
pueden esperar para ser ejecutado, mientras que otros necesitan ser ejecutados
inmediatamente. El primer caso es válido para trabajos administrativos y el
segundo para los trabajos relacionados con el manejo traf- FIC (es decir, las
llamadas telefónicas 21) y faltas CP.
señales amortiguadas (que podrían ser leídos como “el inicio de un nuevo
trabajo”) puede retrasarse utilizando uno de los métodos siguientes:

• Trabajo Buffer: retrasa una señal hasta que todos los puestos de trabajo “más viejos” han sido
procesados

• Cuadro de trabajos: envía señales a intervalos periódicos cortos

• Tiempo de cola: retarda las señales de tiempo relativo o

absoluto Vamos a mirar más allá de estas diferentes formas de

retrasar una señal.


20
Por señales individuales, no nos referimos a las señales individuales como se describe en la Sección 5.3.
21
Una carga normal en el sistema es de 200 llamadas telefónicas que ha de ser manejado por
segundo. Estos puestos de trabajo son todos los tiempos críticos y tienen la misma prioridad,
pero el rendimiento
no sería aceptable con un enfoque de”primero en ser servido por orden de llegada”. A las
soluciones es utilizar señales tamponadas como un mecanismo de “tiempo compartido”.
6 EMPLEOS, SEÑAL tampones y Gestión de 26
trabajos
Los tampones de empleo búfer de peticiones s son colas FIFO con una
semántica 22 . Hay cuatro tampón s para señales de CP-CP y RP-CP y
uno para señales de CP-RP; Job Tampón A, Job Buffer B, Job Buffer C
y Job Tampón D, todo por CP-CP y RP-CP señales, donde Job Buffer A
tiene la
más alta prioridad. Job Buffer R es el buffer para señales de CP-RP.
El buffer s llevar el siguiente tipo de tareas:
Trabajo Tampón A - tareas urgentes del sistema operativo; empleos
preferentes, por ejemplo, errores en los equipos de tráfico.
Trabajo tampón B - tráfico telefónico.
Job Buffer C - la comunicación I / O. La declaración de- comando
trazada en la Sección 2.3 se maneja en este nivel.
Trabajo Tampón D - APZ rutina de autocomprobación s.
Job Buffer R - señales de CP-RP cola en JBR, una memoria intermedia
para señales enviadas desde el CP a un RP.

El cuadro de trabajos: La mesa de trabajo contiene trabajos


ejecutados a intervalos periódicos cortos, por ejemplo,
incrementando los relojes de la supervisió n del tiempo. La mesa
de trabajo tiene mayor prioridad que cualquier del búfer de
peticiones s. Dado que el posible tiempo de ejecución después de una
señal mesa de trabajo es muy corto, esta señal sólo inicia una secuencia
de programa en el bloque de recepción, que inserta una señal tamponada
en una de la memoria intermedia de trabajos. La
señal amortiguada inicia el “verdadero” trabajar en el programa que
desde el punto de vista de aplicación, tiene la prioridad de la memoria
intermedia se in- serted en.

Hora colas: colas de tiempo de retardo de puestos de trabajo


periódicas y otras a intervalos más largos que in - la mesa de
trabajo. Hay una cola de tiempo absoluto y tres relativos. La cola
de tiempo absoluto almacena el tiempo absoluto para la ejecución
de la señal (mes,día, hora y minuto). Cada minuto, la cola de tiempo se
compara este valor con el ENDAR cal- sistema. Cuando hay una
coincidencia, la señal se trasladó a uno de la memoria intermedia de
cuatro s trabajo. Los tres colas relativas tienen un contador para cada
trabajo. Cada 100 ms, 1 segundo y 1 minuto, respectivamente, la cola de
tiempo recibe una señal periódica de la mesa de trabajo y disminuye el
contador. Si un contador alcanza el valor cero, la señal corres- pondiente
ded forwar a uno de búfer de peticiones s. Es decir, una señal de que
22
Primero en llegar y primero en salir
6 EMPLEOS, SEÑAL tampones y Gestión de 27
trabajos
se obtiene de una cola de tiempo casi nunca se ejecutaron a la vez 23.
Ejecución de la señal se realiza cuando el sistema operativo obtiene del
búfer de trabajo se inserta en.

La Fig. 19 muestra cómo una unidad de software envía una retrasada (y


múltiple) sig- nal. La señal será colocada en una cola de tiempo y después de
que en un búfer de peticiones. Después de que se ha tomado de la memoria
intermedia de trabajo, la ejecución se inició en la unidad receptora.

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.

6.3 Gestión de trabajos


Las prioridades en tiempo de ejecución corresponden a las prioridades entre la
memoria intermedia de trabajo s (Sección 6.2), como se muestra a
continuación.
Como ya se ha dicho, la Sección 6.2, en función de sus necesidades de
uso y el tiempo, los trabajos se asignan a determinados niveles de prioridad
- Existen cinco niveles diferentes. Pero lo más importante, cuando dicussing
prioridades de trabajo, es cómo los diferentes niveles de prioridad pueden
interrumpir entre sí y, como puede verse en la siguiente discusión, podríamos
ver los cinco niveles diferentes de prioridad tan sólo tres si se tiene la
posibilidad de un trabajo a anticiparse a otra en consideración.
23
La única excepción es cuando el búfer de peticiones de recepción (y cada búfer de
peticiones con prioridad más alta) está vacía.
6 EMPLEOS, SEÑAL tampones y Gestión de 28
trabajos

Tareas iniciados por una señal de cuadro de trabajos periódica utilizan el


tráfico-han nivel 1 dling (THL 1), las señales de JBA utilizan tráfico-han nivel
2 (THL 2) dling, JBB utilizar tráfico-han nivel dling 3 (THL 3), el uso JBC
nivel de base 1 (BAL 1) y JBD nivel de base uso 2 (BAL 2), véase la Fig. 20.
los Tabla trabajo tiene una prioridad más alta que todo el búfer de
peticiones s. JBA tiene una prioridad más alta que JBB, y así sucesivamente.
Los trabajos en el búfer de peticiones s se ejecutan en orden de prioridad - JBA
se vacía antes de JBB, y así sucesivamente. Los datos utilizados en los trabajos
interrumpidos permanecer en la memoria de registro del procesador, y THL,
BAL 1 y 2 BAL puestos de trabajo tienen sus propios registros del procesador.
Eso significa que todos los puestos de trabajo THL comparten el mismo
tampón registro s. Por lo tanto, no hay trabajo en un nivel sub del THL puede
interrumpir un trabajo a otro nivel secundario de THL, ya que comparten el
mismo conjunto de registros y las variables temporales serían destruidos de
otra manera.
Es decir, los trabajos de la mesa de trabajo, JBA y JBB tienen que
esperar uno para el otro, pero los tres pueden interrumpir el trabajo de JBC y
JBD. Como BAL BAL 1 y 2 tienen diferentes memorias de registro, JBC
puede interrumpir JBD.

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

JBA - tareas urgentes del sistema operativo: el tráfico preferencial


JBB - el resto del tráfico telefónico
JBC - de entrada / salida de operador y dispositivos de E / S
JBD - APZ rutina de autocomprobación
JBR - señales desde el procesador central al procesador regional
THL - nivel de manejo de tráfico
BAL - nivel básico

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

siempre y cuando la escritura en el nivel C está en curso. La función de


interrupción es inhibida por laDISABLE comunicado interrupción
y activado por la declaración Habilite la alarma.
Concluimos este apartado con un exampel. La Fig. 21 ilustra la ejecución
de varios puestos de trabajo. En la figura, la ejecución comienza en el bloque
1 con el primer trabajo, procede en el bloque 2 con el segundo trabajo y
finalmente termina en el bloque 1 con la ejecución del último trabajo. La Fig.
22 da un vistazo más de cerca de la conexión (en el tampón de trabajo s) y
ejecutar el proceso.
Si un nuevo trabajo entra en un búfer de peticiones vacío, el búfer envía
una señal rupt inter para ese nivel de prioridad. Si el trabajo en curso tiene un
nivel de prioridad inferior, ese trabajo está interrumpida. Sin embargo, un
trabajo no puede interrumpir un trabajo en el mismo (o más alto) nivel de
prioridad.

Bloque bloque bloque Hora


la señal 2 3
1 1 señal de
introducir
introd
en tampón
uzca de empleo
señal de
envi intro introducir
la señal 2 en tampón
ar la ducir de empleo
sali señal de
introducir envi
da en tampón
de empleo ar entrar

salid la señal 3

a de

emis

ión

enter salida
señal señal
de 5 envi de 4

ar la

salid

Figura 21: El modelo de ejecución - Cuatro puestos de trabajo se ejecutan.


El proceso de transferir una señal almacenado temporalmente del bloque de
enviar a la recepción, a través de un búfer de peticiones, se muestra en la Fig.
22. NOTA la arquitectura “paralelo” que podría convertirse en la ejecución en
paralelo real.
6 EMPLEOS, SEÑAL tampones y Gestión de 30
trabajos

(Módulo) Señal (Módulo)


el bloque Número bloque
A 1 B
2 dirección de
SDT 3 salto SDT
4
5

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

Figura 22: Vinculación y de ejecución de una señal tamponada en APZ. Véase


también la figura 21. NOTA:. El procedimiento es el mismo para las señales
directas excepto que no se insertan en una memoria intermedia de trabajos.
7 eNCAPSULACIÓN DE 31
ENLACE

6.4 Límites de tiempo de ejecución


Como se indica en la sección 4.1, es PLEX un lenguaje en tiempo real. Esto significa que
un sistema programado en PLEX es un sistema en tiempo real 24. Cuando se
habla de los límites de tiempos de ejecución, siempre se refieren al tiempo de
ejecución de un trabajo. Hay límites para el tiempo de ejecución, pero esto no
se mide en
tiempos absolutos. En cambio, hay directrices programador que especifican el
número de líneas de código que pueden ser colocados en una unidad de
software (o unidades) para un trabajo.

7 La encapsulación que une


Todos los bloques utilizados en el sistema se compilan por separado y
también es posi- ble a la “carga” por separado, incluso en tiempo de
ejecución. Este proceso se llamaun cambio de función y se describe en la
Sección 2.1. Cuando se realiza un cambio de función, la Tabla de Señal-Envío
(TSM) y la tabla de distribución de señal Global- (GSDT) tiene que ser
actualizado. La actualización se tiene que hacer porque todos los envíos de
señal tiene que mirar en el SST y la GSDT para encontrar qué señal va a
invocar.

Cuando la actualización de las tablas, por la funcionalidad Racionalizado


Producción de Software (RSP), el (nuevo) de la señal introducida se le da un
nú- mero único, el número de señal Mundial (GSN). Este número se almacena
en el GSDT, así como en el SST de la unidad de función (bloque) usando esta
señal “nueva”. El GSDT también almacena Número de bloque de recepción
(BN-R), (el número único del bloque de recepción de la señal) y el número de
señal local (LSN) que es la posición que sostiene la dirección relativa local del
punto de entrada de la entrada de señal.
La tabla de distribución de señal (SDT) es no actualizada, ya que el
SDT contiene la dirección relativa a las entradas de señal dentro de la
unidad de función.
SDT se establece con un número local en la etapa de objeto (durante la compilación).

SDT: Contiene la dirección de la entrada relativa, establecido


durante la compilación, de las secuencias de programa específicas en
las que se reciben las señales.

SST: Contiene el número de señales mundial (GSN) de señales para invocar


24
Y, como se muestra por Arnström et. al, el sistema AX está clasificado como una suave en tiempo real
sistema [AGG99].
7 eNCAPSULACIÓN DE 32
ENLACE

PD

Tabla de
distribución de
señal (SDT)

Señal Tabla
Enviando (SST)
Una unidad de función
(Bloque)

Código de
programa

Figura 23: PS, mostrando SDT, SS T y código de programa de una unidad de


función.

de la unidad de función utilizando “this” SST, creado en el paso


objeto y cambiado por el RSP.

GSDT: Contiene el número global de señal (GSN), el número de


bloque de recepción (BN-R) y el número de señal local (LSN).

En DS, los valores se almacenan para todas las variables.


En PS, los programas para todos los bloques se almacenan junto con la
relación señal Tablas envío (SST), la tabla de distribución de señal (SDT) y la
tabla de distribución de señal Global- (GSDT), véase la Fig. 23
RS se utilizan para el direccionamiento DS y PS, y contendrá la
dirección del Programa de inicio (PSA) y la Base de la dirección de
inicio (BSA), ver Fig. 24.

7.1 Direccionamiento una secuencia de programa


La figura 25 muestra “unidad A” envío de una señal a “unidad B”.; el número
de la señal global (GSN) es foun d en la Tabla de Señal de envío de (SST) de
“unidad A”. El GSN se utiliza para encontrar el número de bloque Recibir
(BN-R) y el número de señal local (LSN) en “la unidad B” (”unidad A” no
sabe que es ‘la unidad B’ que mantiene la entrada de señal para el señal
enviada desde “unidad A”). La BN-R se utiliza para obtener la dirección del
Programa de inicio (PSA) en el Almacén de Registro (RS). El PSA es una
dirección absoluta en la tienda de Programa (PS), y conociendo el LSN y
PSA, y también utilizando la tabla de distribución de señal
7 eNCAPSULACIÓN DE 33
ENLACE

RS
Tabla de referencia

bloque 1
bloque 2
bloque 3 PSA
...
...
...
bloque n PSA = Programa de Dirección de inicio

Figura 24: RS, que muestra la tabla de referencia.

GSNBN-R
Tabla de
Una GSDT
unidad referencia
(RS)
LSN
PSA

UNIDAD
B

Figura 25: El flujo de información en la determinación de la entrada de la señal


cuando el envío de una señal.

(SDT) del punto de entrada del código de programa “unidad B” se puede


determinar de “unidad B”. Véase la Fig. 26.
7 eNCAPSULACIÓN DE 34
ENLACE

PD RS

BN-R / PSA / LSN


GSDT LSN PSA
4
BN-R LSN 3

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

Figura 26: El orden consecutivo de la manipulación de un envío de señales.


8 RECUPERACIÓN DE 35
SOFTWARE

7.1.1 Dirigiéndose en DS

RS se compone de dos partes: la tabla de referencia (RT) y la base de la tabla


de direcciones (BAT). En la RT hay un PSA y Base Dirección de inicio (BSA)
para cada bloque, y los puntos de BSA para el punto de partida de BAT, ver
Fig. 27 25.

RT: es parte de la registradora de la tienda y mantener la dirección del


Programa de Inicio y la Base Dirección de inicio.

MURCIÉLAGO: ejerce en la dirección de las variables en DS. Para cada


bloque de una variable se le da un número de 1 y hacia arriba. Este
número se llama el número base de direcciones (BAN). Para obtener la
dirección de una variable en DS, la BSA + BAN dará el punto de espera
en la dirección en DS.

BSA: ejerce en la dirección del punto de inicio actual de BAT.

8 Suave w son la recuperación


Después de la carga inicial (Sección 2.4), el intercambio se supone para
funcionar sin problemas durante su vida útil. Esta es también la situación
normal para el sistema. Sin embargo, los errores no pueden ser totalmente
eliminados y en esta sección se estudiarán las acciones de recuperación de
software. El objetivo de la acción de recuperación automatizado es minimizar
el intercambio de tiempo de inactividad. Esto se consigue
tratando primero de liberar sólo el forlopp disfuncional 26 (Que nor-
Mally se extiende sobre partes de varios bloques) y dejar el resto del sistema
afectado. Como último paso, si nada funciona, todo el sis- tema se reinicia.
Esta sección cubrirá las diferentes medidas en relación con las acciones
recupera- ción de software. En la Sección 3.3 hemos dicho que las variables
son tratados de forma diferente a las acciones de recuperación en función de las
propiedades establecidas por el firmante de-. Vamos a terminar esta sección
con un resumen de las propiedades de las variables y su “comportamiento” en
las acciones de recuperación.
25
En realidad, se trata de cómo se realiza el direccionamiento en algunas arquitecturas.
Los principios que abordan pueden diferir entre las versiones APZ
26
Forlopp se describirá en la Sección 8.1
8 RECUPERACIÓN DE 36
SOFTWARE

BN-R
RS DS
PD

Bloque PSA BSA


A
Referencia
Bloque 1
Mesa B
.....

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

1 = BSA indica el punto de partida de la tabla de direcciones de base para el bloque A


situado en tienda de referencia. La BSA dará la dirección absoluta.
2 = BAN indica donde se encuentra la palabra BAT dirección para la variable específica.
BAN es una dirección relativa.
3 = La dirección de palabra indica cuando el valor de la variable específica se almacena en DS.

Figura 27: Muestra cómo abordar a DS se realiza en los puntos R S. BSA al


punto de partida de BAT
8 RECUPERACIÓN DE 37
SOFTWARE

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:

• Una identidad forlopp (FID), almacenado en un registro especial, se le


asigna a cada proceso (una llamada o forlopp). Todas las partes que
participan en el mismo forlopp tienen la misma identidad forlopp.

• El gerente forlopp (FM) almacena información relativa a las


forlopps dife- rentes.

• Cuando se detecta un error de software, la FM envía señales de


liberación a los bloques involucrados de acuerdo a la información
almacenada en FM. Un comunicado de forlopp la presente se lleva a cabo.

• A un comunicado de forlopp, un vertedero de error de software se lleva a


cabo, lo que significa que el contenido de los registros que participan en
el forlopp actual se vierten 27 .

En resumen, un fallo detectado en el software puede resultar en un comunicado de forlopp,


siempre que el bloque de función en la que se produjo el fallo es forlopp-
adaptado y la función forlopp está activo.

8.2 reinicio del sistema


El reinicio del sistema ha sido la acción tradicional de recuperación tomada por
el APZ (Sección 2) cuando se detecta un fallo de software. El reinicio del
sistema
27
Sección 2.4 describe lo que es un vertedero.
8 RECUPERACIÓN DE 38
SOFTWARE

s afectar todo el sistema y no sólo el forlopp en el que se produjo el fallo. El


propósito de un reinicio del sistema es restaurar el sistema a un estado
predefinido.
Durante el reinicio, reinicio señales se envían a cada bloque, por lo que
durante las sucesivas fases de reinicio, bloques realizan acciones para completar
la de la inicialización o restauración a un valor constante de sus variables de
almacenamiento de datos.
El procedimiento de reinicio del sistema podría iniciarse a mano, por una MANDO
(Sección 2.3), o automáticamente. Un reinicio del sistema manual de borra
situaciones de error, por ejemplo, la desconexión de un dispositivo de
suspensión. Un reinicio del sistema auto-matic es detectado por los programas,
microprogramas y circuitos pervisory su-. En un reinicio del sistema, la mesa
de trabajo, el buffer s de trabajo y las colas de tiempo (Sección 6) se borran.
Hay tres niveles de actividades de reinicio del sistema:

• Pequeño reinicio del sistema, lo que no afecta a las llamadas en


posición de conversación y conexiones semi permanentes. se
desconectan las otras llamadas. Esto esun sistema de reinicio
mínima.

• sistema grande de reinicio en el que se desconectan todas las


llamadas. conexiones semipermanentes no se ven afectados.

• Recarga y grandes reinicio del sistema en el cual una recarga se


realiza primero para asegurarse de que las variables de Recarga marcada
contienen ues Val- correctas. Esto es seguido por un gran reinicio del
sistema. conexiones semipermanentes se desconectan y restablece
automáticamente.

La razón de tener diferentes tipos de reinicios del sistema es perturbar


el tráfico manejo lo menos posible durante la fase de reinicio.
Con la aparición del primer fallo en un bloque normal que conduce a un
reinicio del sistema, el sistema intenta repararse a sí mismo sin perturbar el
tráfico demasiado - Se inicia una pequeña reinicio del sistema. Si se produce
otro fallo grave dentro de un intervalo de tiempo predefinido, se iniciará un
gran reinicio del sistema. En el caso de aparición de una tercera falta grave
dentro de otro intervalo de tiempo predefinido, una recarga y un gran reinicio
del sistema se llevará a cabo. Esto representa la acción de recuperación de
errores más extrema del sistema. Las fases descritas se representa en la Fig.
28.
Por último, a veces es necesario para iniciar de inmediato un reinicio del
sistema matic automático. El reinicio del sistema podría ser retrasada o
inhibida. Esto se hace llamando a la función de reinicio selectiva.
8 RECUPERACIÓN DE 39
SOFTWARE

hora
x min x min

Pequeña Peque Grand Recarg


Reiniciar ña e ar
Reinici Reinici +
ar ar Reinici
ar
grande

Figura 28: Diferentes tipos de reinicio del sistema.

8.3 Forlopp de lanzamiento o un reinicio del sistema?


En la Sección 8.1 describimos el concepto de forlopps como una manera
de recuperarse de un error de software sin afectar a más de la forlopp
defectuoso. Luego, en la siguiente sección, 8.2, describimos el reinicio del
sistema y los diferentes niveles de reinicio y cuando se aplican. En esta sección
se explica cuando la acción de reinicio del sistema se hace cargo del
mecanismo de arrendamiento, el forlopp re.
Como dijimos en la sección 8.1, una versión forlopp es siempre la primera
opción si se ha detectado un error. La “función” reiniciar el sistema se aplica
siempre y cuando:

• La liberación forlopp falla para recuperar el sistema (es decir, la


defectuosa lopp para-), o

• El proceso defectuoso no ha sido forlopp -a daptado, o

• El número de fallos han sido a alta de acuerdo con un límite de minado


predeter-.

El último caso se comprueba con un contador de intensidad. Este contador


mantiene pistas de la cantidad de fallos de software. El contador se dio un paso
cada
hora se detecta un fallo que conduce a un reinicio del sistema retardada o una
liberación forlopp. Cuando el contador alcanza el límite predeterminado, se
inicia un reinicio del sistema. El contador se reinicia y luego comienza de
nuevo desde cero. La Fig. 29 muestra el contador de intensidad y la Fig. 30
muestra los diferentes niveles de recuperación software.
8 RECUPERACIÓN DE 40
SOFTWARE

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

Figura 29: El contador de intensidad.

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

recarga reinicio inmediato

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

8.4 Variables y suave w son la recuperación


Como se dijo en la Sección 3.3, las propiedades de las variables determinan
cómo los Ables variabilidad deben ser tratados (es decir, desde un punto de
datos de vista) en el caso de un reinicio del sistema. La Fig. 31 muestra los
principios de cómo los diferentes tipos de variables deben ser tratados después
de un reinicio del sistema.

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,

1995.[AB95b] Ericsson Telecom AB. PLEX-C 2, 1995.

[AB98] Ericsson Telecom AB. PLEX-C 1, 1998.

[AB99] Ericsson Telecom AB. Principios básicos de Forlopp


Manipulación de 1999.

[AB02] Ericsson Telecom AB. PLEX-C lenguaje de descripción de 2002.

[AE00] J. Axelsson y J. Erikson. SAPP, teorías y herramientas para la


ejecución Estimación del Tiempo de Soft en Tiempo Real (comu-
nicación) Sistemas. Tesis de maestría, Universidad de Mälardalen,
2000.

[AGG99] A. Arnstrom, C. Grosz, y A. Guillemot. GRETA: a CEPT


herramienta con- para la validación y verificación de los sistemas
basado en la señal (por ejemplo, escrito en PLEX). Tesis de
maestría, Mälardalen Uni- versidad de 1999.

[EFGL02] J. Eriksson, P. Funk, J. Gustafsson, y B. ceceoso. Un concepto


de herramienta para el análisis de tiempo de ejecución de la
herencia Los sistemas.
E
n Euromicro 14ª Conferencia sobre Sistemas de Tiempo Real,
el progreso con el trabajo in- . IEEE 2002.

[KO00] P. Karlsson y S. Ohlsson. J ämförelse av registerallok- erigsstrategier


för programmerinsspråket PLEX. Tesis de maestría, Mälardalen
högskola, 2000.

[KP96] Al Kelley y Ira Pohl. C Por Disección - Conceptos básicos de


programación C. Addison-Wesley, 1996.

[MH01] A. Marburger y D. Herzberg. E-cuida proyecto de


investigación: sistemas de telecomunicaciones legado
comprensión compleja. En la Quinta Conferencia Europea
sobre el mantenimiento de software y reingeniería, Páginas
139 - 147. IEEE, 2001.
UNA LA DESCRIPCIÓN DE 43
SEÑAL

UNA La Descripción Señal


Hay dos documentos principales para las señales: los
Encuesta de señal ,
Que es un listado de todas las señales enviadas y recibidas en una unidad, y el
Descripción de la
señal , Que será estudiado en esta sección. Estos documentos se compilan junto
con la información del programa Fuente28 , SPI.

La descripción de la señal, SD, es el documento ese define una señal.


El tipo de la señal, así como el nivel de prioridad de la señal es manera
especificada en este documento. Hay una SD para cada señal y todos los de SD
se almacenan en bibliotecas especializadas. Vamos a estudiar cómo el SD
“interactuar” con el
SPI durante la fase de generación de código. Pero como un primer intento de capturar
los contenidos de la SD, que podría ser visto como algo similar a el h-archivo en C
que define externamente una función (entre otras cosas). El
SD incluye los siguientes elementos:

• Nombre del señal - Cada señal tiene un nombre que, tal vez,
capta su funcionalidad.

• número de señal - Para obtener la documentación interna.

• Función - Se utiliza para hacer comentarios acerca de la funcionalidad.

• tipo de señal - El tipo de señal indica si la señal de es


Soltero o combinado . Hay tres posibles especificaciones del tipo:

– Tipo 1 : Señal individual


– Tipo 2 : Combined forwar d
– Tipo 3 : Combinado hacia atrás

Si la señal es múltiple , Esto se indica mediante la adición de la palabra


clave múltiple para el tipo de señal, como en: TIPO ES 1 Múltiplo
una señal única no tiene ninguna indicación en
este punto! (Una señal es único “por defecto” si
no se indica otra cosa). Si la señal es local, la
palabra clave LOCAL se añade al tipo de señal.

• Posible señal de retorno - Para obtener la documentación interna.


28
La información del programa fuente es el “código fuente presentar”, es decir, el
documento que normalmente llamamos un programa. Vea la Sección 3.1 para más detalles.
UNA LA DESCRIPCIÓN DE 44
SEÑAL

• Posible bloquear el envío - Para obtener la documentación interna.

• Posible receptora de bloque - Para obtener la documentación interna.

• nivel de búfer - El nivel de prioridad! En la sección 6, se describe


cómo se asigna cada señal de un nivel de prioridad, y cómo se almacenan
las señales de
en diferentes tampones de trabajo (en el caso de una señal tamponada).
Los estados de nivel de memoria intermedia el nivel de prioridad de la
tarea correspondiente y también en qué trabajo búfer de la señal serán
tamponadas (si es para ser tamponada, es decir,).
NOTA: El nivel de tampón puede tener las siguientes combinaciones:

– No hay buffer : La señal es directa. (A señal combinada es


siempre directa, véase la Sección 5.3.)
– NIVEL A / B / C / D BUFFER : La señal es amortiguada y
utiliza el búfer de trabajo especificado. Esta combinación se impone
a una posible uso de la opción de PRISA en el estado de envío de la
señal (ver más abajo).
– NIVEL A / B / C / D: La señal es amortiguada y utiliza el
búfer de trabajo especificado, a menos que la palabra clave
PRISA se utiliza en la instrucción de envío de
señales, lo que indica que la señal es
directa.

• datos de la señal - Especificación de los “argumentos” (es decir, los


datos) que la señal está llevando.

• Identificación del sector - Para obtener la documentación interna.

Вам также может понравиться