A refinement calculus for software components and architectures

The complexity and ubiquity achieved by software in the present world makes it imperative, more than ever, the availability of both technologies and sound methods to drive its development. Programming 'in--the--large', component--based programming and software architecture are popular expressions which embody this concern and correspond to driving forces in current software engineering. In such a context, this paper reports on the research, which constitutes the PhD project of the author, on a formal calculus for reasoning about and transforming component--based architectures.

[1]  Roland Carl Backhouse,et al.  Elements of a Relational Theory of Datatypes , 1993, Formal Program Development.

[2]  Bernhard Rumpe,et al.  Refinement of Pipe-and-Filter Architectures , 1999, World Congress on Formal Methods.

[3]  David Garlan,et al.  Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events , 2003, SFM.

[4]  Xiaolei Qian,et al.  Correctness and composition of software architectures , 1994, SIGSOFT '94.

[5]  Sun Meng,et al.  On semantics and refinement of UML statecharts: a coalgebraic view , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[6]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[7]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[8]  Erik Poll,et al.  Algebra of Programming by Richard Bird and Oege de Moor, Prentice Hall, 1996 (dated 1997). , 1999 .

[9]  Bernhard K. Aichernig,et al.  A Coalgebraic Semantic Framework for Component-based Development in UML , 2004, CTCS.

[10]  Emil Sekerinski,et al.  Class Refinement and Interface Refinement in Object-Oriented Programs , 1997, FME.

[11]  Luís Soares Barbosa,et al.  A Relational Model for Component Interconnection , 2004, J. Univers. Comput. Sci..

[12]  Roland Carl Backhouse,et al.  Generic Programming: An Introduction , 1998, Advanced Functional Programming.

[13]  Eerke Albert Boiten,et al.  Refinement in Z and Object-Z: Foundations and Advanced Applications , 2001 .

[14]  Cliff B. Jones,et al.  Accommodating interference in the formal design of concurrent object-based programs , 1996, Formal Methods Syst. Des..

[15]  B. Jacobs,et al.  A tutorial on (co)algebras and (co)induction , 1997 .

[16]  Sun Meng,et al.  On Refinement of Generic State-Based Software Components , 2004, AMAST.

[17]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[18]  Luís Soares Barbosa,et al.  Components as Processes: An Exercise in Coalgebraic Modeling , 2000, FMOODS.

[19]  Luís Soares Barbosa,et al.  Towards a relational model for component interconnection , 2004 .

[20]  Jan J. M. M. Rutten,et al.  Universal coalgebra: a theory of systems , 2000, Theor. Comput. Sci..

[21]  C. A. R. Hoare,et al.  Proof of correctness of data representations , 1972, Acta Informatica.

[22]  Willem-Paul de Roever,et al.  Data Refinement: Theory , 1998 .

[23]  Luís Soares Barbosa Towards a Calculus of State-based Software Components , 2003, J. Univers. Comput. Sci..

[24]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

[25]  Erik Meijer Server side web scripting in Haskell , 2000, J. Funct. Program..

[26]  Manfred Broy Compositional refinement of interactive systems , 1997, JACM.

[27]  Richard S. Bird,et al.  Algebra of programming , 1997, Prentice Hall International series in computer science.

[28]  Farhad Arbab,et al.  A Coinductive Calculus of Component Connectors , 2002, WADT.

[29]  Willem-Paul de Roever,et al.  Data Refinement by Willem-Paul de Roever , 1998 .

[30]  Farhad Arbab,et al.  Abstract Behavior Types: a foundation model for components and their composition , 2002, Sci. Comput. Program..

[31]  José Nuno Oliveira,et al.  State-based Components Made Generic , 2003, CMCS.

[32]  Nazareno Aguirre,et al.  A Logical Basis for the Specification of Reconfigurable Component-Based Systems , 2003, FASE.

[33]  Luís Soares Barbosa,et al.  Specifying Software Connectors , 2004, ICTAC.

[34]  Joseph A. Goguen,et al.  Parameterized programming and software architecture , 1996, Proceedings of Fourth IEEE International Conference on Software Reuse.

[35]  Manfred Broy (Inter-)Action Refinement: The Easy Way , 1992, NATO ASI PDC.

[36]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[37]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.