28
A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004. Málaga. Por Manuel I. Capel-Tuñón, Juan Antonio Holgado. Universidad de Granada. {mcapel,jholgado}@ugr.es y José Ramón Balsas Almagro. Universidad de Jaén. [email protected] Resumen –Formalización de entidades RT/SA mediante un álgebra de procesos con descripción explícita del tiempo –Un procedimiento de transformación sistemático de las entidades de análisis estructurado en términos de procesos de CSP+T –Obtención de criterios de diseño que permitan el desarrollo de sistemas de control basados en eventos discretos con propiedades de tiempo real

A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Embed Size (px)

Citation preview

Page 1: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time

Preparado para las VII Jornadas de Tiempo Real’045-6 Febrero 2004. Málaga.

Por Manuel I. Capel-Tuñón,Juan Antonio Holgado.

Universidad de Granada.{mcapel,jholgado}@ugr.es

y José Ramón Balsas Almagro.Universidad de Jaé[email protected]

Resumen–Formalización de entidades RT/SA mediante un álgebra de procesos con descripción explícita del tiempo

–Un procedimiento de transformación sistemático de las entidades de análisis estructurado en términos de procesos de CSP+T

–Obtención de criterios de diseño que permitan el desarrollo de sistemas de control basados en eventos discretos con propiedades de tiempo real

Page 2: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Indice

Introducción

Objetivos

Método

Ejemplo Inicial

Caso práctico de diseño: la celda de producción

Seguridad vs. Rendimiento

Conclusiones

Trabajo futuro

Referencias

Page 3: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

IntroducciónRT/SA

Características como método de especificación,

– Lenguaje de especificación orientado a procesos muy

utilizado, aún sin semántica formal aceptada

– Notación gráfica muy intutiva. Hace fácil el proceso de

especificación de STRs, con un mínimo entrenamiento

– Muy restrictiva en cuanto a capacidad descriptiva de

restricciones temporales

– Fracasan los intentos de formalización

Page 4: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

IntroducciónEspecificación Formal de Sistemas

Las restricciones temporales se

especifican en una fase

posterior a la del diseño del

sistema objetivo

Ninguna especificación formal

de transformaciones de datos

Tampoco se realiza ninguna de

los tipos de datos

Las restricciones temporales

especificadas junto con los

requisitos funcionales

Se realiza una especificación

formal del comportamiento de

cada uno de los procesos

Es compatible con

especificaciones formales de

datos: Z, algebráicas, etc.

Métodos de Análisis Estructurado Especificación Formal con CSP+T

Page 5: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

IntroducciónDe la especificación al diseño: un enfoque integrado

Método de desarrollo sistemático bottom-up,

–Proporciona al ingeniero una notación gráfica de diseño

–Desambiguación de las entidades RT/SA

–Notación compacta basada en términos de procesos TCSP

que incluye descripción de restricciones temporales

–Desarrollo sistemático que asigna una semántica a RT/SA

preservada hasta el diseño detallado

–Asumible por entornos de desarrollo formal basados en CSP

Métodos de Análisis Estructurado + CSP+T Especificación Formal

Page 6: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

IntroducciónSistemas controlados por eventos discretos

“The production cell processes metal blanks that are conveyed to a press by a feed belt. The first robot arm takes each blank from the feed belt and places it in the press. Because the belt and the robot are different heights, there is an elevating rotaring table which is designed to give blanks to the robot. The press forges a new metal blank and opens again. Forged metal plates are taken out of the press and put on a deposit belt by a second robot arm. A possible configuration of the production cell uses a traveling crane to return plates to the feed belt…”

El Problema de la Celda de Producción

Page 7: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Objetivos:

Traer los procedimientos de la Ingeniería del Software al desarrollo formal de los sistemas de tiempo-real

Obtener un diseño de sistema correcto-por-construcción mediante la transformación sistemática de esquemas de alto nivel de abstracción

Utilizar la tecnología actual sobre timed process algebras-una manera prometedora de cerrar el gap entre especificaciones y programas ejecutables-

Page 8: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

MétodoElementos de RT/SA

