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:
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)