Compatibility and inheritance in software architectures

被引:61
作者
Canal, C [1 ]
Pimentel, E [1 ]
Troya, JM [1 ]
机构
[1] Univ Malaga, Dept Lenguajes & Ciencias Computac, E-29071 Malaga, Spain
关键词
theory of concurrency; process calculi; pi-calculus; software architecture; compatibility and inheritance of behavior;
D O I
10.1016/S0167-6423(01)00002-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The application of formal methods to the development of software depends on the availability of adequate models and formalisms for each of the stages of the development process. In this work, we focus on the level of design called Software Architecture. At this level, the system is described as a collection of interrelated components, and it is here where the properties derived from the system's structure can be naturally analyzed. Our approach uses process algebras as a formal basis for the description and analysis of software architectures. Process algebras are widely accepted for the specification of software systems. In particular, pi -calculus addresses the description of systems with a dynamic or evolving topology, and permits their analysis for bisimilarity and other interesting properties. Though bisimilarity determines the equivalence of behavior, more flexible relations are needed in the context of Software Engineering, in order to support formally the notions of conformance and refinement of behavior. In this paper we present a relation of compatibility in the context of pi -calculus which formalizes the notion of conformance of behavior between software components. Our approach is enhanced with the definition of a relation of inheritance among processes. This relation preserves compatibility and indicates whether a process can be considered as a specialization or extension of another one. The suitability of our approach is shown by its application to the field of Software Architecture. (C) 2001 Elsevier Science B.V. All rights reserved.
引用
收藏
页码:105 / 138
页数:34
相关论文
共 35 条
[1]  
ABOWD G, 1993, ACM FDN SOFTWARE ENG
[2]   TERMINATION, DEADLOCK, AND DIVERGENCE [J].
ACETO, L ;
HENNESSY, M .
JOURNAL OF THE ACM, 1992, 39 (01) :147-187
[3]   ADDING ACTION REFINEMENT TO A FINITE PROCESS ALGEBRA [J].
ACETO, L ;
HENNESSY, M .
INFORMATION AND COMPUTATION, 1994, 115 (02) :179-247
[4]  
Allen R., 1997, ACM Transactions on Software Engineering and Methodology, V6, P213, DOI 10.1145/258077.258078
[5]  
ALLEN R, 1994, PROC INT CONF SOFTW, P71, DOI 10.1109/ICSE.1994.296767
[6]  
ALLEN R, 1998, ETAPS98 LISB PORT
[7]  
BERGSTRA JA, 1998, SCI COMPUT PROGRAM, V31, P179
[8]  
BOUDOL G, 1987, NATO ASI SERIES, V13
[9]   Extending CORBA interfaces with π-calculus for protocol compatibility [J].
Canal, C ;
Fuentes, L ;
Troya, JM ;
Vallecillo, A .
TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES - TOOLS 33, PROCEEDINGS, 2000, :208-225
[10]  
Canal C, 1999, INT FED INFO PROC, V12, P107