Data/Control Stores

one-on-one zero-or-many divides into

The entity relations

Flows

TransformationProcesses

Terminators

SystemContext Diagram

Transformation

Scheme

TransformationScheme

ProcessSpecification

(PSPEC)

StateTransitionDiagram

(STD)

is a

Data Flow Diag. Jerarquía de esquemas de transformación denominada Modelo Esencial

Describe requisitos del sistema independientes de su operación

Produce una especificación del sistema de arriba-abajo. Aplica refinamiento sucesivo

Page 9: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

MétodoCommunicating Sequential Processes -CSP-

Process A Process B

datawriter reader

thread A thread B

Communication:

Synchronization:

PA

data flow

PB

PA! d || PB ? x

d

dPendingmessage

Método inspirado por la teoría de procesos comunicantes de C.A.R. Hoare: Theory of CSP

La comunicación encapsula sincronización, planificación y transferencia de datos,

–Ausencia de buffer, proporciona un mecanismo “rendez-vous” de sincronización entre procesos,

– Implementación muy eficiente en multicomputadores.

Page 10: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Método´Paralelismo´ desde el análisis al diseño

Análisis identificación de procesos

Diseño Modelos Paralelos (paradigmas)

ImplementaciónLenguaje Paralelo

oLenguaje secuencial + multithreading

Multithreading no garantiza programas bien

estructurados

En Programación Paralela, el concepto de

proceso es más seguro que el de hilo

(“thread”)

Programas paralelos estructurados en

procesos: más escalables y transportables a

multicomputadores TCSP: una estrategia formal de diseño para

problemas de deadlock, livelock y process starvation

-identificación-nombre-descripción

-paralelismo geométrico-estructura comunicac.-interfaz entre procesos

Page 11: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

MétodoDiseño con CSP+T

P’ = 1. a STOP

< >

< 1. , t.a >

< 1. >

t [1, )

Evento de instanción de procesos :–Los procesos necesitan ser instanciados antes de ejecución

–Aparición del evento está referida a un tiempo global

Captura de tiempo: oper. –Registra el tiempo de observación de un evento

–Definición de dependencias temporales respecto de un evento anterior

P’ = 1. {u,v,x,y}avSTOP

< 1. >

ta [1, )

Las variables marcadoras capturan el tiempo asociado a los eventos:

< 1. , ta.a >

<>

u = v = x = y = 1

v = ta

Page 12: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

MétodoEspecificación de plazos de tiempo

< 1. , v.a, s.b >

P’ = 1. avbE.c STOP E= {t / rel (3,v) t rel(5,v)}

< >

< 1. , ta.a > v= ta

< 1. >

s ]ta + 5, )

s [ta+3, ta + 5]

STOP

< 1. , v.a, s.b, u.c >

STOP

Mientras dure el intervalo de habilitación E el proceso es capaz de implicarse en el evento

Estos intervalos se definen para un conjunto de variables marcadoras

Su utilización modifica la orden de composición paralela de procesos

Page 13: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

MétodoEsquema de transformación RT/SA CSP+T

1) Preparar los esquemas RT/SA para transformar

2) Transformar los esquemas de nivel inferior a términos de procesos CSP+T

3) Construir un término de procesos para cada DS, CS, DTP, CTP or flujo de datos contínuo

4) Definir término procesos modelador del esquema

5) Repetir pasos (3) y (4) hasta obtener un término de procesos modelador del Diagrams de Contexto

Page 14: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Ejemplo inicial de aplicaciónCálculo de la interfaz de un término de procesos

DO1

O2

f

f

Aplicando Regla 1 .1.a

{Interface (pr(O1))} U {f ! x}

{Interface (pr(O2))} U {f ! x}

{Interface (pr(D))} U {f ? x}

Page 15: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Ejemplo inicial de aplicaciónCálculo de la interfaz de un término de procesos

DO1

O2

f

f

C1

event

Aplicando Regla 1 .1.a

{Interface (pr(O1))} U {f ! x}

{Interface (pr(O2))} U {f ! x}

{Interface (pr(D))} U {f ? x}

