The service-oriented software engineering approach has been increasingly utilized to design and develop complex distributed systems. Exploiting semantic web technologies to increase utilization of the web services at the semantic level leads to create semantic web services (SWSs). This paper proposes a model-driven architecture (MDA) to model the SWS and to transform it from a high-level modeling language, such as the Unified Modeling Language (UML), to a low-level semantic description, such as the Web Service Modeling Language (WSML). To annotate all aspects of the SWS, a UML profile is provided by extending the UML metamodel. Some stereotypes and tagged values are also defined to support WSML. Therefore, the structure aspects of the SWS are modeled with a class diagram based on stereotypes that are defined in the UML profile. The logical and behavioral aspects of the SWS are modeled and expressed using activity diagrams, sequence diagrams, and Object Constraint Language (OCL). Experimental results show that the proposed approach not only increases the level of independence, accuracy, expressiveness, understandability, and machine processability but also significantly reduces the complexity and heterogeneity. Moreover, the proposed method is also evaluated in comparison with the previous methods of the literature, and the results will show that the proposed method outperforms the other methods in terms of expressiveness, understandability, scalability, level of independence, and accuracy.
K E Y W O R D Smodel-driven approach, semantic web services, UML profile, web service modeling language
| INTRODUCTIONWeb services are web-based applications that transmit and exchange data with other applications through standard protocols. A web service can also be considered as a part of a program that communicates through web-based protocols and continues to work without any external program.Web services can be used by the programmers through the web, and their primary platform is based on HTTP and XML. Web service composition has been emerged to respond to the needs of the users to utilize more complex web services. The simple web services can be combined to construct appropriate services for more complex applications. Proper descriptions of the web services are needed to be used in their optimal composition. 1 A meaningful and formal web service description is machine processable and leads to facilitate automatic search and combination of the web services. Semantic web service (SWS) is a good choice for an appropriate description of the web services.In recent years, the popularity of the SWSs has been significantly increased and web service providers have attempted to semantically annotate and describe their traditional services. 2,3 Hence, the design and implementation of such services are very important for service developers and designers. Current SWS languages, such as Ontology Web Language for services (OWL-S), Web Service Modeling Language (WSML), and