Documente Academic
Documente Profesional
Documente Cultură
y Tecnologías
Orientadas a Objetos
José Nelson RESUMEN
Pérez Castillo
Este artículo discute el uso de métodos forma- rios años en la Facultad de Ingeniería de la
les en procura de los más altos niveles de cali- Universidad Distrital, específicamente en la
dad en el desarrollo de software. Se muestra un Maestría en Teleinformática, en donde se les
panorama de los principales conceptos de las conoce como Técnicas de Especificación For-
tecnologías orientadas a objetos y de los méto- mal para software de comunicaciones, siendo
dos formales haciendo un recorrido de la in- las más representativas: ASN.1, SDL y LOTOS.
vestigación y las tendencias principales en este
importante campo de la ingeniería de software. El incentivo fundamental para el trabajo de in-
vestigación sobre métodos formales en la in-
Palabras claves: Métodos formales, Z++, geniería de software, fue la creciente certeza de
VDM++, Object-Z, tipos, categorías, tecnolo- que únicamente los enfoques formales en la
gías orientadas a objetos. especificación, verificación, análisis, implemen-
tación, prueba y operación de los sistemas
informáticos, podría proporcionar los medios
FORMAL METHODS para controlar la complejidad creciente de los
AND OBJECT TECHNOLOGY sistemas de información actuales y de la inter-
conexión de sistemas abiertos. Esto significa
que los métodos formales, se están convirtien-
This paper reviews the use of for mal
do en una herramienta de uso común para to-
approaches in securing better quality software.
dos aquellos involucrados en el ciclo de desa-
It overviews the main concepts of the object
rrollo de sistemas de alta calidad, lo que impli-
techonology and formal methods, and conduct
ca que tales métodos formales tengan que ser
Los métodos a brief survey of research into the principal
estables, cuestión que puede garantizarse úni-
formales, son el strands in this important field of the software
camente mediante su estandarización. El
resultado del engineering.
CCITT y la ISO proporcionan el ambiente na-
trabajo de varias Keywords: Formal methods, Z++, VDM++,
tural para dicho proceso [1].
décadas sobre Object-Z, types, category theory, object
technology
lenguajes de
especificación RAZONES EN PRO DE LOS
formal y
INTRODUCCIÓN MÉTODOS FORMALES
métodos
rigurosos para
El estudio sistemático y uso intensivo de méto- Los métodos formales, son el resultado del tra-
el desarrollo de
dos formales en la ingeniería de software, es bajo de varias décadas sobre lenguajes de espe-
sistemas de cificación formal y métodos rigurosos para el
una disciplina que se ha abordado hace ya va-
computación.
10
Ingeniería
Los orígenes de desarrollo de sistemas de computación. La esen- CONCEPTUALIZACIÓN
la investigación cia de tales lenguajes y métodos la constituye DE LOS DENOMINADOS
sobre métodos un soporte matemático que busca asegurar
precisión y tratabilidad. Las descripciones con-
MÉTODOS FORMALES
formales, se
remontan a la vencionales, generalmente se dan en lenguaje
Los orígenes de la investigación sobre méto-
década de los natural o en diagramas, pero es complicado
dos formales, se remontan a la década de los
setenta, con los hacer que estas no sean ambiguas y por tanto
setenta, con los trabajos de Dijkstra y Hoare
trabajos de difíciles de analizar. Los errores y las omisio-
sobre verificación y desarrollo de programas y
Dijkstra y Hoare nes en los sistemas de computación son costo-
los de Scott, Stratchey y otros sobre semánticas
sobre sos de rectificar y pueden poner en peligro su
de programas. Un avance importante lo cons-
verificación y vida útil y apropiado funcionamiento [2]. Las
tituyó el desarrollo de lenguajes matemáticos
desarrollo de técnicas formales se justifican particularmente,
para la verificación de programas, como lo fue-
programas y los para sistemas con los siguientes atributos:
ron las notaciones Z [3] y VDM [4]. El lenguaje
de Scott, Z fue creado por J. R. Abrial, luego fue expan-
Complejos: muchos sistemas, de por sí son
Stratchey y dido y aplicado industrialmente por otros
complejos y la tendencia es producir sistemas
otros sobre desarrolladores durante la década de los ochen-
cada vez con mayor complejidad.
semánticas de ta, gracias al Grupo de Investigación en Pro-
programas. gramación de Oxford, que hizo de los métodos
Concurrentes: son sistemas que exhiben pa-
formales un elemento clave de su trabajo. Por
trones complejos de comportamiento y poten-
su parte, el lenguaje VDM fue desarrollado ini-
cialmente interferentes que deben ser entrela-
cialmente en los laboratorios de IBM en Viena
zados. La concurrencia surge en sistemas dis-
y por el grupo de la Universidad de Manchester
tribuidos, sistemas en tiempo real, diseño de
liderado por Cliff Jones, quien los convirtió en
hardware y procesamiento en paralelo.
el centro de atención de sus investigaciones y
esfuerzos por lograr instrumentos de desarro-
Calidad crítica: son sistemas cuyas fallas no
llo, que condujeron al logro de la herramienta
son peligrosas, pero cuya confiabilidad es alta-
conocida como Mural [5] y al proceso de
mente importante; ejemplos de esto son las apli-
estandarización adelantado por la ISO [6].
caciones financieras, las de telecomunicaciones
y los sistemas operativos.
Tanto Z como VDM, son lenguajes de especi-
ficación formal basados en modelos, es de-
Protección crítica: son sistemas que contro-
cir, utilizan la teoría de conjuntos y la lógica,
lan actividades vitales tales como la defensa, la
para construir modelos abstractos de los siste-
medicina, la industria nuclear, las telecomuni-
mas que se requieran, mediante el uso de con-
caciones y la gestión del tráfico aéreo.
juntos, secuencias, funciones, etc.
Seguridad crítica: con el uso extendido de las
En contraste, los métodos algebraicos tales
tecnologías computacionales puede ser esencial
como OBJ, PLUSS [7], LARCH [8] y FOOPS
impedir el uso no autorizado de información o
[9] usan lógica de ecuaciones para proveer des-
facilidades de computación, por motivos de
cripciones de sistemas implícitas y abstractas.
seguridad y confidencia comercial o privacidad
personal.
Las álgebras de procesos, constituyen el funda-
mento de los métodos formales orientados a la
Estandarizados: los estándares, en particular
solución de problemas de concurrencia. Los
los internacionales, suelen ser ampliamente uti-
principales formalismos son CSP [10], CCS [11]
lizados y deben ser interpretados uniformemen-
y el cálculo-π [12]. El fundamento de estas
te, si se quiere que tengan algún valor.
álgebras es el concepto abstracto de proceso,
11
Ingeniería
definido como un componente que puede re- directamente a través del concepto de
accionar a eventos externos, generarlos y reali- metaclase para cada clase y los métodos de la
zar el procesamiento interno requerido. Cada metaclase. El polimorfismo se trata a través de
lenguaje proporciona los significados a proce- la jerarquía de tipos.
sos específicos, los combina y razona respecto
a sus propiedades. Aplicaciones importantes El álgebra de procesos, también puede usarse
de CSP incluyen el desarrollo de la unidad de de modo orientado a objetos de la manera como
punto flotante INMOS T800 [13] y el lenguaje se indica en [22]. Más recientemente, el cálcu-
OCCAM. lo-π se utilizó para dar una base semántica a
una extensión orientada a objetos de VDM [23].
Los lenguajes CCS y el cálculo-π, han servido Las álgebras de procesos son muy efectivas en
como vehículos para un trabajo teórico exten- la captura de algunos aspectos dinámicos de
so. Las ideas de las álgebras de procesos pu- sistemas de objetos, pero el tratamiento de da-
ras, también han contribuido al desarrollo de tos complejos requiere, bien sea un lenguaje de
lenguajes híbridos como LOTOS [14], OBJSA especificación adicional para estos datos o una
[15] y RSL [16], en donde un componente de codificación altamente compleja de datos a ma-
álgebra de procesos se combina con un lengua- nera de procesos, como en el cálculo-π
je de especificación de datos (algebraico en el
caso de LOTOS, tanto algebraico como basa-
do en modelos en el caso de RSL). LOTOS se MÉTODOS FORMALES
usa ampliamente en el campo de las telecomu- EN TECNOLOGÍAS DE OBJETOS
nicaciones y RSL por su parte ha sido el tema
de proyectos de industrialización a gran escala,
Los seguidores de los métodos formales y los
financiados por la Unión Europea.
expertos en tecnologías de objetos, investigan
actualmente de qué manera las especificacio-
Los formalismos basados en modelos, se usan
nes formales pueden complementar el desarro-
ampliamente de manera conjunta con las tec-
llo orientado a objetos o por lo menos, cómo
nologías orientadas a objetos, a través de len-
pueden ayudar a clarificar las semánticas de las
guajes tales como Object-Z [17], VDM++ [18]
notaciones y conceptos orientados a objetos
y métodos tales como Syntropy [19] (que usa
[24]. Ejemplos de dicho trabajo son: el modelo
notación Z) y Fusion [20] (relacionado a VDM).
de objetos esencial del OMG que hace uso de
Si bien estos formalismos son efectivos en la
Z [25], la formalización de la notación OOA
modelación de estructuras de datos, como con-
mediante Z y los métodos Syntropy [19] y
juntos y relaciones entre conjuntos, no son los
Fusion [20].
más idóneos para la captura de mecanismos
sofisticados como son el enlace dinámico y el
La integración de las técnicas formales, dentro
polimorfismo, en tecnologías orientadas a ob-
de los métodos orientados a objetos, es parte
jetos.
de un área general de trabajo conocida como
Cada lenguaje integración de métodos [25]. El uso industrial
Los formalismos algebraicos se han usado me-
proporciona de los métodos formales con frecuencia se al-
nos frecuentemente con las tecnologías de ob-
canza gracias a dicha integración. En [27] se
los significados jetos. El ejemplo más importante de tal combi-
indica que el 31% de aquellas compañías que
a procesos nación es el lenguaje FOOPS y el formalismo
aplicaron métodos formales lo hicieron en con-
específicos, OOZE [21] en el que la lógica de ecuaciones
junto con métodos diagramáticos semiformales.
los combina se combina con un mecanismo de estructura-
Este criterio tiene ventajas decisivas en térmi-
y razona ción de módulos. Los aspectos dinámicos de
nos de la minimización de las interrupciones a
respecto a sus los sistemas de objetos, tales como el conjunto
las prácticas de desarrollo existentes.
propiedades. de objetos existentes de una clase, se manejan
12
Ingeniería
Tanto Fusion En la integración se han seguido dos enfoques y permite el uso de las notaciones Z sobre es-
como Syntropy, básicos: tos diagramas, para especificar precondiciones
son parte de y postcondiciones, invariantes y restricciones.
una tendencia Uso de notación matemática para mejorar las Una característica importante de Syntropy es
hacia un mayor representaciones diagramáticas, teniendo en su énfasis en eventos más que en mensajes, para
grado de cuenta, que el desarrollo se realiza predomi- la modelación de los requerimientos del siste-
abstracción en la natemente con uso de las últimas. ma. Un evento puede involucrar cualquier can-
especificación de tidad de objetos (por ejemplo, puede disparar
objetos, fuera de Uso de un proceso de traducción, a partir de una transición de los diagramas de estado de
los conceptos de los modelos diagramáticos de análisis hacia varias clases de objetos). Esta sincronización
métodos y paso notaciones formales, tales como un lenguaje (no dirigida) entre objetos más tarde puede
de mensajes. de especificación orientado a objetos. El de- implementarse como el paso dirigido de men-
sarrollo se logra fundamentalmente usando sajes (llamada de métodos). Esto es análogo a
las notaciones formales. la sincronización, mediante acciones en el
Object Calculus, descrito en [30], y a diferen-
El primer enfoque es más adecuado para un ri- cia de Fusion, se da un tratamiento al problema
guroso aunque no completo, desarrollo orien- de concurrencia. Syntropy, nació después de
tado a objetos, dado que las notaciones muchos años de experiencia en consultoría y
diagramáticas, no soportan una prueba o una ha sido utilizado en aplicaciones financieras crí-
verificación. El segundo es más adecuado cuan- ticas en el Reino Unido.
do se desarrollan sistemas altamente integrados.
Tanto Fusion como Syntropy, son parte de una
Como ejemplos del primer enfoque pueden ci- tendencia hacia un mayor grado de abstracción
tarse a Fusion y Syntropy, descritos más ade- en la especificación de objetos, fuera de los
lante. En [28] se encuentra un ejemplo del se- conceptos de métodos y paso de mensajes.
gundo enfoque, que hace uso de B AMN como Ambos enfoques usan conceptos (operaciones
el lenguaje formal. En [24], se encuentra otro del sistema en Fusion, eventos en Syntropy) en
ejemplo que hace uso de este enfoque, recu- la etapa de análisis, que permiten una especifi-
rriendo a LOTOS. cación flexible de los elementos de un sistema,
sin un compromiso prematuro con una arqui-
Fusion se generó a partir del trabajo de tectura particular de objetos o de definiciones
Coleman, Dollin y otros en Hewlett Packard dentro de clases particulares.
Labs sobre la mejora a notaciones formales
orientadas a objetos tales como los diagramas La herramienta Venus para OMT y VDM++,
de estado [20]. Se proveen notaciones semifor- provee soporte para el uso combinado de téc-
males (inglés estructurado) para precondiciones, nicas formales y técnicas digramáticas orienta-
postcondiciones e invariantes de operaciones y das a objetos, de manera altamente integrada
se hace uso de los conceptos básicos de especi- [31] y está diseñada como una extensión de una
ficaciones formales (abstracción, refinamiento herrmienta CASE, ampliamente utilizada para
mediante el modelo de exclusión, especificación OMT, permitiendo a los usuarios de técnicas
de operaciones haciendo uso de precondiciones orientadas a objetos, incrementar la formalidad
y postcondiciones), sin adoptar notación mate- de sus desarrollos de manera gradual. Es posi-
mática. ble producir una especificación OMT del con-
junto de clases, atributos y asociaciones en un
Syntropy es un método más reciente en la mis- sistema, generar un esquema de clases VDM++
ma dirección, que combina los diagramas de a partir de la especificación, mejorar estas cla-
estado y las notaciones del modelo de objetos ses y entonces traducir de regreso la especifica-
de OMT [29], con los diagramas de interacción ción mejorada dentro de una vista OMT. La
13
Ingeniería
Las técnicas ventaja de este enfoque, es que las herramien- tenido sus principales aplicaciones en sistemas
formales tas de análisis y edición más apropiadas, pue- de transporte seguros [37]. El lenguaje
permiten un den usarse sobre las diferentes vistas SmallVDM [28], combinó una estructuración
significado (diagramáticas vs formales) del sistema. Por lo basada en objetos derivada de Smalltalk con la
preciso para general, es más efectivo crear y modificar una notación VDM. Otros trabajos que proveen
mecanismos jerarquía de clases, usando un editor de unas extensiones mínimas a Z y que permiten
complejos diagramas que a través de una herramienta ba- un estilo de especificación orientado a objetos,
orientados a sada en texto. incluyen a [38].
objetos tales
como la La traducción de notaciones diagramáticas a no- Los investigadores y seguidores de las tecnolo-
agregación o taciones formales, tales como las realizadas por gías de objetos, se encaminaron en la dirección
Venus, proveen una interpretación particular y de mecanismos orientados a objetos, porque és-
los diagramas
semánticas propias a las primeras. Entonces al tos parecen complementar de modo natural los
de estado.
concepto no bien definido de agregación en lenguajes de especificación basados en mode-
orientación a objetos, se le puede dar un signi- los [39] y [28], apoyándose en las siguientes ra-
ficado preciso, mediante la traducción a un len- zones:
guaje formal como LOTOS [24], VDM++ o La orientación a objetos estimula la creación
Z++. En VDM++, la interpretación se hace a de abstracciones y las técnicas formales pro-
través del concepto de herencia indexada. veen los mecanismos para describir de modo
preciso dichas abstracciones.
Similarmente, las ambigüedades de la notación
de diagramas de estado, puede resolverse me- La orientación a objetos provee los mecanis-
diante una interpretación formal tal como la que mos de estructuración y las disciplinas de de-
se propone en [32] para RTL. Por ejemplo, los sarrollo requeridas para escalar hacia técni-
métodos de Booch [33] y OMT, toman diferen- cas formales en grandes sistemas.
tes interpretaciones considerando si los even-
tos son encolados, ignorados o si arriban en el Las técnicas formales permiten un significa-
momento cuando el objeto destino no está en do preciso para mecanismos complejos orien-
un estado, en el cual puedan ser aceptados. tados a objetos tales como la agregación o
los diagramas de estado.
CONCURRENCIA
REFERENCIAS
Es conocido que los objetos, debido a su inde- [01] Pérez C. J. N. Línea de investigación en administración de redes.
pendencia y al aislamiento de su estado inter- Universidad Distrital Francisco José de Caldas, Facultad de
Ingeniería, Maestría en Teleinformática, Junio de 1992.
no, de la interferencia por otros objetos, son [02] Pérez C. J. N. Sistema Integrado de Pruebas, Análisis y Gestión de
unidades apropiadas de ejecución concurrente. Redes (SIPAG). Universidad Distrital Francisco José de Cal-
das, Facultad de Ingeniería, Maestría en Teleinformática,
Como ejemplos de algunos intentos por inte- Noviembre de 1994.
grar los conceptos de concurrencia y la orienta- [03] Spivey M. The Z notation: A reference manual. Prentice Hall,
2nd edition, 1992.
ción a objetos pueden citarse la notación POOL [04] Jones C. Systematic software development using VDM. Prentice
[65], DRAGOON [66] y VDM++. Hall International. (2nd edition), edition 1992.
[05] Ritchie B. Proof with Mural. Rutherford Appleton Laboratory,
Informatics Department, Chilton, Didcot, Oxon OX11
Sin embargo, el ajuste entre objetos y procesos 0QX, UK, 1993.
[06] Andrews D. J. Information Techonology Programming Langauges -
no es exacto. En particular, los objetos pueden VDM-SL; First Commitee Draft Standard: CD 13817-1, docu-
ser concurrentes internamente, si representan mento iso/iec jtcl/sc22/wg19 n-20, Noviembre de 1993.
[07] Ehrig H. y Mahr B. Fundamentals of algebraic specification2.
un sistema que debe responder más rápidamente Springer-Verlag 1990.
17
Ingeniería
[08] Guttag J. Abstract data types and the development of data structures. En Programming [42] Wills A. Capsules and types in Fresco: Program verification in Smalltalk. En P.
Language Design. Los Alamitos, CA: IEEE Computer Society Press, 1980 America, editor, ECCOP91 Proceedings, volume 512 of Lecture Notes in
[09] Goguen J. y Ginali S. A categorical approach to general systems theory. En G. Klir, Computer Science, págs. 59-76. Springer-Verlag, 1991.
Editor, Applied General Systems Research, págs. 257-270. Plenum, 1978. [43] Moller-Pedersen B et al. Relational and tutorial on osdl: An object-oriented extension
[10] Hoare, C. Communicating sequential processes. Prentice Hall, 1985. of sdl. Computer Networks and ISDN Systems, 13(2): 97-117, 1987.
[11] Milner R. Communication and concurrency. Prentice Hall, 1991. [44] Lano K. Refinement in object-oriented specification languages. En D. Till. Editor, 6th
[12] Milner R. The polyadic p-calculus: A tutorial. En M. Broy, editor, Logic and Refinement Worshop. Springer-Verlag, 1994.
Algebra of Specification, 1992. [45] Atkinson W. D. et al, Modal action logic for the specification and validation of safety.
[13] May D. Use of formal methods by silicon manufacturer. En C. A. R. Hoare, editor, En Mathematical Structures for Software Engineering. The Institute of
Developments in Concurrency and Communication, capítulo 4, págs. 107- Mathemtics and its Applications Conference Series 27, Clarendon Press,
129. Addison Wesley, 1990. 1991.
[14] Brinksma E. Information Processing Systems - Open Systems Interconnection - LO- [46] Hayes J. y Mahony B. A case study in timed refinement: A mine pump. IEEE
TOS - A formal descripción technique based on the temporal ordering of observation, Software, 18(9), Septiembre de 1992.
ISO 8807, 1988. [47] Durr E. y Dusink E. The role of VDM++ in the development of a real-time
[15] Goguen J. y Diaconescu R. Towards an algebraic semantics for the object paradigm. tracking and tracing system. En J. Woodcock and P. Larsen, Editors, FME93
En Harmut Ehrig and Fernando Orejas Editors, Recent Trends in Data Lecture Notes in Computer Science. Springer Verlag, 1993.
Type Specification. Srpinger-Verlag Lecture Notes in Computer Science, [48] Lano K. Reactive system specification and refinement. En TAPSOFT95, Volume
785, 1994. 915 of Lecture Notes in Computer Science. Springer-Verlag, 1995.
[16] George C. et al. The RAISE specification language. Prentice Hall, 1992. [49] Ponder C. y Bush B. Polymorphism considered harmful. ACM Sigplan Notices,
[17] Carrington D., et al. Object-Z: An object oriented extension to Z, En Formal 27(6), Junio de 1992.
Description Techniques, II (FORTE89), págs 281-196. North-Holland, 1990. [50] Wide N. y Huit R. Maintenance support for object-oriented programs. En Proceedings
[18] Durr E. y Katwinjk J. VDM++: a formal specification language for object-oriented of Conference on Software Maintenance. IEEE Computer Society Press,
design. En TOOLS Europe92 págs: 63-77, 1992. 1991.
[19] Cook S. y Daniels J. Designing Object Systems: object-oriented modelling with Syntropy. [51] Hogg J. Islands: Aliasing protection in object-oriented languages. En OOSPLA91
Prentice Hall, 1994. Proceedings. Springer-Verlag, 1991.
[20] Coleman D. et al. Object oriented development: The Fusion method. Prentice Hall - [52] Smith G. A logic for object-Z. En Z User Meeting95. Lecture Notes in
object-oriented series, 1994. Computer Science. Springer-Verlag, 1995.
[21] Alencar A. J. y Goguen J. A. OOZE: An object-oriented Z environment. En P. [53] Lin T. A formal semantics for MooZ, PhD Thesis. Technical Reports, DI/UFPE,
America, editor, ECOOP91 Proceedings, volumen 512 de Lecture Notes Recife/PE, Brazil, 1994.
in Computer Science, págs. 180-199. Springer-Verlag. Julio de 1991. [54] Hennesy M. Algebraic theory of processes. The MIT Press, 1988.
[22] Hoare C. Communicating sequential processes. Prentice Hall, 1985. [55] Malcom G. y Goguen J. Proving correctness of refinement and implementation.
[23] Jones C. An object-based design method for concurrent programs. Technical Reports Technical monograph PRG-114, Programming Resarch Group, Oxford,
UMCS-92-12-1, Department of Computer Science, University of University, 1994.
Manchester, 1992. [56] Maung I. et al. Towards a formatization of programming by difference. En FME94
[24] Moreira A. M. D. y Clark R. G. Combining object-oriented analysis and formal Proceedings. Springer-Verlag, 1994.
description techniques. En M. Tokoro and R. Pareschi, editors, 8th European [57] Wieringa R. et at. Roles and dynamic subclasses: a modal logic approach. En
Conference on Object-Oriented Programming: ECCOP94, LNCS 821, págs. ECCOP94 Proceedings. Springer-Verlag, 1994]
344-364. Springer-Verlag, Julio de 1994. [58] Cook W. y Palsberg J. A. A denotational semantics of inheritance and its correctness.
[25] Houston I. Formal specification of the OMG Core Object Model. Technical Report Proceedings of International Confeence on Object-oriented programming,
IBM UK, Hursely Park, 1994. systems and languages, 24(10): 433-443. Special Issue of SIGPLAN Noteces,
[26] Semmens L. et al. Integrated structured analysis and formal specification techniques. 1989.
The Computer Journal, 35(6), 1992. [59] Hense A. Denotational semantics of an object-oriented language with explicit wrapper.
[27] Austin S. y Parkin G. I. Formal methods: a survey. Technical report, National Physical BCS Formals Aspects of Computing, 5:181-207, 1993.
Laboratory, Queens Road, Tedington, Middlesex, TW11 OLW, Marzo de [60] Abadi M. y Cardelli L. An imperative object calculus. En P.D. Mosses, M. Nielsen,
1993. y M. I. editores, TAPSOFT95, volumen 915 de Lecture Notes in Computer
[28] Lano K. y Haughton H. Object-oriented specification case studies. Prentice Hall, Science. Springer-Verlag, Mayo de 1995.
first edition, 1993. [61] Liskov B. Data abstraction and hierarchy. En OOSPLA87 (Addendum to
[29] Rumbaugh J. et al. Object-oriented modelling and design. Prentice-Hall, 1991. proceedings): ACM SIGPLAN Notices, 23(5): 17-34, Mayo de 1988.
[30] Fiadeiro J. y Maibaum P. Towards object calculi. Technical Report, Imperial [62] Liskov B. y Wing J. Family values: A behavioral notion of subtyping. Technical
College, 1991. Report CMU-CS-93-187, School of Computer Science Carnegie Mellon
[31] LeBlanc P. VENUS User manual combined use of OMT and VDM++. Technical University, 1993.
Report afro/verilog/plb/um/v2,3, Verilog, 1995. [63] Thomas M. y Kirkwood C. Experiences with specification and verification in LO-
[32] Barroca L. M. et al. The architectural specification of an avionic subsystem. En IEEE TOS. En Industrial-Strength Formal Specification Techniques. IEEE Press,
Workshop on industrial-trength formal specification techniques, págs. 17- 1995.
29. IEEE Press, 1995. [64] Lin T. Complete inference systems for weak bisimulation equivalences in the p-calculus.
[33] Booch G. y Bryan D. Software Engineering inb Ada, cuarta edición. Benjamin/ En TAPSOFT95, volume 915 of Lecture Notes in Computer Science.
Cummings, 1994. Springer-Verlag, Mayo de 1995.
[34] Sampaio A. y Meria S. Modular extensions to Z. En VDM and Z, volume 428 [65] America P. Pool-t: a parallel object oriented language. En Object Oriented Concu-
of Lecture Notes in Computer Science. Springer-Verlag, 1990. rrente Programming. MIT Press, 1987.
[35] Iachini P. y Giovanni R. HOOD and Z for the development of complex software [66] Atkinson C. Object Oriented Reuse, Concurrency and Distribution, ACM Press:
systems. En VDM and Z VDM 90, volumen 428 de Lecture Notes in Computer Addison Wesley, 1991.
Science, págs. 262-289. Springer-Verlag, 1990. [67] Goldberg A. y Robson D. Smalltalk-80: The language and its implementation.
[36] Haugton H. y Lano K. B Abstract machine notation: a reference manual. Mc Addison Wesley, 1983.
Graw Hill, 1995.
[37] Bowen J. y Stavridou V. Safety-critical systems, formal methods and standars. Soft-
ware Engineering 1993.
[38] Hall A. Specificying and interpreting class hierarchies in Z. En 8th Z User Meeting, José Nelson Pérez Castillo
Workshop in Computing, Springer-Verlag, 1994. Profesor Universidad Distrital Francisco José de Caldas
[39] Cusack E. Object-oriented modelling in Z. En P. America, editor, ECOOP91 Investigador Centro de las Telecomunicaciones CINTEL.
Proceedings, Lecture Notes in Computer Science. Springer Verlag, 1991. Ingeniero de sitemas y Magister en Teleinformática de la UD.
[40] Lano K. Z++, an object oriented extension to Z. In J. Nicholls, editor, Z User Especialista en Sistemas de Información Geográfica, Teledetección y Cartogra-
Meeting, Oxford, UK Workshops in Computing. Springer-Verlag, 1991.
fía, Universidad de Alcalá de Henares, España
[41] Meira S. R. L. y Cavalcanti A. L. C. Modular object-oriented Z specifications. En Z
Doctor en Informática, Universidad de Oviedo, España.
User Meeting 1990, Workshops in Computing, págs 173-192. Springer-Verlag,
1991. e-mail: jonepe@cc-net.net
18
Ingeniería