Aplicando Regla 1.1.b

{Interface (pr(D))} U {event}

{Interface (pr(C1))} U {event}

Page 16: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Ejemplo inicial de aplicaciónModelado de DTE

qi

qk

conditionaction

Qi= c (a Qk)

Qk

c

a

Regla 3.a

Sustituir c por I(e).c o a por I(e).a

si c o a son eventos restringidos

Regla Para Fijar Plazos Temporales

Regla 3.b

Sustituir c por cmc o a por ama

si c o a son eventos marcadores

Opening_Tweezers= DropBlankPos tdisable_WTB Move_motor; BlankRob1_Empty; StandBy

..

.

.

StandBy_Poss= BlankRob1_Empty

I1(takeoutPressRob1, t).Height_movement(x1); DescendingRob1

Ejemplo: Movimiento en Altura Robot 1

// compute x1 = f(arm_position, tpos)

Page 17: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Ejemplo inicial de aplicaciónModelado de Transformaciones de Control y Datos

R Q

enable/disable

Incluir señales de control aplicando Regla 6:

pr(Q) = enable Q ^ DIS

DIS = disable pr(Q)

pr(R) = enable R ^ DIS

DIS = disable pr(R)

Regla 5:

1) Pre-calcular pr(T) mediante la aplicación ode las reglas de cálculo de la interfaz

Ejemplo de aplicación de regla

2) Escribir pr(T) = T \ {(T) - interface(pr(P))}C

R Q

T

Page 18: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Ejemplo inicial de aplicaciónModelado de Flujos de Datos Contínuos

P Q

f Regla 1.2:

pr(f) = f ? x S

S = f ? x S | f ! x S

pr(f)

f ? x

S

SS

f ? x f ! x

Ejemplo del proceso de control de movimiento del robot en altura

SYNC0 = GetArmPosRob1’ ? x U1

U1 = (GetArmPosRob1’ ? x | GetArmPosRob1 ! x U1)

SYNC0

GetArmPosRob1’

GetArmPosRob1

Page 19: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Caso prácticoEspecificación: Celda de Producción

Robot 1

Robot 2

Robot 3

Cinta transportadora 2

Cinta transportadora 1

Prensa

Page 20: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

DFD de 1º nivel

FeedBeltControl

Robot 3Control

Robot 2Control

DepositBeltControl

PressControl

Robot 1ControlPositionsRob1

PositionsRob2

PositionsRob3

EndFeedBelt

BlankRob3

BlankRob2

BlankRob1

PressPress

Press

Pressing

Pressing

BeginFeedBeltbarrierlightfeedbelt

feedbelt commands

barrierlight depositbelt

BlankRob2

StopSwitchStatusRob1StopSwitchStatusRob1

StopSwitchStatusRob2

StopSwitchPress

StopSwitchStatusRob3

Press commands

Deposit commandsEndDepositBelt

BeginDepositBelt

Rob1 commands

Rob2 commands

Rob3 commands

PressStatus

Page 21: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

DFD 2ºnivel Control del Robot 1

Robot TweezersControl

Robot ArmControl

Robot TurnControl

Robot HeightControl

StopSwitchStatusRob1

HeightPosRob1

EndFeedBelt

EndFeedBeltArmPosRob1

Press

EndFeedBelt

StopSwitchStatusRob1

StopSwitchStatusRob1TweezersPosRob1

TurnPosRob1

RetractionPosRob1

HeightPosRob1

Rob1commands

Rob1commands

Rob1commands TurnPosRob1

Rob1BlankStatus

RobotPresetPositions

Page 22: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Aplicación del métodoTransformación DTE a términos de procesos

StandByGrippingTweezers

Aplicando 3 A Gripping_Tweezers = ( PickBlankPos_true t_blankfullrob1 Action(StandBy); StandBy| GetTweezersPosRob1 ? x if(x=PickBlankPos) then PickBlankPos_true elseif (x=DropBlankPos) then DropBlankPos_true else NILL end )

StandByGrippingTweezers

Tweezers_ _ Pos Rob1 =PickBlankPos

A: MoveMotorTweezers (Stop)Blank Rob1 = full

