Abstract
The architecture of a system expresses the structural aspects of the system — the modules, the control structure, communication design, sharing of data and composition of modules. The architecture of a complex software system is a significant issue in the proper design, analysis and possibility of reuse of the software system.
This paper describes how the architecture of an Ada program may be extracted at run time and tested for conformance against a reference architecture in a language called RAPIDE. The conformance testing of Ada program architectures facilitates design, analysis and reuse of Ada programs since architecture based design, analysis and reuse techniques can now be applied to the program.
The paper first gives rules for testing conformance of Ada programs to RAPIDE architectures. The paper then defines a language called RAPIDE-ADA that instruments Ada programs to produce events at run time. The events are tested for conformance against a RAPIDE reference architecture by application of the rules for testing conformance.
Preview
Unable to display preview. Download preview PDF.
References
R. Allen and D. Garlan. Formalizing architectural connection. In Proceedings of ICSE, May 1994.
Doug Bryan. Rapide-0.2 language and tool-set overview. Technical Note CSL-TN-92-387, Computer Systems Lab, Stanford University, February 1992.
P. Clements, L. Bass, R. Kazman, and G. Abowd. Predicting software quality by architecture-level evaluation. In Proceedings of the 6th International Conference on Software Quality, October 1995.
Margaret A. Ellis and Bjarne Stroustrup. The Annotated C++ Reference Manual. Addison-Wesley, 1990.
D. Garlan, R. Allen, and J. Ockerbloom. Architectural mismatch: Why reuse is so hard. IEEE Software, November 1995.
D. Garlan and D. E. Perry. Introduction to special issue on software architecture. IEEE Transactions on Software Engineering, April 1995.
The Object Management Group. The Common Object Request Broker: Architecture and Specification. The Object Management Group, revision 1.1 edition, December 1991.
D. Garlan and M. Shaw. An Introduction to Software Architecture, volume I. World Scientific Publishing Company, 1993.
D. P. Helmbold and D. C. Luckham. TSL: Task sequencing language. In Ada in Use: Proceedings of the Ada International Conference, pages 255–274. Cambridge University Press, May 1985.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
David C. Luckham, John J. Kenney, Larry M. Augustin, James Vera, Doug Bryan, and Walter Mann. Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 21(4):336–355, April 1995.
David C. Luckham, James Vera, Doug Bryan, Larry Augustin, and Frank Belz. Partial orderings of event sets and their application to prototyping concurrent, timed systems. Journal of Systems and Software, 21(3):253–265, June 1993.
David C. Luckham, James Vera, and Sigurd Meldal. Three concepts of system architecture. To be published, 1995.
Mary Shaw and David Garlan. Characteristics of higher-level languages for software architecture. Technical Report CMU-CS-94-210, CMU, December 1994.
Rapide Design Team. The Rapide-1 Specification Language Reference Manual. Program Analysis and Verification Group, Computer Systems Lab., Stanford University, version 1 edition, October 1995.
James Vera, Alex Santoro, and Moataz Mohamed. Raptor — The Rapide Animator. Stanford University, Computer Systems Lab ERL 456, Stanford, CA 94305-4055, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Madhav, N. (1996). Testing Ada 95 programs for conformance to rapide architectures. In: Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe '96. Ada-Europe 1996. Lecture Notes in Computer Science, vol 1088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013483
Download citation
DOI: https://doi.org/10.1007/BFb0013483
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61317-6
Online ISBN: 978-3-540-68457-2
eBook Packages: Springer Book Archive