Student Research Poster Presentations at the Welcome Reception

Monday, 27 October

17:30-19:30

Analyzing the Use of Interfaces in Large OO Projects

Using partial interfaces, i.e. interfaces that cover only a subset
of the total set of published methods of a class, has several advantages, but research shows they are only sparsely used.
Therefore, we have created a metrics suite and tool support to assist the developer in using partial interfaces.

Development of a high level view of Java applications

This work is about the development of an abstract view for Java programs, supporting refactoring and debugging for rather
large applications. The implementation is based on static method call graph analysis on bytecode incorporating third party
packages like SOOT, JavaCC and OpenJGraph. The work leads to a browseable visual graph.

Metamodel Based Model Transformation Language

Domain Specific Model Driven Architectures (DSMDA) rely on the use of MDA for a specific domain. For each DSMDA, a transformer
is needed to map domain models to implementation models. This paper describes a high-level specification language and execution
framework to formally capture and realize the behavior of model transformers.

A Language Based Formalism For Domain Driven Development

Wei Zhao,
Computer and Information Sciences, University of Alabama at Birmingham,
zhaow@cis.uab.edu

The evolution of programming languages has often been the driving force for the evolution of software development from the
machine-centric to the application-centric. The 4th Generation Languages paradigm, languages defined directly by the composition
of domain features, serves as the language-based formalism for the emerging Domain Driven Development paradigm.

A Framework for Using Component Redundancy for Self-Adapting and Self-Optimising Component-Based Enterprise Systems

We propose a framework that uses component redundancy for enabling
self-adaptation, self-optimisation and self-healing capabilities in
component-based enterprise software systems. Our framework is divided into
three main logical tiers, operating in a feedback-loop manner: monitoring,
evaluation and action.

Program Manipulation via Interactive Transformations

Changing program source code is complicated because many changes entail
pervasive large-scale modifications. Developers use authoring and
editing tools that are poorly suited to such maintenance tasks. We are
creating a novel programming environment that lets the programmer
describe source code manipulations in a more "natural" manner than is
currently possible.

Issues on Building T++, a Tool for Web Application Development with C++

As the demand for web applications grows, so does the demand for tools
that support them. As a general rule, such tools extend general purpose
programming languages, like Servlets/JSP does for JAVA, or define their
own programming language, like PHP. But there is no established engine
for web applications written with C++. This work presents technical
challenges that were faced when developing T++, an engine that supports
web application development with C++.

We propose a self-optimizing application server design for EJB component technology. Optimizations are driven by the discovery
of inter-component communication patterns and the application of corresponding container refactorings. Our solution attempts
to address the impact the application server has on system performance.

Model Consistency in the Object Oriented Software Development Process

Model Refinement is a relationship that relates two elements representing the same concept at different levels of abstraction.
In
UML, Refinement is described in an informal way. To avoid wrong model interpretations, we study a formalization of the refinement
relation. This work provides an enhancement to the UML metamodel specification.