Summer Vacation Scholarship/Undergraduate Research Projects at CeCSES:

CeCSES welcomes undergraduate students to join a whole range of our research projects as Summer Vacation Scholarship holders or as part of their degree studies (under a research subject/unit). Below are a number of such projects:

  1. ROADmaker: Tool Support for Graphical Design and Programming of Adaptive Software Systems
  2. Automated Guidance for Web Service Composition
  3. Tool Support for System Architecture Design Using UML
  4. A Performance Modelling and Simulation Environment for Enterprise Systems
  5. Interoperability in GLoo: Using Gateways and Web Services to Compose Java and .NET Software Artifacts
If you are interested in any of these projects or any other possible projects in the areas of software engineering and service oriented computing, please contact the specific supervisors or Prof Jun Han.

ROADmaker: Tool Support for Graphical Design and Programming of Adaptive Software Systems

The ROADmaker Eclipse plugin tool will support the development of 'organisational' software structures based on the ROAD (Role-Oriented Adaptive Design) framework. ROADmaker will allow the programmer to graphically create role models, from which Java code is then automatically generated. The successful applicant will have good Java skills, and a knowledge of UML and the Eclipse framework. Familiarity with Eclipse JDT/EMF, Web services, XML/XMI, and database design would also be nice, but is not essential.

Supervisors: Alan Colman and Jun Han

Automated Guidance for Web Service Composition

Developing software applications by composing Web services is a new computing paradigm. This project will aims to develop an automated tool that
provides guidance for application developer in composing Web services by utilising business rules governing the target application/domain. An preliminary tool already exists. The successful applicant will have the opportunity to learn this new area and tool and further enhance the tool with new capabilities. Good programming knowledge in Java and web-related technologies is required.

Supervisors: Yan Jin and Jun Han

Tool Support for System Architecture Design Using UML

This project is to enhance an existing UML design tool with added support for architecture design decisions. The successful applicant is to enahnce an
existing system with advanced features, and will have the opportunity to learn this new practical approach to system architecture design. Good programming knowledge in the .NET environment is required.

Superviors: Antony Tang and Jun Han

A Performance Modelling and Simulation Environment for Enterprise Systems

This project is to integrate some existing tools for system performance modelling and simulation to form an easy-to-use environment for evaluating
large-scale enterprise systems. The project involves working with real-world enterprise systems. The successful applicant should have good programming skills and related technologies.

Supervisors: Yan Jin, Antony Tang and Jun Han

Interoperability in GLoo: Using Gateways and Web Services to Compose Java and .NET Software Artifacts

Abstract: The most important contribution to the success or failure of a software project comes from the choice of the programming languages
being used and their support in the target environment. The choice of a suitable implementation language is not a guarantor for success, but
an unsuitable language may result in a long, error-prone, and costly implementation, often resulting in an unstable product. We are advocating a software development approach that provides support for a clear separation between the computational and the compositional entities of an application. A framework that builds upon this maxim is GLoo, an experimental component-oriented programming framework for modeling and reasoning about open-ended language mechanisms for object- and component-oriented software development. At the heart of GLoo is a small dynamic composition language that provides abstractions to define and/or import reusable software components, introduce new compositional language abstractions, and build executable and reusable component-oriented specifications. Providing support for all these aspects in a single framework allows for the specification of extensible, user-centric domain sublanguages to capture well-defined subsets of a component-oriented software application and a software develop approach in which applications are specified as compositions of reusable software components.

Project Objectives: GLoo provides a built-in gateway mechanism to directly incorporate Java code into the scope of a GLoo specification unit. The gateway mechanism can be used for the specification of glue code to adapt components to fit actual compositional requirements and to extend the GLoo language either by defining supported operators, adding new value types, or incorporating new and readily available program-ming abstractions. In this project, we plan to investigate the means to use the gateway mechanism to interact with existing .NET software artifacts. In particular, we seek to explore Web Services, which are software systems designed to support interoperable machine-to-machine interaction over a network, as a means to bridge between Java and .NET applications.  The Web Service technology is supported on both platforms. Web services can be seen as an attempt to standardize the Remote procedure call protocol (RPC) between platforms by piggybacking on the near-universally deployed HTTP protocol. Using Web services a Java client can call a remote procedure implemented in .NET and vice versa.

Expected Outcome: The goal of this project is to implement a prototype of a Web Service-based solution to amend the gateway mechanism of GLoo to establish the composition of Java and .NET software entities. The project aims at the definition of the necessary infrastructure and software abstractions that provide support for a seamless integration of both Java and .NET components in the GLoo framework through its getaway mechanism.  As a result, the GLoo environment will become a Web Service, which defines abstractions to interact with Java, .NET, and GLoo runtime entities. Using the Web Service technology to bridge between Java and .NET software artifacts we can leverage the rich underlying support infrastructure that facilitates the specification of reliable distributed Web-based applications.

This project will provide a student with a well-tailored task (8 week summer project) to test knowledge, to use and further develop programming skills, and to actively participate in an ongoing research project at Swinburne University of Technology.

We plan to publish the results of this project as a technical report and international professional meetings. All code will be released as open-source under the GNU license.

Participants & Collaborators: This project will be undertaken in collaboration with the Department of Computer Science at Iowa State University. Further information about the GLoo project can be found at http://www.cs.iastate.edu/~lumpe/GLoo/.

Spervisors/Contacts: Dr. Jean-Guy Schneider (Swinburne, primary contact), Andrew Cain (Swinburne), Dr. Markus Lumpe (Iowa State University)