CSUF Department of Computer Science

Campus: Home | Directories | Search

Unit Banner
Contact Information
Office:
Science 2 Building
Room #: C271
Office hours:
M, W, F: 10-11am
M: 12:30-1:30pm
W: 3-4pm
Office Phone: 559.278.4789
Dept. Phone: 559.278.4373
Dept. Fax: 559.278.4197

 

SOA-Based Domain-Specific Languages

Abstract

Although there have been many benefits of Domain-Specific Languages (DSLs) reported from both academia and industry, implementation of DSLs continue to face challenges with respect to frequent evolution of both syntax and semantics. Techniques for implementing DSLs also lack interoperable capabilities among base languages and limited tool support. Such challenges result in increasing DSL development cost and constrain DSL adoption opportunities.

This project introduces a Service-Oriented Architecture (SOA) approach to address such problems. The approach utilizes WSDL to perform lexical and syntax analysis. Web services are used to define the semantics of a DSL, and WS-BPEL is then used to specify a DSL program.

We present four case studies representing imperative, declarative and hybrid DSL categories to show the feasibility of SOA-based DSL implementation. The case studies demonstrate the potential for easing the burden of DSL evolution and offering interoperability and tool support. Improved modularization and removal of tokenization/parsing are two additional advantages.

DSLs using SOA:

  • Robot language: A simplified imperative DSL used to control robot movements and update the coordinates accordingly. Programming such a DSL is relatively simple: a sequence of left, right, up or down movements with moving distance can be specified to control the robot to its destination.

  • PPCea: Programmable Parameter Control for Evolutionary Algorithms (PPCea) is an imperative DSL for controlling Evolutionary Algorithms to achieve optimization and/or convergence.

  • VSL: Video Store Language (VSL) is a declarative DSL that computes the rentals and cost for customers.

  • FDL: Feature Description Language (FDL) is a declarative language that describes feature diagrams for domain analysis. The language introduces all-of, one-of, more-of and optional feature operations to explore all possible configurations along with requires, excludes, include and exclude constraints to reduce the number of possibilities.

  • HYbrid RObot Language (HYROL): A hybrid version of Robot language that mixtures with WS-BPEL and Java-like XML. HYROL is also for controlling robot movements.

Demo

SOA-based Robot Language Snapshots

SOA-based PPCea Snapshots

SOA-based VSL Snapshots

SOA-based FDL Snapshots

SOA-based HYROL Snapshots

Source Code (Available Upon Request)

 

  • WSDL and Web services (act as syntax and semantics of DSLs)

    • SOA-based Robot DSL

    • SOA-based PPCea with JAXB

    • SOA-based PPCea with StAX

    • SOA-based PPCea with JAXB (interoperate between Java and C# base languages)

    • SOA-based FDL with StAX in Java

    • SOA-based VSL

    • SOA-based HYROL

People

  • Shih-Hsi Liu (California State University, Fresno, USA)

  • Adam Cardenas (California State University, Fresno, USA)

  • Marjan Mernik (University of Maribor, Slovenia)

  • Barrett R. Bryant (University of Alabama at Birmingham, USA)

  • Jeff Gray (University of Alabama, USA)

  • Xang Xiong (California State University, Fresno, USA)

Sponsors

  • Faculty start-up fund, College of Science and Mathematics, CSU-Fresno, 2009

  • Science Undergraduate/Graduate Research Experience Award, College of Science and Mathematics, CSU-Fresno, 2009-present

  • Undergraduate Research Award, Office of Undergraduate Studies, CSU-Fresno, 2009-present

Links