An ontology-based collaborative service-oriented simulation framework with Microsoft Robotics Studio®

https://doi.org/10.1016/j.simpat.2008.07.007Get rights and content

Abstract

In Service-Oriented Architecture (SOA), the concepts that services can be discovered and application can be composed via service discovery bring great flexibility to application development [Y. Chen, W.T. Tsai, Distributed Service-Oriented Software Development, Kendall/Hunt, 2008, [4]]. Microsoft Robotics Studio (MSRS) is a recent initiative in applying SOA to embedded systems and one of its key features is its 3-D simulation tool that allows applications to be simulated before deployment. This paper proposes an ontology-based service-oriented simulation framework with MSRS by adding a set of ontology systems, i.e., service ontology, workflow ontology, entity ontology, and environment ontology. These ontology systems store relevant information useful to compose simulation applications, and items stored also cross reference to each other to facilitate reusability and rapid application composition, This paper then provides a detailed case study on a popular robotic game Sumobot using MSRS to illustrate the key concepts and how they can support rapid simulation development.1

Introduction

Service-Oriented Computing (SOC) using Service-Oriented Architecture (SOA) has received significant attention as major computer companies such as BEA [1], CISCO [5], HP [8], IBM [10], Microsoft [21], Oracle [23], SAP [26], and Sun Microsystems [31], as well as government agencies such as US Department of Defense (DoD) [25]. SOA is characterized by loosely coupled services, open standard interfaces, service publication, dynamic discovery of services, and dynamic composition using services discovered. SOA is being used not only for e-commerce applications, but also for embedded applications. For example, DoD is developing several large IT projects based on SOA, and some of them for real-time embedded applications. Microsoft Robotics Studio (MSRS) [22] is another example and this is a recent initiative by Microsoft to incorporate SOA into embedded system development.

SOA has its own lifecycle models and processes such as IBM Foundation Lifecycle [13], and they are different from traditional software development processes. As services may be discovered and selected at runtime, it is important to verify these newly discovered services before they are used in applications. One important verification approach in SOA application development is simulation. Specifically, SOA simulation is considered a key technique for business modeling and process management for IBM WebSphere applications [11]. MSRS also uses simulation to verify the robotics application.

As SOA computation, infrastructure, development processes, runtime environment and model-driven approach are different from traditional software, thus SOA simulation will also be different [34]. For example,

  • With respect to SOA computation, SOA simulation needs to simulate services, workflows, policies, and collaboration.

  • With respect to SOA infrastructure, SOA simulation needs to address SOAP [28], service publishing, discovery, composition, monitoring, deployment, and possibly even re-composition and reconfiguration. Furthermore, SOA hardware infrastructure can also be simulated including visualization, HasS (Hardware as Services)/IaaS (Infrastructure as a Service) [17] or PaaS (Platform as a Service) such as in the Intel SOI (Service-Oriented Infrastructure) project [19], [27].

  • With respect to SOA development processes, simulation can be used in all the development phases including requirement modeling, design, code generation, deployment, execution, and monitoring. Specifically, simulation can verify SOA requirement models, can simulate software designs, can verify the behavior and performance of services and workflows, can verify the correctness and enforcement of policies [41], [42], can simulate the runtime behavior of dynamic collaborations [37], [46] and can simulate the performance of runtime SOA monitoring. Recall that SOA software development may follow different development processes, for example in the IBM Foundation lifecycle model, software development and execution are modeled in an integrated process model with the execution results providing feedback to the development activities in a cyclic process. Previously, software process models consider only software development phases [34].

  • SOA development is model-driven; however, SOA models may be different from traditional software models. Specifically, SOA modeling languages may need to model services, workflows, policies, SOA protocols, monitoring mechanisms. Furthermore, once modeled, it is desirable that these models can be used to generate simulation code. One such modeling language is PSML (Process Specification and Modeling Language) [40] which can model execution processes such as workflows, as well as policies, and can be used to generate executable code.

  • The SOA simulation infrastructure can also be structured in a service-oriented manner, i.e., each component in the simulation infrastructure, including the simulation engines as well as the application components and tasks, can be modeled as services or workflows using various modeling languages.

  • New SOA approaches such as cloud computing [6] pose new challenges to SOA simulation. In these environments, resources owned by different organizations are distributed geographically and interconnected via wide-area networks or Internet [3]. These introduce a series of problems such as resource management and application scheduling, resource and policy heterogeneity, fault tolerance. Simulation can play a significant role in cloud computing by simulating its behavior and performance. The simulation can focus on aspects such as resource scheduling, performance, interactions among resource brokers and users over a network.

  • Another interesting approach is Software as a Service (SaaS) [30]. SaaS allows software access via networks, and software can be continuously updated so that a user will always use the latest version of the software over the network. Essentially, a user may be able to make specific options about applications, and the system will return appropriate versions to fit customers’ needs. Simulation can play a role in SaaS. Before the software is uploaded in the SaaS site, it can be simulated to evaluate its performance and scalability. Different workloads and user requests can be modeled to see how the system will perform in the SaaS environment.

