همکاری چارچوب شبیه سازی سرویس گرا مبتنی بر هستی شناسی با استودیو مایکروسافت رباتیک
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|11428||2008||23 صفحه PDF||سفارش دهید||محاسبه نشده|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Simulation Modelling Practice and Theory, , Volume 16, Issue 9, October 2008, Pages 1392-1414
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, ]. 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.
Service-Oriented Computing (SOC) using Service-Oriented Architecture (SOA) has received significant attention as major computer companies such as BEA , CISCO , HP , IBM , Microsoft , Oracle , SAP , and Sun Microsystems , as well as government agencies such as US Department of Defense (DoD) . 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)  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 , 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 . 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 . 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 , 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)  or PaaS (Platform as a Service) such as in the Intel SOI (Service-Oriented Infrastructure) project  and . • 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  and , can simulate the runtime behavior of dynamic collaborations  and  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 . • 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)  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  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 . 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) . 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  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.
نتیجه گیری انگلیسی
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 simulation process. Ontology systems for services, workflows, simulated entities and simulated environments are introduced into the framework to facilitate the matching process, and they are also useful in keeping track of the cross-reference among the entities so that the system is easy to adapt to changes. The framework is further extended to separate the platform-dependent and platform-independent parts, thus let people use general modeling languages like PSML-S or BPEL to model the SOA application, and then map to specific SOA embedded system development platforms to promote reusability. Services, workflow templates, simulation entities, simulation environments and ontology are published as shared assets from different contributors, and assets can be accumulated over time making the development a much faster process. The simulation process is illustrated using a case study. The distinct feature of the proposed work is that SOA simulation is fully integrated with various ontology systems. While ontology is often used in SOA, it is used mainly for publishing, reasoning, and discovery of services at the present time. This paper extends these capabilities so that ontology is useful in the context of SOA software development and simulation including publishing of various simulation entities, workflows and application templates. Furthermore, this approach is also compatible with various model-driven approaches commonly used in SOA software development and simulation. Even though this paper mainly focused on robotic simulation, this ontology-based approach can be extended to other application and simulation domains, specifically, this approach has been experimented in smart-home appliance control and dynamic SOA collaboration.