Abstract
Today, many software systems offer a multitude of different, user-observable functions, which in their entirety form the very complex overall system’s functionality. However, practical experience shows that many question are directly related to the user-observable sub-functions. Regarding the development process, this requires to relate the entire system’s functionality to its sub-functions in a formal way. In this context, decomposing and modeling the functionality in a structured way is essential. In this paper, we identify and define fundamental concepts for the structuring of a system’s functionality into modular parts. We formalize these concepts using Focus, a stream-based theory for the specification of reactive systems. In particular, we define the notion of self-contained, autonomous sub-functions and introduce a canonical decomposition of functionality, inherent to the structure and nature of the functionality. Subsequently, we discuss topics of methodology that guide a modular functional decomposition. All in all, this gives a modular structuring concept for the behavior of multi-functional systems.
This paper is available in a much more detailed version as the Technical Report [5].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Broy, M.: Two sides of structuring multi-functional software systems: Function hierarchy and component architecture. In: Kim, H.-K., et al. (eds.) SERA 2007, pp. 3–10. IEEE Computer Society, Los Alamitos (2007)
Broy, M., Krüger, I., Meisinger, M.: A formal model of services. ACM Transactions on Software Engineering Methodology (TOSEM) 16(1) (2007)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems - Focus on Streams, Interfaces and Refinement. Springer, New York (2001)
Dijkstra, E.W.: Ch. I: Notes on structured programming. Academic Press, London (1972)
Gruler, A., Meisinger, M.: Hierarchical decomposition of multi-functional systems. Technical Report TUM-I0901, Technische Universität München (2009)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gruler, A., Meisinger, M. (2010). Fundamental Concepts for the Structuring of Functionality into Modular Parts. In: Arbab, F., Sirjani, M. (eds) Fundamentals of Software Engineering. FSEN 2009. Lecture Notes in Computer Science, vol 5961. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11623-0_30
Download citation
DOI: https://doi.org/10.1007/978-3-642-11623-0_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11622-3
Online ISBN: 978-3-642-11623-0
eBook Packages: Computer ScienceComputer Science (R0)