SOFTWARE ENGINEERING FOR CONNECTION SERVICES Pamela Zave AT&T Laboratories—Research Florham Park, New Jersey, USA
PART ONE: CONNECTION SERVICES AND THEIR SOFTWARE PROBLEMS
THE CONTEXT OF A CONNECTION SERVICE network domain with a connection- oriented protocol address in connection address space of domain connection request source = s is routed by client s t routing mechanism target = t of domain source = u source = y u v y z target = v target = z
A CONNECTION SERVICE . . . . . . ENHANCES BASIC CONNECTION PROTOCOLS, SO THEY ARE EASIER TO USE AND HAVE MORE VALUE FOR THEIR USERS connection service is implemented by servers all clients and servers use the connection protocol as peers!
CONNECTION SERVICES: EXAMPLES PURPOSE PRIMARY DATA OR MEDIA OF CONNECTIONS telecommunications voice, video, text automotive infotronics sensor data, actuator commands home network voice, music, video, data files entertainment distribution music, video telemonitoring voice, video, sensor data, actuator commands THE "NEW AGE" OF COMPUTING: mobile computing: devices are mobile whatever it is for, pervasive computing: devices are ubiquitous computing everywhere, embedded in the ubiquitous needs a connection environment computing service as a subsystem location-aware computing: devices know where they are and which other devices are close
CONNECTION SERVICES: SOME FUNCTIONS provide interoperation between provide directory lookup domains provide security find a correct endpoint for a connection automate administration handle failure to make a connection by storing, retrying, or retargeting maintain a history of network use handle interruption of an ongoing connection by buffering, retrying, or reconfiguring move an endpoint of a connection without disturbing the rest of it VERSIONS OF THESE FUNCTIONS build a multipoint connection from CAN BE FOUND IN CONNECTION point-to-point connections SERVICES FOR ALL PURPOSES bundle a set of connections adapt or filter the signals or data I WILL ILLUSTRATE THEM WITH transmitted through a connection TELECOMMUNICATION SERVICES (the primary purpose of which is real-time communication among people)
CONNECTION SERVICES: SOFTWARE PROBLEMS SOME SYMPTOMS SOME ADDITIONAL CAUSES few well-understood requirements immature technology little separation of concerns extremely rapid growth of between client services and networking resource allocation extreme emphasis on performance must be built on infrastructure that is not well-defined IETF standards are based on "general consensus and working software is complex, unreliable, code", not formal specifications! difficult to build, and difficult to modify decentralized authority quality of services is poor loss of lessons learned over time (although users may not complain, never having experienced anything better) THE PRIMARY CAUSE IS THAT for a more specialized, but more CONNECTION SERVICES ARE concrete, view . . . INHERENTLY DIFFICULT TO BUILD WELL . . . let's look at the problem of feature modularity and feature interaction in telecommunications
FEATURE MODULARITY FEATURE INTERACTION A FEATURE IS AN INCREMENT OF FEATURES INTERACT WHEN ONE FUNCTIONALITY WITH A COHERENT FEATURE MODIFIES OR INFLUENCES PURPOSE ANOTHER Voice Mail Call Waiting Do Not Disturb Locate Me FEATURE INTERACTIONS ARE VERY COMMON FEATURES . . . all features are modifying or are being added and changed enhancing the same basic service, continually which is real-time communication between people can be optional for each subscriber the number of interactions is can often be enabled/disabled exponential in the number of dynamically by their subscribers features FEATURES MUST BE MODULAR, FEATURE INTERACTIONS CAUSE WHICH MEANS THAT . . . MANY PROBLEMS a feature is an independent making features interact correctly implementation unit is difficult a feature works correctly feature interaction makes feature regardless of which other modularity difficult to achieve features are present/subscribed/ enabled
A BAD FEATURE INTERACTION: VOICE/PERSON CONFUSION Alice has a personal address A Alice will participate in a voice with a Locate Me feature conference at 2 p.m. Alice asks to be called at A Conference Locate Me Server A at 2 p.m. . . . Conference Server calls A Locate Me begins to search for Alice "please wait while I locate Alice the call is for you" answered "your voice conference is in (but not by progress. Please enter your PIN" Locate Me plays music a person) "your voice conference is in progress. Please enter your PIN" Conference Server disconnects
A BAD FEATURE INTERACTION: MULTIPLE TARGET ADDRESSES Alice calls the Sales feature Bob's cellphone number of a selects a is turned off sales group representative on duty Select Representative to Bob to Sales Sales call is answered by Voice Bob's voicemail Mail Bob the correct behavior is to select another sales representative
A BAD FEATURE INTERACTION: ABSENCE OF DUALITY mail mail user host agent source = Alice@host1 @host1 Alice @host1 target = Anon@remailer Bob@host2 wishes source = to be anonymous anony- Alice@host1 mail to Alice@host1 mous host remailer target = @host2 Bob@host2 contains features of Bob@host2, including an Autoresponse feature source = Bob@host2 "I'm on vacation" target = Alice@host1
A BAD FEATURE INTERACTION: INCONSISTENT AVAILABILITY if Bob dials Alice, he Mid-Call has Mid-Call Move, Move Alice and can use it to move B the conversation to his cellphone if Bob Clicks-to-Dial Alice from a Web-based mailbox, address book, Alice or call log, he does not have Mid-Call Move
A BAD FEATURE INTERACTION: LOST SIGNALS VoIP phone Alice calls Bob, does its own who has Add Callers tone generation Alice Add Callers Bob B Bob's phone ignores ringback signal, Bob attempts to add Carol because it is coming to the conversation "too late" and "in the wrong direction" Alice Add Callers Bob B Carol Bob thinks Add Callers is not working, aborts the attempt to add Carol
THE PAST: FEATURE INTERACTION IN THE Public Switched Telephone Network (PSTN) in the 1960s, telephone switches became computer-controlled, making features possible the effect of feature interaction on Lucent's 5ESS switch: in the 1970s, feature interaction was programmer productivity: recognized as a serious problem 1 line of code per meeting auditing (which cleans up since the early 1980s, there has been inconsistencies by dropping extensive research on the problem, with calls) is 1/3 of the code; relatively little success without it, MTBF falls from 2-3 years to 2-3 hours there is widespread agreement that testing cannot solve the problem, because . . . . . . there are too many cases . . . testing does not predict potential interactions, distinguish good interactions from bad ones, or provide software modularity
THE FUTURE: FEATURE INTERACTION IN IP-BASED TELECOMMUNICATION SERVICES multiple media multiple modes real-time text in any voice delayed (mail) combination with video conferencing telecommunication service everyone has customized, differentiated service people are mobile, and can personal data is stored be reached anywhere in the network and is accessible from there is a variety of anywhere wired and wireless devices THE COMPLEXITY OF THIS VISION IS FAR BEYOND ANYTHING IN THE PSTN EXPERIENCE
GOALS OF THESE LIMITATIONS OF THESE LECTURES LECTURES the focus is on services, not to present abstractions, formal resources models, and analysis techniques that are relevant to connection the focus is on networking as it services should be, not on accommodating an ugly legacy to stimulate interest in this important area of research most of this is work in progress
DISTRIBUTED FEATURE COMPOSITION (DFC) . . . . . . IS AN ARCHITECTURE FOR SPECIFICATION AND IMPLEMENTATION OF TELECOMMUNICATION SERVICES GOALS HISTORY feature modularity—features are development of the DFC concept easy to add and change began in 1997 development of the Building Box structured feature composition— VoIP implementation of DFC began feature interactions can be in 1999 managed fundamental patent issued in 2000 generality—includes mobile, V+Plus platform, integrating multimedia, multimodal services, Building Box with iStudio for Web thus supporting all the new services, built in 2002 opportunities opened by IP features for AT&T Consumer VoIP trial built on V+Plus in 2003 separation from implementation concerns—can be optimized features for AT&T CallVantage without losing integrity service deployed on V+Plus in 2004
Recommend
More recommend