Compositional Software Architecture "ilities" for Wireless Networks
Gabor Seymour
Motorola, Inc.
Position paper for the "Workshop on Compositional Software Architectures"
Monterey, California January 6-8, 1998

The MCC Object Infrastructure Project is currently engaged in developing mechanisms to easier achieve "ility" requirements in distributed systems [1].Wireless networks have several, distinguishing characteristics that pose special challenges and opportunities in achieving such "ilities".

Mobility - implies that the efficiency of allocating objects among the physical network nodes is changing over time as the mobile user changes its location. It is an obvious "ility" optimization strategy to allocate the objects most frequently accessed by the mobile user to network nodes at cell sites that are the closest to her current location. Air interfaces are also more vulnerable to intrusions than wireline interfaces which places more importance on security as an "ility".

Variety in link performance and reliability - there are significant business incentives in being able to deploy the same system for equivalent service offerings in a broad variety of geographic regions with vast differences in the bandwidth and reliability of communication links between the sites. This complexity is further increasing by the applicability of different RF-technologies due to the differences in the availability of the frequency bands.

Scaleabilty "downward" - due to the physical constraints, mobile devices have special limitations on computational resources and bandwidth. Still, they represent low-end nodes in a network where there are significant "ility" optimization incentives in treating all nodes as equally able to execute a similar set of objects. It is not a coincidence that the OMG Telecommunication special IG is working on the "minimal CORBA" recommendation.

Real-Life-Real-Time - wireless mobility means for the user to be able to use the information at the location of real-life events where she can use it the most immediately. Response time requirements are more directly derived from real event timing. An "ility" evaluation system was prototyped in the OIP VenDoom for such a scenario [2]. There are also more incentives in receiving the information in forms requiring minimal interpretation efforts which places a preference on a multimedia human interface rather than data that would need further computational processing and analysis. This can also be observed as a historical tendency in maturing the business of new communication media technologies: it is the voice and image where the real market volume is emerging first.

Availability is evaluated in the context of location - the cell-site is often an appropriate granule of specifying availability. The relative location of specific cell-sites to one another can have an important impact on how replication frameworks [Bayou] can be used to improve redundancy of service and subscriber data in relation to other ilities such as QoS and to the computational and bandwidth cost of implementing the redundancy. The trade-off between the "ilities" also determine the traffic degradation around specific cell-sites and the fail-over time, should a cell-site step in to take over certain functions of a failed site in the proximity.

Tranzitioning from the Intelligent Networks ( IN ) technology - in the telecommunications industry, the "IN architecture" was the predominant compositional distributed software development paradigm where Functional Entities formed the components and state machines defined their semantics. When using ITU standards for defining telecommunication systems, the Compositional Software Architectures were synonymous to "Service Creation Environments" where new services were created by linking new states to existing state machines. A new service creation deemed successful if "service interactions" as unintended side-effects were avoided. The IN methodology not only constrained the semantical richness of the models but also left the "ility" analysis to the physical implementation completely. It was the emergence of the Object Request Broker technology in the telecom arena that initiated a change in this perception.

The implications are twofold. First, a need is emerging for new "ilities" such as compressibility and degradability. Second, there is more need for a "metadata architectural pattern" where attributes are used to select and negotiate dispatch [Manola].

Compressibility is an attribute that can typically be assigned to multimedia data to be passed around. It is similar to QoS as an attribute, for which the current OMG proposal defines the response time expectations, the bandwidth requirements and assigns a degree of importance (priority) to these. Most often, compressibility translates to precision as an attribute: the resolution in color, shape of lines, pixel resolution, moving picture resolution, voice quality, or the precision of a numerical estimate, etc. These can similarly have a degree of importance assigned to them that can drive the negotiation process with the other "ility" attributes. It can have a significant impact on sacaleability, reliability, affordability, understandibility, performance, QoS in several different ways. One can gain/loss bandwidth, computational resource needs, entropy and resolution (understandability) within a broad range of values by taking advantage of the declining value of precision or simply, by more rationally using the available computational power. In addition to the precision attribute, compressibility also states characteristics that define what degree of compression ratio can be expected within a certain precision range and what type of compression algorithms are applicable to this.

Degradability determines how easy/difficult it is to trade off "ilities" with one another. Typically, the primary problem with architecting systems is not simply guaranteeing the required degree of performance, security, reliability, etc. The difficulty lies in guarantying the ability to change the weighting on their importance for specific application environments and circumstances with minimum efforts required for changing the software. This is an extension of the traditional "graceful-degradation" concept that was typically applied to trade-off performance for survivability.

The Trader and Properties CORBA Common Object Services were defined for matching clients and servers based on the application domain "ilitiy" expectations and offerings. By applying these two services for negotiating the "ility" attributes of the message transmission domain itself, the compositional middleware will have a built-in capability to comply with trading policies . Such policies can be used to strike a balance between conflicting requirements. They can trade-off availability against scaleability and responsiveness, security against the QoS, persistence against QoS and scaleability, etc.


[1] Robert E.Filman: "Achieving Ilities", submitted to OMG-DARPA-MCC Workshop on Compositional Software Architectures, Monterey, California 6-8, 1998

[2] Diana Lee and Robert E.Filman: "Verification of Compositional Software Architectures", submitted to OMG-DARPA-MCC Workshop on Compositional Software Architectures, Monterey, California 6-8, 1998