t blankfullrob1 = getTime ()_

_ Tweezers Rob1_ _Pos GetTweezersPosRob1=

Page 23: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Criterios de diseñoDecisiones que mejoran el rendimiento

Modularizar el control en procesos de control RT/SA independientes

Minimizar el número de estados de espera en DTEs

Minimizar el número de condiciones en las transiciones de salida de estados de espera

Utilizar condiciones de sincronización en las transiciones sólo en caso de peligro de violación de propiedad de seguridad

En otro caso, definir plazos de tiempo antes de la entrada en un nuevo estado de un DTE

Page 24: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Caso prácticoAlgunas propiedades de seguridad

Para que el brazo del robot 1 pueda recoger un objeto de la cinta transportadora, tiene que fijar la posición de la altura y el giro antes de extender el brazo.

Peligro de Colisión

Cuando se ha cogido el objeto de la cinta transportadora, el brazo del robot debe elevar el brazo en altura antes de retraer y girarlo.

Peligro de Colisión

Page 25: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Definiendo plazos de tiempo antes de la entrada en un nuevo estado

•En el DTE del movimiento horizontal la transiciónse dispara en cuando el objeto ha sido agarrado En CSP solo se especifica en un proceso dentrodel ámbitoStandBy_Pos1= Blank_Robt_Full t_blankfullrob1 -> actions(Elevating_Rob1) ElevatingCCW

•En el DTE del grado de libertad de extensión/Retracción no puede extender hasta que no sehaya elevado. No podemos utilizar condiciones, solo restricciones temporalesEn CSP no hay que añadir más procesos:StandByPos2= Blank_Rob1_Full_true I(D_takeoutfeedrob1, t_blankfullrob1); Action(Retracting_Arm_Rob1); Retracting_Arm_Rob1

StandByPos2

StandByPos2

ElevatingRob1

Retracting armRob1

BlankRob1= full

BlankRob1= full & now - t blankfullrob1 > D takeoutrob1_ _

A: MoveMotor (Up)

A: MoveMotor (Up)

CONTROL DE ALTURA

DEL BRAZO

CONTROL DE EXTENSIONDEL BRAZO

Esperando coger objeto de la cintatransportadora Se captura

el tiempo

Esperando coger objeto de la cintatransportadora

Page 26: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Conclusiones Método de derivación de diseño de sistemas de

tiempo-real correcto por construcción

Posible semántica formal para las entidades RT/SA, con flexibilidad para adaptar el comportamiento de los procesos al mejor modelo posible de términos TCSP

El método está orientado hacia la ingeniería y puede ser utilizado en el desarrollo de herramientas de verificación de programas, generación de código, animación de especificaciones, etc.

Page 27: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Trabajo futuro Integración en entornos de Ingeniería de Software

Automatizados Desarrollo de una herramienta software basada en Java

y bibliotecas de programación CSP Exploración de nuevos esquemas de transformación

para dotar de una semántica formal y suficientemente flexible a las entidades RT/SA

Ampliación de las capacidades descriptivas del álgebra utilizada para que incluya modelos de procesos con semántica de fallos -selección no-determinista, etc.-

Page 28: A Study on the Formalization of Structures Analysis by Means of a Process Algebra +Time Preparado para las VII Jornadas de Tiempo Real’04 5-6 Febrero 2004

Referencias Baresi, Pezze. Towards Formalising Structural Analysis. ACM

TSEM, pp.80-107,1998.

Capel, M.I. Mathematical Modeling of Technical Processes. 2000

Capel, J.R.Balsas. A Transformational Approach to Systematic Design of Real-Time Systems. 16th ECRTS (pendiente)

Fencott et al. Formalising the Semantics of Ward-Mellor SA/RT … Using Process Algebra. FME, pp.681-702. LNCS 873, 1994

Felder, Pezze. A Formal Design Notation for Real-Time Systems. ACM TOSEM, pp.149-190, 2002

Zic. Time-Constrained Buffer Specifications in CSP+T and Timed CSP. ACM TOPLAS, pp.1661-1674, 1994.