Service Provider. MediaPipe. Fig. 1. Representation of a communication environment according to SCM. MediaPipes are defined in terms of associations among ...
Towards a Descriptive Approach to Model Adaptable Communication Environments Antônio Tadeu A. Gomes1, Sérgio Colcher1, Luiz Fernando G. Soares1 1
Laboratório TeleMídia – Departamento de Informática – PUC-Rio R. Marquês de São Vicente, 225 – Gávea 22453-900 – Rio de Janeiro – Brasil {atagomes, colcher, lfgs}@inf.puc-rio.br
Abstract. One of the main challenges in the telecommunication sector has been to devise communication environments that allows: (i) the integration of a multitude of different services in a single and efficient communication system, and (ii) the rapid and easy creation, modification and continuous adaptation to new demands and conditions. In this paper, we present a recursivestructuring model that gives adequate support for defining both communication environments and their adaptation mechanisms. Second, we propose the use of frameworks as powerful artifacts that can help a service designer delineate common abstractions that appear within any communication environment, allowing design reuse. Finally, we discuss the role of software architecture, and more precisely of ADLs, as an appropriate way to describe communication environments according to the model and frameworks mentioned above.
1
Introduction
The new telecommunication marketplace has been characterized by an increasing interest in network technologies that can support different quality-of-service (QoS) requirements. The development of innovative applications and new media codification techniques has imposed a continuous research in the telecommunications sector regarding the definition of new services with diverse quality demands, which in general leads to continuous changes in switching systems. However, these changes were only possible, until recently, through slow operational procedures such as hardware or firmware updates. The current trend in this sector has been the development of more versatile switching systems that could deal with the creation or modification of services by means of switching systems software explicitly adapted or programmed during network operation, possibly without any service disruption. In a scenario where telecommunications services are offered by adaptable or programmable communication environments, the complex tasks of service design, implementation and deployment have justified the creation of a “Telecommunications Service Engineering” [21]. Most concepts, principles and rules of this young discipline have been borrowed
from software engineering, relying heavily on the object-oriented paradigm and on open distributed processing models. The aim of the present work is to propose a set of adequate tools for representing adaptations on generic communication environments by following the service engineering approach. Despite having some similarities with other existing proposals, our work proposes some additional contributions. First, we present the Service Composition Model (SCM), a kind of abstract diagram-based model that allows service designers to describe a particular communication environment as well as the mechanisms in charge of adapting it. Recursion is an outstanding characteristic of SCM in the sense that various parts of a communication environment can be modeled similarly, thus improving the design reuse. However, our model has a purposely relaxed semantics so as to be sufficiently generic, which in turn hinders the identification of the points in a communication environment that can be adapted or programmed to support new services. Thus, we propose the use of object-oriented frameworks as artifacts that feed service designers with information about these “flexible” points. In fact, we have already illustrated on previous works [8] various QoS-specific functions represented with the help of frameworks. Moreover, because of the recursive nature of SCM we could also show how these functions are recurrent on the various parts of a communication environment and how they can cooperate to implement what we call QoS orchestration. Nevertheless, even with the support provided by frameworks, the SCM “box-andline” diagrams remain vague with regard to several aspects that are particularly important during service implementation. We can mention, as examples of these aspects, the interfaces of the components that make part of a communication environment and the maintenance of the overall integrity of the environment in the presence of adaptations. Thus, this paper also discusses the use of formal notations (i.e., Architecture Description Languages – ADLs) to describe these aspects according to SCM concepts. ADLs describe software architectures by means of coarse-grained elements, thus abstracting away from some implementation details while allowing the formal validation of others (e.g. the interactions among components). We make an investigation of several ADLs proposed in the literature and focus on some features that we consider highly desirable to represent component associations in the presence of adaptable QoS constraints. The paper is structured as follows. Section 2 comments on some related works. Section 3 introduces the basic elements that comprise SCM. This section is a summary version of the work published in [4]. Following this, the role of frameworks in the context of SCM is presented in Section 4. Section 5 focuses on the description of the SCM meta service abstractions. Then, Section 6 goes into a insight on some ADLs proposed in the literature with respect to SCM concepts. Finally, some concluding remarks are given in Section 7.
2
Related Work
A multitude of works in the telecommunication sector has taken into consideration the service engineering approach as an adequate way for developing, operating and
maintaining services. Most of these works hardly propose effective changes on the traditional service lifecycle, solely focusing on techniques for speeding the service development process. Such techniques include the use of design patterns applied to the domain of service construction [15], languages for modeling services [18] and programming libraries together with extensions in operating systems [9][20]. Despite their relevance, all these techniques do not take into account adaptations accomplished during service operation. Other proposals rely on the concept of generic communication environments. In these environments, object models offer the necessary abstraction for the creation and adaptation of services by means of basic operations on system components, such as factoring, replacements and associations. Programming support offered by environments defined over CORBA and ODP, such as those of the TINA [2] and Binding [11] models, are important examples of this strategy. Extending this approach, the Open-ORB architecture [5] proposes the use of procedural reflection and open implementations [10] as the main concepts behind the design of adaptable communication environments. That is, not only components as a whole but also their internal implementation (which includes the environment itself) can be manipulated in order to adapt a service. All these works have as their main weakness the absence of mechanisms for constraining adaptations, which leads to the possibility of widespread changes that can compromise the integrity of the overall communication environment. SCM provides a conceptual basis that both unifies the ideas of the aforementioned works in a single abstract object model and has an inherent nested organization that regulates the definition of adaptation mechanisms in a homogenized way. We argue, however, that further semantics must be aggregated to SCM so that it can really help service designers model adaptations and its constraints. The Aster Project [3] discusses the problem of adaptation constraining and proposes some add-ons to the aforementioned models, focusing on Open-ORB. The approach adopted is to apply formal descriptions on the definition of environment configurations. More specifically, it aims at supporting the systematic synthesis of these configurations from ADL notations. With the help of proper tools, ADLs can assist service designers in formally verifying an environment configuration, thus guaranteeing the correctness of the configuration before service implementation. As already mentioned, the present paper is also interested in applying the strength of ADL representations in the context of SCM, although we envision the use of ADLs in a different way, as we will show later.
3
Basic Elements of the Service Composition Model
Figure 1 illustrates the two basic elements that are used to represent a communication environment according to SCM: (i) user components, which correspond to entities that make direct use of services, and (ii) service providers, which are responsible for offering services. In SCM, the service provider abstraction is defined without any concern with the dispersion of its user components. For instance, components can be as close as objects contained in a single process or as far as objects lo-
cated on internetworked machines. A special abstraction called MediaPipe is defined in SCM to represent the use of a service by a group of two (point-to-point) or more (multipoint) user components that wish to communicate. MediaPipes also capture the idea of virtual resources over which QoS requirements can be defined and handled. User Component
MediaPipe Service Provider
Fig. 1. Representation of a communication environment according to SCM.
MediaPipes are defined in terms of associations among service components, infrastructure providers and access providers. Service components accomplish the internal implementation of a provider. They may communicate with each other using more primitive providers, called infrastructure providers. Besides the infrastructure providers, there must also be access providers that permit user components to make use of MediaPipes through service components. Figure 2(a) shows the relationship among all these SCM elements. A Service Component
X B
A
Infrastructure Provider
Infrastructure Provider
N C
Y Z Access Service Provider
(a)
User Component
N-1
B
(b)
X
Z
Y
Fig. 2. Nested organization of SCM. (a) shows the internal structure of a hypothetical service provider, whereas (b) shows the decomposition of a MediaPipe in this service provider.
The infrastructure and access providers can also be structured so that the service components pictured in Figure 2(a) act as user components. Within these providers, other service components, infrastructure and access providers (and, consequently, MediaPipes) show up. This nested organization has some similarities with the layering principle defined by OSI-RM. Figure 2(b) suggests this analogy by illustrating the abstraction of a MediaPipe C between user components A and B, as well as its internal implementation by means of more primitive MediaPipes.
Despite its similarity with OSI-RM, SCM introduces other characteristics absent in the former model. As a little, yet very important example, the local system environments are outside the scope of OSI-RM, whereas in SCM they can be represented through access providers. Hence, SCM presents to service designers a most natural way to model QoS provision in an end-to-end scale. Since SCM suggests that the abstraction of a provider may represent all types of communication, it also has a strong potential for design and implementation reuse. For instance, we can define general interfaces and data structures to model some aspects that appear in any kind of communication environment. For example, when considering QoS-specific aspects, this homogenization lessens the work of introducing new QoS requirements and changing existing ones. In addition, as we will show in the following sections, it can facilitate the implementation of algorithms to offer end-to-end QoS.
4
Representing Service Aspects with Frameworks
Although SCM allows service designers to describe particular communication system architectures through composition of service providers, we envision that the model alone is not sufficient to help service designers build real communication systems. We argue that additional structures are desired to better delineate the recurrent interfaces and data structures that appear in such architectures. These structures would help service designers not only improve reuse but also regulate the adaptations. In [8], we propose the use of object-oriented frameworks as a strategy to delineate such structures, focusing on QoS aspects. Frameworks capture design decisions that are common to a particular domain. Usually, various parts of a framework cannot be previewed, so they should be left incomplete or “subject to variations”. These “hot spots” [19] allow the definition of adaptable structures and interfaces regardless of the idiosyncrasies of the domain. Specific QoS requirements Environment-specific hot-spots Adaptability hot-spots
Subsystem A Service X1 Subsystem A Architecture
QoS orchestration
...
System Service 1
Subsystem A Service X2
SCM + QoS Frameworks
... Subsystem B Service Y1 Subsystem B Architecture
System Service 2
... Subsystem B Service Y2
QoS orchestration
Fig. 3. The different types of hot spots in the service engineering process.
When concerning frameworks in the context of SCM, further considerations must be taken with regard to the points of adaptation. There are hot spots that should be fulfilled (adaptations should be done) before operation. They are usually only related to the environment dispersion level, that is, the specific subsystem (operating system, internetwork, and so on) in which the frameworks are being applied. There are other hot spots, however, that should be maintained incomplete to be fulfilled in execution time, as again taken QoS frameworks as examples, the points in the subsystems that are programmed to deal with different QoS requirements. In order to adapt the service provider during operation, some kind of adaptation service will be needed, as discussed in the next section. Figure 3 sketches the different types of QoS hot spots during service development.
5
Meta Services
According to SCM, in order to be adaptable during operation, a service provider must be the target of special meta services that act upon its elements, performing adaptations. Meta services can be structured, as any service, by means of components and providers. The same provider can be the target of several meta services and the same meta service can act upon multiple providers, regardless of their levels of dispersion. Moreover, meta services can be the target of other meta services, thus defining the concept of meta service towers.
BL
BL
Main Service Provider
ML
BL
Main Service Base Level Service Access
Meta Level Service Access
(a)
BL
BL
Meta Service
BL
ML
ML
BL
Meta Service Provider
(b)
Fig. 4. Services and meta services. (a) shows a compact notation of the meta service relationship illustrated in (b).
The adaptation of components and providers of the target service provider is based on the concept of open implementations. Besides the base-level (BL) interfaces that allow “normal” interactions (access to the services), components and providers of the
target service provider must also have meta-level (ML) interfaces that reveal some of their internal aspects, allowing adaptations. Figure 4 illustrates the concept of SCM meta services. As an example of the expressiveness of this concept, when the main service provider also the functions as a meta service provider, we open the perspective of components from both levels directly communicating among each other, which allows the representation of reflective architectures. As an example, Figure 5 illustrates the distribution of the main functions modeled by the QoS frameworks presented in [8] among a typical meta service tower. Because of space restrictions, we omit more details about SCM meta services in this paper. Further information can be found in [4].
Main Service (resource scheduling)
QoS Negotiation
QoS Maintenance
(admission control, resource reservation)
(QoS tuning, monitoring)
QoS Routing
Fig. 5. QoS meta service tower.
As mentioned before, an important characteristic of SCM is its suitability for modeling QoS orchestration. Orchestration relies on concatenation heuristics that decide quantitatively how portions of QoS-provision responsibility will be divided, before and during operation, among the internal MediaPipes that compose a main provider MediaPipe. With the support provided by frameworks, SCM can provide similar QoS interfaces and data structures regardless of the dispersion levels of the QoS functions. Indeed, Figure 3 illustrates that all subsystem services, which collectively build a main system service, derive from a unique general set of interfaces and structures. The definition of uniform and well-known interfaces facilitates the implementation of concatenation heuristics in a seamless way.
6
The Need for a Descriptive Language for SCM
The use of SCM diagrams does raise the level of abstraction in which service designers reason about adaptable communication systems architectures. Despite its simplicity SCM encompasses nearly all paradigms of adaptability and programmability
found in the literature (in [4] we show a classification of the main adaptation strategies according to SCM concepts). However, the SCM diagrams show various limitations, such as the absence of more precise information concerning the interfaces of the components and the nature of interaction among them, only to mention a few. These limitations reduce the utility of the SCM diagrams when the service designer faces the service implementation. We believe that the use of ADLs is an appropriate way to describe communication systems and can also eases the development process with the help of proper tools. We have worked on investigating the applicability of several ADLs [1][12][13][14][17] on the context of SCM for the description of adaptable communication environments. The remaining of this section focuses on some issues pertaining to these ADLs, such as the interaction among service components, the support for adaptations and the role of architectural styles.
Describing the quality of interaction among components One of the limitations of the investigated ADLs is the lack of support for specifying the quality of interaction among components. In general, ADLs define connector as the unit of interaction, and the only important description allowed in a connector is related with the communication protocol. No support is offered for the description of qualitative and quantitative constraints (for instance, throughput and delay) imposed by the type of interaction, which is mandatory when taking into consideration the issue of QoS provision. It is worth mentioning a new work in this area [6], which proposes an ADL that gives support to both QoS specification and dynamic QoS management (in terms of monitoring and control components).
Identifying the points of adaptation Another important feature that an ADL should provide is the support for representing adaptations. Some investigated ADLs [13][14][17] represent adaptations by means of additions and replacements of components and connectors as well as whole architecture reconfiguration. These ADLs do not explicitly offer specific adaptation interfaces (the meta interfaces of SCM) or reflective abstractions that can reveal internal aspects of the components. When a service designer wishes to describe adaptable communication system architectures with the help of these ADLs, it may be hard to realize which parts of the architecture correspond to points of adaptation.
The role of architectural styles As it happens with the conceptual basis provided by SCM, an ADL alone may not be useful enough to service designers because the description of all structures of an architecture must be started from scratch. As seen before, frameworks can accomplish the task of describing such structures. However, the description of the QoS
frameworks presented in [8] were made with the help of an extended version of the Unified Modeling Language (UML) proposed in [7]. This notation is notoriously limited with regard to distinguishing among descriptions of families of architectures and descriptions of specific architecture configurations, being more adequate to the later. However, the SCM-related frameworks focus exactly on the description of aspects pertaining to the family of adaptable communication architectures. The work presented in [1] introduces the concept of architectural style to exploit commonalties across families of architectures. An architectural style is defined as a set of properties that are shared by various architectural configurations. We envision the use of architectural styles as a very useful tool for applying design decisions captured by the SCM-related frameworks while taking advantage of ADL features. Another important characteristic of architectural styles is their support for constraining architectures. As proposed in [1], a style description may have predicates that must be obeyed by any architecture configuration that makes use of the style. Among other things, the constraints imposed by architectural styles would permit a service designer to explicitly define adaptation constraints, hence helping him to maintain the overall integrity of the environment.
7
Conclusion
This paper proposed a conceptual structuring model that permits the design of adaptable communication system architectures recursively, allowing improvements on design reuse. In addition to this main abstraction, frameworks are used to delineate important aspects that appear recurrently in a communication system, such as the mechanisms in charge of QoS provision. We also showed that, in spite of the strength of SCM representation, a service designer needs more precise information regarding finer-grained implementation details. Hence, we propose the use of ADLs to extend the SCM functionality. Some extensions have been discussed in recent works [3][6], but we envision that the generality of our model can lead to the definition of ADLs with larger scope. At present, we have been working on validating the model by means of two main implementations. First, we modeled the int-serv and diff-serv architectures [16] according to SCM concepts and with the help of the QoS frameworks presented in [8]. The most important result of this research was the definition of a conceptual boundary among service definitions, signalling protocols and QoS functions performed in switched routers. This separation of concerns eases the introduction of new services when programmable-switched routers are available. The second experiment aims at defining appropriate QoS orchestration abstractions among multimedia client applications, multimedia servers and the communication infrastructure, which encompasses spatial and temporal inter-media synchronization, prefetch of multimedia objects and elastic adjustment of multimedia presentations. In all these experiments we wished for a tool that could ease not only the development process but also its documentation, in particular the hot-spot definition. Again, the use of an ADL with the extensions proposed in this paper would be of great help.
References 1. Allen, R. J.: A formal approach to software architecture. Ph.D. thesis, School of Computer Science, Carnegie Mellon University, May 1997. 2. Berndt, H., et al.: Service specification concepts in TINA-C. International Conference of Intelligence in Broadband Services and Networks, 1994. 3. Blair, G. S., Blair, L., Issarny, V., Tuma, P., Zarras, A.: The role of software architecture in constraining adaptation in component-based middleware platforms. Proceedings of the 2nd International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware'2000), IBM Palisades, New York, April 2000. 4. Colcher, S., Gomes, A. T. A., Rodrigues, M. A. A., Soares, L. F. G.: Modeling service aspects in generic communication environments. Tech Report, PUC-Rio, Brazil, 2000. 5. Costa, F. M., Duran-Limon, H. A., Parlavantzas, N., Saikoski, K. B., Blair, G., Coulson, G.: The role of reflective middleware in supporting the engineering of dynamic applications. Reflection and Software Engineering, June 2000. 6. Duran-Limon, H. A., Blair, G. S.: Specifying real-time behaviour in distributed software architectures. 3rd Australasian Workshop on Software and Systems Architectures, Sydney, Australia, November, 2000 7. Fontoura, M. F. M. C.: A systematic approach to framework development. D.Sc. thesis, PUC-Rio, Brazil, July 1999. 8. Gomes, A. T. A., Colcher, S., Soares, L. F. G.: Modeling QoS provision on adaptable communication environments. International Conference on Communications (ICC2001), Helsinki, Finland (to appear). 9. Hutchison, N. C., Peterson, L. L.: The x-Kernel: an architecture for implementing network protocols. IEEE Transactions of Software Engineering, January 1991. 10. Kiczales, G.: Towards a new model of abstraction in the engineering of software. Proceedings of IMSA’92, Tokio, Japan, November 1992. 11. Lazar, A. A., Lim, K. S., Marconcini, F.: Binding model: motivation and description. Tech. Report CTR 411-95-17, Columbia University, 1995. 12. Luckham, D. C., et al.: Specification and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 1995. 13. Magee, J., Kramer, J.: Dynamic structure in software architectures. Proceedings of the 4th ACM Symposium on the Foundations of Software Engineering, 1996. 14. Medvidovic, N.: ADLs and dynamic architecture changes. Proceedings of the 2nd ACM SIGSOFT International Software Architecture Workshop, October 1996. 15. Meszaros, G.: Design patterns in telecommunications systems architecture. IEEE Communications Magazine, April 1999. 16. Mota, O. T. J., Gomes, A. T. A., Colcher, S., Soares, L. F. G.: An adaptable QoS architecture for the Internet. Submitted for Brazillian Symposium on Computer Networks (portuguese version). 17. Paula, V. C. C.: ZCL: A formal framework for specifying dynamic distributed software architectures. D.Sc. thesis, Federal University of Pernambuco, Brazil, May 1999. 18. Perumalla, K. S., Fujimoto, R. M., Ogielski, A. T.: MetaTeD – a meta language for modeling telecommunications networks. Tech. Report GIT-CC-96-32, Georgia Institute of Technology, Atlanta, 1996. 19. Pree, W.: Framework patterns. SIGS Books & Multimedia, 1996. 20. Schmidt, D. C.: The ADAPTATIVE communication environment. Proceedings of the 12th Annual Sun Users Group Conference, San Jose, CA, December 1993. 21. Znaty, S., Hubaux, J.: Telecommunications services engineering: principles, architectures and tools. Proceedings of the ECOOP’97 Workshops, Jyväskylä, Finland, June 1997.