Service-Oriented Symbolic Computations

Service-Oriented Symbolic Computations

Dana Petcu, Georgiana Macariu, Alexandru Cârstea, Marc Frîncu
DOI: 10.4018/978-1-61520-686-5.ch045
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Service-oriented computing is an interesting paradigm not only for building business applications but also for scientific applications requiring a loosely-coupled communication system between its components. In particular, scientific applications involving symbolic computations that are both computational and data intensive have proved in the last years to be adequate for implementation in service-oriented architectures, mainly due to the standards promoted for communications or service discovery. This chapter discusses the main issues and problems encountered in the transition from the classical symbolic computations based on stand-alone computer algebra systems towards service-oriented symbolic computations, such as building services from legacy codes, discover, compose and orchestrate services, standardize the exchange data formats. Moreover, several new approaches to solve at least partially these transition problems have been recently implemented, tested and are revealed in this chapter.
Chapter Preview
Top

1. Introduction

In the last decade the symbolic approach gained considerable recognition as a viable tool for solving large-scale engineering problems. Symbolic computations are currently applied in a number of disciplines where mathematical models and calculations take place. Advanced applications in many areas of computer science, such as computer aided design or software development, VLSI design, geometric modeling and reasoning, robot programming, are currently using symbolic computations. Also, symbolic methods have lately become popular in life sciences, in particular in studying human genome.

Symbolic solution of mathematical problems involves manipulations of symbolic objects, like logical or algebraic formulae, rules or programs. Simple examples for symbolic computations are polynomial operations, large integer arithmetic, or primitives. Unlike the numerical approach, one of the main goals of the symbolic approach is exactness. Developments in symbolic computing are lagging relative to numerical computing, mainly because of the inadequacy of available computational resources, both computer memory and processor power.

Due to the complexity of the symbolic algorithms, sophisticated tools, namely Computer Algebra Systems (CASs), were developed already three decades ago to help the progress in this field. Real problems for which a mathematical model can be extracted are often easily solved with these tools. Classical usage examples are coming from mechanics. Parametric studies are simplified on account of the possibility to extract a solution as an expression of the variable parameters. Maple and Mathematica are world-wide well known to be commercial solutions for general purposes. Other categories of CASs are the ones that are dedicated towards special fields or the ones designed with open sources – such as GAP for group theory or Kant for number theory. Due to either the commercial aim or the complexity of the implementation, CASs may be included in the category of legacy software.

Despite the progress in the hardware capabilities, the applicability of complex symbolic computing algorithms is still a problem since they may require computing and memory resources that are not available on a single machine. A classical example is the solution of polynomial equation systems with more than four variables and high polynomial degree – Groebner base detection is the theoretic solution, but in practice the detection cannot be done in reasonable time. Besides, the specialization of some CAS has the drawback to not be able to solve specific problems and the ability to collaborate with other CASs could prove of great importance in this case.

The solution found already three decades ago to reduce the time response of the complex symbolic algorithms implementations and increase the number of problems that can be solved with CASs was to use supercomputers and, more recently, computer clusters (HPC solution). Symbolic computing algorithms were designed to profit from the parallel computing paradigm.

The rapid development of network technologies within the last decade offered the opportunity to exploit considerable more computational power by combining the resources shared by interconnected supercomputing centers (Grid-based solution) or disparate computational resources (Internet-based solution). A pro argument in favor of Grid and Internet-based solutions besides the efficiency and the scale is the social one. The high cost of supercomputers and clusters, ownership and other administrative issues prevent regular user access. Their resources are reserved for well defined purposes. Given the context, sharing resources in collaborative architectures may represent a viable solution. Anyone participating in such structures can potentially access the resources, at virtually no cost, and has the opportunity to use this infrastructure. Thus, services may be implemented by users who want to share their latest achievement with their collaborators.

While CAS speedup and scalability are improved through parallel and Grid-based systems, the inter-operability and CAS capability enhancements are the basic issues encountered in loosely coupled architectures that offer, as main advantages, reusability of components and robustness of the obtained software solution. Service Oriented Architectures (SOA) tends to represent the main model of the applications built nowadays. Applications built upon Web services offer the advantage of standard mechanisms to describe components’ interfaces and standard structure of the messages exchanged between components. In addition, the latest Grid technologies combine these capabilities with standard mechanisms that allow exposing resources of any kind, of hardware or software nature, at high level of abstraction and provide means to create reliable and secure computational infrastructure.

Key Terms in this Chapter

SCSCP: Symbolic Computation Software Composability Protocol

CAS: Computer Algebra System

OM: OpenMath

WSRF: Web Service Resource Framework

SOA: Service-oriented architecture

GT4: Globus Toolkit version 4

CD: Content Dictionary

WS: Web Service

GSI: Grid Security Infrastructure

WSDL: Web Services Description Language

Complete Chapter List

Search this Book:
Reset