This work was funded by the National Basic Research Program of China ("973" Program) under Grant No. 2007CB310801, the National Natural Science Foundation of China under Grant No. 60970017, 60873083, 60803025, and 60903034, and the Foundation for Distinguished Young Scientists of Hubei Province of China under Grant No. 2008CDB351.
Software architecture, as well as its release and use, are undergoing revolutionary changes. Convergence of software and service technologies is progressing at incredible speed, but innovation in theory and methodology lags far behind. On the one hand, information technology has boosted the modern services industry and driven forward social development. On the other, software, hardware, and organization systems in computer and information management still adopt traditional knowledge structures. As yet, there is no formal discipline to fill a gap in the IT field—namely, service[1].
User-centred, on-demand service is the basis of modern Service-Oriented Software Engineering (SOSE)[2]. An increasing number of IT companies are transforming their business models from ones with hardware at their core towards ones with computer software and service at their core. Cloud computing is a scalable platform and business model used by service providers and consumers for delivery of and access to services. Cloud computing aims to allow all parties in the value chain—including consumers, partners, and service providers—to share resources. In Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS), cloud computing is actually a service. SOSE is the technical basis of cloud computing, and immediate innovation is needed in both theory and methodology.
In January 2010, the China Computer Federation (CCF) established the Technical Committee of Services Computing (TCSC), and in doing so, demonstrated China’s ongoing commitment to research andeducation in service computing. The technical committee has made good progress in developing software methods for service composition and optimization. However, software engineering still requires extensive systematic study and innovation. This paper draws on research results of projects conducted by the authors. Semantic interoperability is discussed from the perspective of the SaaS model in SOSE.
1 Interoperability Among Loosely-Coupled Services
Autonomously-distributed, heterogeneous services are loosely coupled over the Internet. Reference [3] compares loose coupled services using SaaS and tight coupled message transfer in traditional Object-Oriented (OO) software design. In the latter, local or desktop OO software is tightly coupled with pre-design. Loose coupling dynamically binds services with asynchronous and remote communications, while tight coupling allows cascaded connections, static binding, and integrated operation. Moreover, loose coupling aims to dynamically obtain and collaborate behaviors; tight coupling aims for seamless connection. Therefore, the functional structure of loosely coupled service software dynamically changes without any definite boundary, whereas tightly coupled OO software has a definite boundary, structure, and functions.
Semantic interoperability[4] is the ability of two service units or systems to communicate data. The information and knowledge in the data must be properly interpreted by the receiver in the sense it was intended by the transmitter. That is to say, information and knowledge can be fully understood, with the result of effective collaboration. Collaborative effectiveness is determined by the two interoperable sides through negotiation.
Semantic interoperability is generally divided into three levels:
(1) Meaning interoperability: Also known as deep or perfect semantic interoperability. It requires both parts to fully understand the agreed semantics.
(2) Partial semantic interoperability: Service entities can only understand part of the agreed semantics.
(3) Non-semantic interoperability: Occurs when partial semantic interoperability between service entities falls below a certain threshold. This level of semantic interoperability includes syntactical (or structural) interoperability.
Partial semantic interoperability represents a large gap in current research, and more attention should be paid to describing its theories and methods.
Semantic interoperability between loosely-coupled services poses challenges. A common framework for interaction and interoperability should be studied first. Extensible Markup Language (XML) enables unified information description, but is only a framework for syntactical interaction. To support semantic interaction, the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) have jointly worked out the ISO/IEC 19763 standard. This defines a Metamodel Framework for Interoperability (MFI)[5] , and its core model is semantic interoperability management between loosely-coupled services.
2 Service Aggregation
Service-oriented software adopts a "pay only for satisfactory services" model. In this way, everyone acts as both user and developer. Users may enjoy on-demand services and pay-by-use services, but do not necessarily seek to own services. Providers deliver high-quality, fine-granularity, and flexible services in order to meet users’ diverse needs. To realize high Quality of Experience (QoE) user-centred public services, it is necessary to provide not only one or more separate services, but a set of services that are capable of semantic interoperability. Take self-catering for example. Prompt, high-quality service is possible if a store can supply not only the raw foodstuffs but also alternatives to cater for personal preferences and recipes for guiding the user through cooking. On-demand service requires service aggregation.
In the theory of service aggregation, partial semantic interoperability clustering of demand-driven services is studied. A public demand-based Role, Goal, Process, and Service (RGPS) metamodel and its description framework[6-7] is suggested. RGPS metamodel draws together ontology metamodeling theory and methodology, and uses an ontology-based RGPS metamodel to organize service aggregation. The theory, methods, and software tool suite for group demand-oriented service resource aggregation modeling (mass customization of service aggregation) is in this way developed. Aggregation of services with partial semantic interoperability is achieved based on group service ontology, and such aggregation is adjustable and controllable. The hierarchical architecture of service virtualization software is shown in Figure 1. Service aggregation can be vividly described as a bunch of grapes in which the pedicle is equivalent to users’ social roles and service goals, and the stalk is equivalent to the operational process (including supply chain and workflow). As well as being organized in a simple tree structure, the stalks are also organized into complex control structures, such as parallel and cycle. Grapes are equivalent to services or atomic services. The ontology indicates semantic association between RGPSs. One field often has several service functions, which correspond to several service aggregation "grape bunches."
3 Service Virtualization
In 1959, Christopher Strachey et al. proposed virtualization technology for computer hardware that used decoupling. In the 50 years that followed, virtualization technologies, such as computer arrays and servers, have greatly progressed. Traditional software virtualization technologies, such as virtual memory management and virtual job scheduling in the Operating System (OS), have played an important role in the development of computer science and engineering.
Software theories and service virtualization methods are core research areas in SOSE and are critical for high mobilization, in-depth sharing, and on-demand services. One critical problem involves resolving the contradiction between decoupling and interoperable cooperation in a dialectical way. If this contradiction can be resolved, a software service can be worked out that features decoupling of support services from available resources, decoupling of service demand from service resources, dynamic obtaining of behaviors of loosely coupled services via the network, interoperable collaboration among loosely coupled services, interoperable cloud services, and On-Demand Service-Oriented Architecture (ODSOA).
In terms of service virtualization, the following four levels of computing methods and software toolkits have been studied:
(1) Encapsulation of service interoperability between available resources
(2) Ontology-based RGPS metamodeling, used for aggregation of interoperability in virtualization service organization
(3) Interoperability and metamodel framework for Registry and Repository (R&R) management in virtualization service management
(4) Virtualization service ontology and representation of its association with RGPS, generation of public demand-based service ontology, and service ontology matching
4 Metamodel Framework for Interoperability
Internetworking, interconnection, and interoperability are basic features of network technologies. A number of Local Area Network (LAN) and Wide Area Network (WAN) protocols enable computing devices to interconnect with each other; Transmission Control Protocol/Internet Protocol (TCP/IP) makes internetworking possible; and Hypertext Transfer Protocol (HTTP) and Hypertext Markup Language (HTML) protocol are used for interoperability between terminals and websites, allowing users seamless access to the web using a browser that complies with these protocols. Web services and Service-Oriented Architecture (SOA) open the door to service computing. However, in service computing, service-based interoperability poses new challenges. As shown in Figure 2, MFI is the basis of interoperability management of information resources.
Currently, many enterprises, organizations, and individuals use specific syntaxes and formats to create a large number of information resources, store them in various registration libraries using particular registration metamodels, and release them on the Internet in a specific way. Users can access these information resources. With the emergence of new computing models such as cloud computing, network resources are uniformly released as IaaS, PaaS and SaaS. In a network environment, available information resources exist in the form of a service and are provided to users on a pay-by-use basis. It is necessary to manage these distributed, heterogeneous, and autonomous information resources in a centralized way, and to shield details about their physical locations. Public demands tend to be diverse and individual, and may involve knowledge in several fields. Therefore, customization of cross-field/organization resources and services must be implemented by means of interoperability and collaboration. However, data and services provided by enterprises and organizations have different syntax and semantics, which prevents them from effective sharing and exchange. Determining how to use open standards to achieve interoperability between services is a very important issue. Open interoperability standards cannot replace existing standards, but can achieve partial semantic interoperability with them while maintaining independence.
The glossary of the Institute of Electrical and Electronics Engineers (IEEE) defines interoperability as "the ability of two or more systems or components to exchange information and to use the information that has been exchanged." "Exchange" means certain agreements must be reached between these systems for data format, communication protocol, and interface description. "Use" means the two interactive sides can completely understand the meaning of exchanged information. To achieve interoperability between software systems, it is necessary to clearly record the syntaxes and semantics adopted by the exchanged information. This process is called registration. An accurate description of the correspondence between the syntaxes and semantics is needed, and this process is called establishment of syntax and semantics mapping. Registration is also a virtualization aggregation service technology. Therefore, ISO/IEC Joint Technical Committee 1 Subcommittee 32 (JTC1 SC32) are developing a multipart MFI standard, which provides reference for the basic management information—such as model registration, ontology registration, and model mapping—of registered information resources. This standard can facilitate interoperability between software systems to some extent.
In 2003, entrusted by the ISO, the authors began to develop ISO/IEC 19763-3: Metamodel for ontology registration. This was based on ontology metamodeling theories and technologies the authors had developed for semantic interoperability registration and storage management. In March 2008, this part of the MFI standard was released and put into use by the ISO. It provides semantic support for interoperability registration of service resources. Later in 2008, a new proposal[8] was submitted to the ISO, which was subsequently approved in 2009 after expert review. The authors have been entrusted to study and develop the other four parts of the MFI standard: ISO/IEC 19763-5, 7, 8 and 9. The multipart MFI standard can be described according to the following two aspects:
(1) Basic model for interoperability management oriented towards on-demand service selection MFI-1, 2, 3, 4 and 6 describe the basic models for registry and repository management in semantic interoperability, including Sign-Concept-Instance-Selection (SCIS) core model, semantic-supported ontology registration metamodel, and semantic mapping metamodel. These parts of the MFI standard are primarily designed to create a uniform registration standard for various heterogeneous information resources and services based on the abstract metamodel layer. Semantic and syntactic support can then be provided for interoperability between these resources and services.
(2) On-demand service-oriented RGPS registration metamodel standard
To be user-centred and provide computing resources as a service, this standard must manage not only data resources, but also service resources, user demands and their association information. In this context, a method that can reasonably describe user demands and services is required. User role, business goal, business process, and service resources are four fundamental elements in such a description[9].
Based on recent research into RGPS, the authors have submitted MFI-5, 7, 8, 9 proposals to ISO/IEC JTC1 SC32. These proposals have been approved by the ISO, and related metamodels are under development: MFI-5 metamodel for process model registration, MFI-7 metamodel for service registration, and MFI-8 metamodel for role and goal registration. These parts of the MFI standard specify standard registration methods for information resources at different levels and of different granularities—such as business processes, services, and goals—and unify the representation of these resources to the public. In addition, MFI-9 provides a complete methodology, detailing the relationship between registration information provided and other parts of the standard. It explains how to use the registration information as well as how to implement multiple iterations of model mapping in order to help in the selection and customization of on-demand services.
5 Conclusion
This paper discusses several important issues in the research of theory and methods for services computing, and introduces the progress of related research. SOSE theory and methodology involves many aspects. Its core goal is to promote interoperable collaboration between loosely coupled service resources in the context of Internet, and thus achieve in-depth sharing of service resources and on-demand services. In the future, further study will be undertaken into key technologies and standardization for construction, management, and services for interoperability between cloud services. The authors’ ultimate objective is to promote the rapid development of China’s software engineering discipline and modern service industry in the era of cloud computing.
References
[1] ZHANG Liangjie, ZHANG Jia, CAI Hong. Services Computing, Core Enabling Technology of the Modern Services Industry [M]. Berlin, Germany: Springer/Beijing, China: Tsinghua University Press, 2007.
[2] 金芝,何克清,王青. 软件需求工程:部分研究工作进展 [J]. 计算机学会通讯, 2007(11).
JIN Zhi, HE Keqing, WANG Qing. Software Requirements Engineering: Part of Research Progress [J]. Communications of CCF, 2007(11).
[3] HE Keqing, WANG Jian, LIANG Peng. Towards Semantic Interoperability Aggregation in Service Requirements Refinement [J]. Journal of Computer Science and Technology, 2010, 25(3).
[4] 何克清, 何扬帆, 王, 等. 本体元建模理论与方法及其应用 [M]. 北京: 科学出版社, 2008.
HE Keqing, HE Yangfan, WANG Chong, et al. Ontology Meta-Modeling Theory and Its Applications [M]. Beijing: Science Press, 2008.
[5] 李兵, 黄永峰. 赢在需求:按需服务的网络化软件开发 [J]. 计算机学会通讯, 2009(12).
LI Bing, HUANG Yongfeng. Win in Requirements: Networked Software Development based on On-Demand Services [J].Communications of CCF, 2009(12).
[6] ISO/IEC 19763-3:2007. International Standard: Information Technology-Metamodel Framework for Interoperability (MFI)-3: Metamodel for Ontology Registration [S]. 2007.
[7]WANG Jian, HE Keqing. RGPS: A Unified Requirements Meta-Modeling Frame for Networked Software [C]//Proceedings of the 3rd International Workshop on Advances and Applications of Problem Frames (IWAAPF’08)Co-Located with 30th International Conference on Software Engineering (ICSE’08), May 10-18, 2008, Leipzig, Germany. 2008:29-35.
[8] WANG Jian, HE Keqing, HE Yangfan, et al. RGPS Metamodel Based on Demand Model Selection [C]//Workshop of ISO/IEC SC32 WG2. Wuhan, China.2008.
[9] 何克清, 彭蓉, 刘玮,等.网络式软件 [M]. 北京: 科学出版社, 2008.
HE Keqing, PENG Rong, LIU Wei, et al. Networked Software [M]. Beijing: Science Press, 2008.
[Abstract] Service-Oriented Software Engineering (SOSE) presents new challenges; in particular, how to promote interoperability and cooperation among loosely-coupled service resources. This is critical for service resource sharing and for implementing on-demand services. This paper discusses key technologies of service virtualization, including encapsulation of service interoperability (for available resources); ontology-based Role, Goal, Process, and Service (RGPS) metamodeling (for interoperable aggregation and organization of virtualization services); registration and repository management of Metamodel Framework for Interoperability (MFI) (for virtualization service management); and virtualization service ontology and its represented association with RGPS. Latest progress of the MFI and ISO standards is also discussed.
[Keywords] metamodel framework for interoperability; service on demand; service aggregation