Formal Refinement of Software Architectures Based on Rewriting Logic

As the end-users’ expectations increase, software systems grow in size and complexity. To avoid design errors that are expensive when detected during the implementation phase, a high level model of the system is needed, i.e. the software architecture. Any architectural design is aiming to produce an executable software, but the manual application code generation may introduce errors. However, a few software architecture description languages propose refinement mechanisms leading from an abstract architectural specification to a more complete, more detailed description of the system. This paper presents a new and formal approach of architecture refinement facilitating software development, using transformation patterns based on rewriting logic.

[1]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[2]  T. Bolusset,et al.  Description d'architectures logicielles dynamiques : Langage formel et applications industrielles , 2000 .

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

[4]  Michael J. Butler,et al.  csp2B: A Practical Approach to Combining CSP and B , 1999, Formal Aspects of Computing.

[5]  Richard Banach,et al.  Retrenchment: An Engineering Variation on Refinement , 1998, B.

[6]  Steve A. Schneider,et al.  Using a Process Algebra to Control B Operations , 1999, IFM.

[7]  Flávio Oquendo,et al.  /spl pi/-SPACE: a formal architecture description language based on process algebra for evolving software systems , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[8]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[9]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[10]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[11]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[12]  J. Meseguer Research Directions in Rewriting Logic , 1999 .

[13]  David S. Munro,et al.  Collaboration and composition: issues for a second generation process language , 1999, ESEC/FSE-7.