Abstract
This paper presents an approach to the problem of documenting the design of a network of components and verifying that its structure is complete and consistent, (i.e., that the components, functioning together, will satisfy the requirements of the complete product), before the components are implemented. Our approach differs from others in that both hardware and software components are viewed as hardware-like devices in which an output value can change instantaneously when input values change and all components operate synchronously rather than in sequence.We define what we mean by completeness and consistency and illustrate how the documents can be used to verify a design before it is implemented.
Similar content being viewed by others
References
Dijkstra E W. On the role of scientific thought. Selected Writings on Computing: A Personal Perspective. Published by Springer-Verlag, 1982, 60–66
Parnas D L. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 1972, 15(12): 1053–1058
Linger R C, Witt B I, Mills H D. Structured programming: Theory and Practice, The Systems Programming Series, 1st. Addison-Wesley Longman Publishing Co., Inc., 1979
Mills H D. The new math of computer programming. Communications of the ACM, 1975, 18(1): 43–48
D.L. Parnas J. Madey. Functional documents for computer systems. Science of Computer Programming (Elesevier), 1995
Heninger K. Specifying software requirements for complex systems: new techniques and their application. IEEE Transactions on Software Engineering, 1980, SE-6(0): 2–13
Heninger K, Kallander J, Parnas D L, Shore J. Software requirements for the A-7E aircraft, NRL Report 3876, 1978, 523
Parnas D L, Clements P C, Weiss D M. The modular structure of complex systems. IEEE Transactions on Software Engineering, 1985, 11(3): 259–266 (special issue on the 7th International Conference on Software Engineering). Also In: Proceedings of 7th International Conference on Software Engineering, March 1984, 408–417 Reprinted In: Peterson G E (ed.) IEEE Tutorial: “Object-Oriented Computing”, Vol. 2: Implementations. IEEE Computer Society Press, IEEE Catalog Number EH0264-2, 1987, 162–169 Reprinted as Chapter 16 in Ref. [7]
Parnas D L. The use of precise specifications in the development of software. In: Proceedings of IFIP Congress’ 77, North Holland Publishing Company, 1977, 861–867
Parnas D L. Some theorems we should prove. In: Joyce J J, Seger C-J H, eds. Higher Order Logic Theorem Proving and its Applications (6th International Workshop HUG’93), Vancouver, Canada, 1993, 155–162
Parnas D L, Dragomiroiu M. Component interface documentation-using the trace function method (TFM). SQRL paper Aug. 2006 version
Bharadwaj R. Heitmeyer C L. Verifying SCR requirements specifications using state exploration. In: Proceedings of 1st ACM SIGPLAN Workshop on Automatic Analysis of Software, 1997
Heimdahl M P E, Leveson N G. Completeness and consistency in hierarchical state-based requirements. IEEE Transactions on Software Engineering, 1996, 22(6): 363–377
Heitmeyer C, Labaw B G, Kiskis D. Consistency checking of SCR-style requirements specifications. In: Proceedings of Second IEEE International Symposium on Requirements Engineering, IEEE, New York, 1995, 56–63
Jin M. Table checking tool. Master Thesis, McMaster University, Hamilton, Canada, 2000
Parnas D L, Shore J E, Weiss D. Abstract types defined as classes of variables. In: Proceedings of conference on Data: Abstraction, Definition, and Structure, Salt Lake City, 1976. Reprinted in NRL Memorandum Report 7998, 1976
Zhang J. Search techniques for testing formal specifications. In: Proceedings of 10th Int. Conference on. Software Engineering and Knowledge Engineering, California, USA, 1998
Baber R, Parnas D L, Vilkomir S, Harrison P, O’Connor T. Disciplined methods of software specifications: A case study. In: Proceedings of the International Conference on Information Technology Coding and Computing (ITCC 2005), Las Vegas, NV, USA, IEEE Computer Society, April, 2005
Quinn C, Vilkomir S A, Parnas D L, Kostic S. Specification of software component requirements using the trace function method. In: Proceedings of the International Conference on Software Engineering Advances (ICSEA 2006), Tahiti, French Polynesia, 2006
Wei O. Preliminary requirements checking tool, Master Thesis, McMaster University, Hamilton, Canada, 2001
DeRemer F, Kron H. Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering, 1976, SE-2(2): 80–86
Prieto-Diaz R, Neighbors J M. Module interconnection languages. Journal of Systems and Software, 1986, 6(4): 307–334
Tichy W F. Software development control based on module interconnection. In: Proceedings of the 4th IEEE International Conference on Software Engineering, 1979
Allen R, Garlan D. A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, 1997, 6(3): 213–249
Garlan D, Shaw M. An introduction to software architecture. Advances in Software Engineering and Knowledge Engineering, 1993
Medvidovic N, Taylor R N. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 2000, 26(1): 70–93
Broy M, Denert E, eds. Software Pioneers, Contributions to Software Engineering, Springer, 2002, 728
Parnas D L. A technique for software module specification with examples. Communications of the ACM, 1972, 15(5): 330–336
Bartussek W, Parnas D L. Using assertions about traces to write abstract specifications for software modules, UNC Report No. TR77-012, Dec. 1977
Parnas D L, Wang Y. Simulating the behaviour of software modules by trace rewriting systems. IEEE Transactions on Software Engineering, 1994, 19(10): 750–759
Wang Y. Specifying and simulating the externally observable behaviour of modules. Doctoral Thesis, McMaster University, Hamilton, Canada, 1994
Parnas D L. On simulating networks of parallel processes in which simultaneous events may occur. Communications of the ACM, 1969, 12(9): 519–531
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Liu, Z., Parnas, D.L. & y Widemann, B.T. Documenting and verifying systems assembled from components. Front. Comput. Sci. China 4, 151–161 (2010). https://doi.org/10.1007/s11704-010-0026-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-010-0026-2