Analyzing Software Architecture Based on Statechart Semantics

  • Marcio Dias University of California
  • Marlon Vieira University of California
  • Debra Richardson University of California

Resumo


High assurance architecture-based and component-based software development relies fundamentally on the quality of the components of which a system is composed and their configuration. Analysis over those components and their integration as a system plays a key role in the software development process. This paper describes an approach to develop and assess architecture and component-based systems based on specifying software architecture augmented by statecharts representing component behavioral specifications. The approach is applied for the C2 style and associated ADL and is supported within a quality-focused environment, called Argus-I, which assist specification-based analysis and testing at both the component and architecture levels.

Referências

R. J. Allen, A Formal Approach to Software Architecture, Ph.D. Thesis. Carnegie Mellon University, Technical Report Number: CMU-CS-97-144, May 1997.

R. J. Allen, R. Douence, and D. Garlan, Specifying and Analyzing Dynamic Software Architectures. In Proceedings of Conference on Fundamental Approaches to Software Engineering, Lisbon, Portugal, March 1998

D. Giannakopoulou, Model Checking for Concurrent Software Architectures, PhD thesis, Department of Computing, Imperial College, 1998

Failures Divergence Refinement: User Manual and Tutorial. Formal Systems (Europe) Ltd., Oxford, England, 1.3 edition, August 1993.

D. Garlan, R. Monroe, D. Wile, Acme: An Architecture Description Interchange Language. In Proceeding of CASCON'97, November, 1997

D. Harel, A. Pnueli, J.P. Schmidt, and R. Sherman, On the formal semantics of statecharts. In Proceedings of the 2nd IEEE Symposium on Logic in Computer Science, pages 54-64, Ithaca, New York, June 1987.

G. J. Holzmann, The Model Checker Spin. IEEE Trans.on Software Engineering, 23(5): 279-295, May 1997.

D. C. Luckham, J. Vera, An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering, Vol 21, No 9, pp.717-734. Sep. 1995

D. C. Luckham, J. J. Kenney, L. M. Augustine, J. Vera, D. Bryan, and W. Mann, Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering, 21(4):336-355, April 1995.

J. Magee, N. Dulay, S. Eisenbach, and J. Kramer, Specifying Distributed Software Architecture, in Proc. Of the 5th European Software Engineering Conference (ESEC'95), Sitges, Spain, September 1995. Lecture Notes in Computer Science 989, pp. 137-153. W. Schäfer and P. Botella, Eds.

N. Medvidovic and R. N. Taylor, A Framework for Classifying and Comparing Architecture Description Languages. In Proceedings of the Sixth European Software Engineering Conference together with the Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 97), pp. 60-76, Zurich, Switzerland, September 22-25, 1997.

N. Medvidovic, Architecture-Based Specification-Time Software Evolution, PhD dissertation, Information and Computer Science, University of California, Irvine, 1999

N. Medvidovic, D. Rosenblum, and R. Taylor, A Language and Environment for Architecture-Based Software Development and Evolution: Proceedings of 21st International Conference on Software Engineering, Los Angeles, CA, May 1999.

E. Mikk, Y. Lakhnech, M. Siegel, G. J. Holzmann, Implementing Statecharts in Promela/Spin, In The Proceedings of Wift'98 Workshop, 1998.

OMG Unified Modeling Language Specification (draft), Version1.3 alphaR2, January 1999 http://www.rational.com/uml/resources/documentation

D. E. Perry and A. L. Wolf, Foundations for the Study of Software Architecture. ACM Software Engineering Notes, 17(4):40-52, October 1992.

J. E. Robbins and D. F. Redmiles, Cognitive Support, UML Adherence, and XMI Interchange in Argo/UML In Proceedings of The First International Symposium on Constructing Software Engineering Tools (CoSET'99), Los Angeles, CA, USA, May 1999.

J. E. Robbins, D. F. Redmiles, Cognitive Support, UML Adherence, and XMI Interchange in Argo/UML, Information and Software Technology, to appear, 2000

M. Shaw and P. Clements, Toward Boxology: Preliminary classification of architectural styles. In Proceedings of Second International Workshop of Software Architecture (ISAW-2), San Fransisco (CA) USA, October, 1996

M. Shaw, R. DeLine, D. V. Klein, T. L. Ross, D. M. Young, and G. Zelesnik, Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering, vol. 21, no. 4, pp. 314-335, April 1995.

J. A. Stafford, D. J. Richardson, and A. L. Wolf, Aladdin: A Tool for Architecture-Level Dependence Analysis of Software Systems. Technical Report CU-CS-858-98, Department of Computer Science, University of Colorado, April 1998.

S. Vestal, MetaH Programmer's Manual, Version 1.09.Technical Report, Honeywell Technology Center, April 1996.

M. Vieira, M. Dias, and D. J. Richardson, DAS-BOOT: Design- and Specification-Based Object-Oriented Testing http://www.ics.uci.edu/~rosatea/das-boot, 1999

M. Weiser, Program Slicing, IEEE Transactions on Software Engineering, SE-10(4):352-357, July 1984

M. Young, and R. Taylor, Rethinking the Taxonomy of Fault Detection Techniques, in Proceedings of the 11th International Conference on Software Engineering, pp. 53-62, Pittsburgh, PA, May 1989

D. Harel, "On Statecharts with Overlapping", ACM Transactions on Software Engineering & Methodology, October 1992, pages 399-421.

D. Harel, "The STATEMATE Semantics of Statecharts", ACM Transactions on Software Engineering & Methodology, October 1996, pages 293-333.

M. von der Beeck, "A Comparison of Statecharts Variants", 3rd International Symposium of Formal Techniques in Real-time & Fault-tolerant systems, September 1994.

J. Lilius and I. Porres, The Semantics of UML State Machines, TUCS Technical Report No. 273, May 1999.
Publicado
03/10/2001
DIAS, Marcio; VIEIRA, Marlon; RICHARDSON, Debra. Analyzing Software Architecture Based on Statechart Semantics. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 15. , 2001, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2001 . p. 116-131. DOI: https://doi.org/10.5753/sbes.2001.23984.