Abstract
Not only system assurance drives a need for semantically richer relationships across various artifacts, work products, and items of information than are implied in the terms “trace and traceability” as used in current standards and textbooks. This paper deals with the task of working out artifacts in software and system development, their representation, and the analysis and documentation of the relationships between their logical contents—herein referred to as tracing and traceability; this is a richer meaning of traceability than in standards like IEEE STD 830. Among others, key tasks in system development are as follows: capturing, analyzing, and documenting system-level requirements, the step to functional system specifications, the step to architectures given by the decomposition of systems into subsystems with their connections and behavioral interactions. Each of these steps produces artifacts for documenting the development, as a basis for a specification and a design rationale, for documentation, for verification, and impact analysis of change requests. Crucial questions are how to represent and formalize the content of these artifacts and how to relate their content to support, in particular, system assurance. When designing multi-functional systems, key artifacts are system-level requirements, functional specifications, and architectures in terms of their subsystem specifications. Links and traces between these artifacts are introduced to relate their contents. Traceability has the goal to relate artifacts. It is required for instance in standards for functional system safety such as the ISO 26262. An approach to specifying semantic relationships is shown, such that the activity of creating and using (navigating through) these relationships can be supported with automation.
Similar content being viewed by others
References
Booch, G., Rumbaugh, J., Jacobson, I.: Unified Modeling Language User Guide, vol. 2. Addison-Wesley, Boston (2005)
Broy, M.: Modelling services and layered architectures. In: König H., Heiner M., Wolisz A. (eds.) Formal Techniques for Networked and Distributed Systems, Lecture Notes in Computer Science 2767, Berlin (2003)
Broy, M.: Model-driven architecture-centric engineering of (embedded) software intensive systems: modelling theories and architectural milestones. Innov. Syst. Softw. Eng. 3(1), 75–102 (2007)
Broy, M.: Multifunctional software systems: structured modeling and specification of functional requirements. Sci. Comput. Program. 75(12), 1193–1214 (2010)
Broy, M.: A logical basis for component-oriented software and systems engineering. Comput. J. 53(10), 1758–1782 (2010)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, Berlin (2001)
Broy, M., Krüger, I., Meisinger, M.: A formal model of services. TOSEM ACM Trans. Softw. Eng. Methodol. 16, 1 (2007)
Calder, M., Magill, E.: Feature interactions in telecommunications and software systems. In: 6th International Workshop on Feature Interactions in Telecommunications and Software Ststems. IOS Press (2000)
Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond—The SEI Series in Software Engineering. Addison Wesley, Boston (2002)
Craig, W.: Three uses of the Herbrand–Gentzen theorem in relating model theory and proof theory. J. Symb. Logic 22(3), 269–285 (1957)
Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. OMG Press, Needham (2008)
Hehner, E.C.R.: Predicative programming, part I. Commun. ACM 27(2), 134–143 (1984)
Hehner, E.C.R.: Predicative programming, part II. Commun. ACM 27(2), 144–151 (1984)
Hoare, C.A.R., Hanna, F.K.: Programs are predicates [and discussion]. Phil. Trans. R. Soc. Lond. A 312(1522), 475–489 (1984)
IEEE Recommended Practice for Software Requirements Specifications (IEEE Std 830-1998, Revision of IEEE Std 830-1993)
Parnas, D.: On the criteria to be used to decompose systems into modules. Commun. ACM 15, 1053–1058 (1972)
Quine, W.V.: The problem of simplifying truth tables. Am. Math. Mon. 59(8), 521–531 (1952)
Sanford, D.H.: Independent predicates. Am. Philos. Q. 18(2), 171–174 (1981)
Schätz, B.: Building components from functions. In: Electronic Notes in Theoretical Computer Science. Proceedings of the International Workshop on Formal Aspects of Component Software FACS, Vol. 160 (2005)
Acknowledgements
It is a pleasure to thank Tobias Nipkow for useful discussions. Alarico Campetelli, Sebastian Eder, Maximilian Junker, and Mario Gleirscher gave valuable hints on draft versions of this text. I am, in particular, grateful to Sushil Birla for a number of clarifying remarks on earlier versions of this paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Bernhard Rumpe.
Rights and permissions
About this article
Cite this article
Broy, M. A logical approach to systems engineering artifacts: semantic relationships and dependencies beyond traceability—from requirements to functional and architectural views. Softw Syst Model 17, 365–393 (2018). https://doi.org/10.1007/s10270-017-0619-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-017-0619-4