Fundamental concepts for the structuring of functionality into modular parts

  • Authors:
  • Alexander Gruler;Michael Meisinger

  • Affiliations:
  • Institut für Informatik, Technische Universität München, Germany;Calit2, University of California, San Diego

  • Venue:
  • FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.