This paper is organized as followed: Section 2 will briefly overview the existing SOA simulation works; Section 3 introduces the MSRS architecture; Section 4 explains the collaborative SOA simulation framework with MSRS; Section 5 uses an example and simulation result to illustrate the effectiveness of the proposed framework. Section 6 concludes this paper.

This paper is an extension of the paper [38] with more background introduction, and the framework is extended with collaboration management and change management. This paper also has a new case study to illustrate the entire simulation process.

Section snippets

Previous SOA simulation research

Service-oriented simulation is supported by a number frameworks, including XMSF (Extensible Modeling and Simulation Framework) [2], [47], the simulation grid system Cosim-Grid [20] and GridSim [3]. XMSF creates a modeling and simulation framework that utilizes a set of web-enabled technologies to facilitate modeling and simulation applications. XMSF involves Web/XML, Web services, and internet/networking to improve the interoperability. A significant contribution by XMSF is its web-based RTI

Microsoft Robotics Studio

MSRS is a service-oriented development and simulation platform to create robotics applications, and its architecture is shown in Fig. 1.

As shown in the figure, DSS and CCR are the two most important components that provide the facilities to run robotic programs and their simulations. A brief explanation is given as follows:

Concurrency and Coordination Runtime (CCR) provides a concurrent message-oriented programming model for SOA application development, and it manages asynchronous operations,

Collaborative simulation framework with MSRS

Based on the existing MSRS architecture, this paper proposes an ontology-based collaborative service-oriented simulation framework as shown in Fig. 4. This framework is fully service-oriented as each component can be viewed as a service, and it has common SOC elements such as ontology, service and workflow discovery, and service collaboration.

Specifically, this framework has the following new features:

  • (1)

    This framework has more service-oriented features. Simulation entities, environments can also

Case study

This section illustrates the simulation framework using a case study.

Conclusion

SOA simulation is an important verification approach for SOA applications including embedded system applications. Simulation is particularly useful because SOA may involve dynamic discovery and composition, and simulation is one of few techniques available to address these issues. This paper proposes an ontology-based collaborative SOA simulation framework with MSRS for service-oriented embedded system development.

The framework extends the MSRS simulation runtime and provides flexibility to the

References (47)

  • BEA, SOA Resource Center....
  • D. Brutzman, M. Zyda, M. Pullen, K.L. Morse, Extensible Modeling and Simulation Framework (XMSF): Challenges for...
  • R. Buyya, A. Sulistio, Service and utility oriented distributed computing systems: challenges and opportunities for...
  • Y. Chen, W.T. Tsai, Distributed Service-Oriented Software Development, Kendall/Hunt,...
  • CISCO Service-Oriented Network Architecture....
  • Cloud Computing....
  • M.C. Cooper

    Semantic distance measures

    Computational Intelligence

    (2000)
  • HP’s approach to Service-Oriented Architecture....
  • IBM. PLM: Product Lifecycle Management. <http://www-03.ibm.com/solutions/plm/index.jsp>...
  • IBM Service Oriented Architecture....
  • IBM. “WebSphere Training”. <http://www-304.ibm.com/jct03001c/services/learning/ites.wss/us/en?pageType=page&c=a0000329>...
  • IBM INNOV8....
  • IBM, IBM SOA Foundation: Providing What You Need to Get Started with SOA, white paper, September...
  • IEEE Std. 1516-2000. 2000. IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) – Framework...
  • IEEE Std. 1516.1-2000. 2000. IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) – Federate...
  • IEEE Std. 1516.2-2000. 2000. IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA) – Object...
  • Infrastructure as a Service....
  • INOA. ISTF...
  • Intel Service Oriented Infrastructure....
  • B.H. Li, X. Chai, Y. Di, H. Yu, Z. Du, X. Peng, Research on service oriented simulation grid, in: Proceedings of the...
  • Microsoft SOA....
  • Microsoft Robotics Studio....
  • Oracle Service-Oriented Architecture....
  • Cited by (0)

    1

    The contents of this paper were developed under a grant from US Department of Defense and the Fund for the Improvement of Postsecondary Education (FIPSE), US Department of Education. However, these contents do not necessarily represent the policy of the Department of Education, and you should not assume endorsement by the Federal Government.

    View full text