Evolving communications software: techniques and technologies
William F. Opdyke, A. Pakštas · IEEE Communications Magazine · 2001
his fcature topic prcsents recent experience in techT niques and technologies for evolving communications software. Our intended audicncc is the community of software cngineers involved in constructing communications software systems and the community of decision-makcrs who nced to understand such systems. Nearly all communications software and distributed application projects have a significant legacy component, whether in cvolving an existing product, leveraging existing components to speed the development of new products, or (minimally) supporting existing protocols and intcrfaces. Even for the most innovative/leading edge products, building on Internet timelines rarely allows for building all of the functionality “from scratch.” This topic has long been recognized as important [l, 21, but covcrage in the literature has been limited. Software evolution concerns have been addressed somewhat in the softw are engine er i n g , software con f i g u r a t i o n man age m e n t , object-oricntcd, and pattern languages literature, but often thc literature has focused on “fresh start” projects, which are the exception rather than the norm in the communications industry. Some of these issues have been the subject of panels and workshops at Object-Oriented Programming, Systcms, Languages, and Applications (OOI’SLA) conferences, and Pattern Languages of Program Design (PLOP) and related patterns conferences, as well as at Business Applications Sessions at IEEE ICC ’98 and GLOBBCOM ’99 [3]. Tclccom industry staff have been significant participants in these fora. There are ranges of issucs, somc technical and some organizational, that are key leverage points and need to be further discussed. We believe that industry practitioncrs may benefit from discussion of the following topics: 9 The fundamental problems that make it difficult to evolve software Tools and methodologies for evolving communications softwarc Descriptions of cases when communication-rclated software was evolved using various techniques such as design patterns Among the key challenges in evolving communications software (discussed in this feature topic) are: New proposed changes to communications software are