Title :
Architecting software with interface objects
Author :
Ran, Alexander ; Xu, Jianli
Author_Institution :
Software Technol. Lab., Nokia Res. Center, Espoo, Finland
Abstract :
One of the main concerns of software architects is managing the complexity that is inherent in the development and evolution of large software by minimising and isolating dependencies between different parts into concise descriptions of their interfaces. Possible grouping, ordering or other relations and constraints between the interface elements themselves or with the intended user appear as informal comments or are left unspecified. We have developed a model for structuring and describing interfaces that is suitable for complex software components. In each interaction domain, we use interface objects for hierarchical groupings of interface elements related to the specific function or role played by the component in its interactions with other components. When components are aggregated into composite components, their interface objects may be aggregated in a similar way into composite interface objects. The state of an interface object allows one to specify the conditional availability of its interface elements. Nonuniform visibility of interface elements to different collaborators may be achieved by alternative groupings of interface elements and by selective visibility of interface objects. Interface objects isolate and open a part of the component implementation that is relevant for understanding the interactions of the component, and they thus serve as precise descriptions of its interfaces. An important principle of our approach was to address these problems without introducing new tools or languages, in order to make the approach immediately useful for software engineers working on product development
Keywords :
software engineering; subroutines; complex software components; component interactions; conditional availability; dependencies; hierarchical groupings; informal comments; interaction domain; interface elements; interface objects; large-scale software complexity; nonuniform visibility; product development; software architecture; software engineering; Collaboration; Isolation technology; Laboratories; Product development; Radio access networks; Research and development management; Software architecture; Software development management; Software tools; Technology management;
Conference_Titel :
Computer Systems and Software Engineering, 1997., Proceedings of the Eighth Israeli Conference on
Conference_Location :
Herzliya
Print_ISBN :
0-8186-8135-7
DOI :
10.1109/ICCSSE.1997.599873