HOME : CURRENT STUDENTS : SCHOLARSHIPS : TASTE OF RESEARCH SUMMER SCHOLARSHIPS : 2005/2006 PROJECTS - SCHOOL OF COMPUTER SCIENCE & ENGINEERING : EMPIRICAL SOFTWARE ENGINEERING

Algorithms | Artificial Intelligence | Bioinformatics | Databases | Embedded, Real Time & Operating Systems | Empirical Software Engineering | Formal Methods | Image Processing | Computer Vision, Graphics & Image Processing | Interfaces, Machines & Graphic Environments | Knowledge Representation & Reasoning | Multimedia & Visual Communication | Networks & Pervasive Computing | Programming Languages & Compilers | Sensor Networks | Statistical Machine Learning | Symbolic Machine Learning & Knowledge Acquisition | Web Services & E-Commerce

 

 

ESE-1 Knowledge-Based Representation of CMMI

NICTA

ACADEMIC SUPERVISOR: Dr Mark Staples (mark.staples@nicta.com.au)

DESCRIPTION:

You will develop a structured representation (ontology) of CMMI using knowledge representation languages like Topic Maps or RDF, and will populate the structure with information about CMMI. CMMI (Capability Maturity Model Integrated) is a process maturity model that describes many software engineering process areas and "best practices".

The project will run at the Empirical Software Engineering research program at the NICTA labs at the Australian Technology Park (accessible from platform 10 of the Redfern train station). You will be working with a NICTA senior researcher, in a diverse and social research group.

LINKS TO IMPORTANT WEBSITES:

http://nicta.com.au/director/research/programs/ese.cfm
http://www.sei.cmu.edu/cmmi/
http://www.teraquest.com/CMMI/static/CMMI%20Staged%20MainPage.html

RESEARCH CONTEXT AND OUTCOME:

Your work will be an early part of a strand of research concerning knowledge-based approaches for software engineering. You could build on your work in future thesis work and/or PhD research at NICTA, for example by looking at related issues in process representation, or by evaluating the impact of using knowledge-based approaches in commercial software engineering organisations.

COURSE PREREQUISITES:

REQUIRED Software Construction: Techniques and Tools - COMP2041
REQUIRED Artificial Intelligence - COMP3411

ESE-2 Windows API Hooking for Activity Monitoring

NICTA

ACADEMIC SUPERVISOR: Dr Mark Staples mark.staples@nicta.com.au

DESCRIPTION:

You will write Windows OS API hooking applications to observe and track user activity such as opening and closing process or file handles. The information that these applications can collect will be able to be used to collect low-level data for empirical research into how software engineering is done.

The project will run at the Empirical Software Engineering research program at the NICTA labs at the Australian Technology Park (accessible from platform 10 of the Redfern train station). You will be working with a NICTA senior researcher, in a diverse and social research group.

LINKS TO IMPORTANT WEBSITES

http://nicta.com.au/director/research/programs/ese.cfm
http://www.sysinternals.com/Utilities/Handle.html
http://www.internals.com/articles/apispy/apispy.htm
http://www.codeproject.com/dll/trackuseridle.asp?df=100&forumid=2894&exp=0&select=484288
http://www.codeproject.com/threads/procmon.asp

RESEARCH CONTEXT AND OUTCOME:

The applications you develop will enable many further tools and strands of future research. You could build on the results of your work in future thesis work and/or PhD research at NICTA, for example looking at data management issues, machine learning, or empirical software engineering.

COURSE PREREQUISITES:

REQUIRED Operating Systems - COMP3231

SKILL PREREQUISITES:

Familiarity with Visual C and/or Visual C++.

ESE-3 XSLT Generation of SCM Plans from UML Models

NICTA

ACADEMIC SUPERVISOR: Dr Mark Staples mark.staples@nicta.com.au

DESCRIPTION:

You will write XSLT scripts to transform XMI (XML representation of UML) into both hypertext and linear documents. The UML models represent Software Configuration Management (SCM) Plans. SCM is the discipline of managing and accounting for software engineering changes, and a SCM Plan describes the artifacts critical to the integrity of a Software Engineering process, and how they are changed and monitored.

The project will run at the Empirical Software Engineering research program at the NICTA labs at the Australian Technology Park (accessible from platform 10 of the Redfern train station). You will be working with a NICTA senior researcher, in a diverse and social research group.

LINKS TO IMPORTANT WEBSITES:

http://nicta.com.au/director/research/programs/ese.cfm

RESEARCH CONTEXT AND OUTCOME:

Your system will help to validate the SCM Plan UML models, which will enable many further tools and strands of future research. You could build on the results of your work in future thesis work and/or PhD research at NICTA, for example looking at integrating these SCM models into existing Electronic Process Guides and Experience Repositories for Software Engineering, or by using these SCM models to support other Software Engineering tools.

COURSE PREREQUISITES:

REQUIRED Software Construction: Techniques and Tools - COMP2041
DESIRABLE Artificial Intelligence - COMP3411

SKILL PREREQUISITES:

Some familiarity with XML and XSL, and a desire to master them.

ESE-4 A Configuration Manager for Adaptive Application Servers

NICTA

ACADEMIC SUPERVISOR: Professor Ian Gorton (ian.gorton@nicta.com.au)

CO-SUPERVISOR(S): Dr. Jenny Liu (jenny.liu@nicta.com.au)

DESCRIPTION:

Adaptive application server technology is in the spirit of autonomic computing for building systems with self-managing, self-configuration and self-optimisation behaviours. In such a system, autonomic elements execute in a dynamic environment. An element can join or leave the system at any time. It is a challenging issue to integrate a new element into the system seamlessly without human intervention, including the ability of an element to express its own properties, capabilities and needs and to discover and use other elements by reasoning about their properties and capabilities. The aim of this project is to design and implement a configuration manager based on our existing framework for developing adaptive behaviours using J2EE application servers. The capabilities and needs of an element will be defined using Web Service semantics and reasoned as a Service Level Agreement. This project is R&D oriented with 60% programming effort estimated. The student will work closely with two NICTA researchers for both academic supervision and technical support.

The workspace and machines are provided by NICTA at Australian Technology Park.

LINKS TO IMPORTANT WEBSITES:

http://www.cse.unsw.edu.au/~yliu/sacthome.htm
http://nicta.com.au/director/research/projects/m_to_r/meaamp.cfm

RESEARCH CONTEXT AND OUTCOME:

A prototype of the manager is to be integrated with our framework and a demo on JBoss application server is expected at the end of this project. Through this project, the student will gain a good understanding of autonomic computing, experience with application server technologies and learn their class-loading structure and deployment mechanisms. They will also improve their design and programming skills for complex software systems. The student will have a very good opportunity to understand research working towards the grand-challenge vision of future autonomic computing systems. This work is in line with our on-going NICTA project on Models and Extensible Architectures for Adaptive Middleware Platforms. The student will gain research experience which can lead to a higher research degree.

COURSE PREREQUISITES:

Course COMP4001 or good knowledge of OO design patterns is desirable.

SKILL PREREQUISITES:

Students are expected to have strong Java programming skills. An experience of using J2EE application servers is desirable.

ESE-5: An Event Correlation Engine for Adaptive Application Servers

NICTA

ACADEMIC SUPERVISOR: Professor Ian Gorton (ian.gorton@nicta.com.au)

CO-SUPERVISOR(S): Dr. Jenny Liu (jenny.liu@nicta.com.au)

DESCRIPTION:

Adaptive application server technology is in the spirit of autonomic computing for building systems with self-managing, self-configuring and self-optimising behaviour. Event correlation is the process of monitoring adaptive application servers in order to identify patterns of events and trigger particular automated actions or analysis under certain conditions. This project is to design and implement an event correlation engine that can be integrated into our existing framework for developing adaptive behaviours using J2EE application servers. This includes developing core components such as an adaptor to transform traditional events of different formats into a standard event format, a common repository, a rules engine and a correlation engine based on a case study. This project is R&D oriented with 70% programming effort estimated. The student will work closely with two NICTA researchers for both academic supervision and technical support.

The workspace and machines are provided by NICTA at Australian Technology Park.

LINKS TO IMPORTANT WEBSITES:

http://www.cse.unsw.edu.au/~yliu/sacthome.htm
http://nicta.com.au/director/research/projects/m_to_r/meaamp.cfm

RESEARCH CONTEXT AND OUTCOME:

The student will have a good opportunity to contribute to research work towards the grand-challenge vision of future autonomic computing systems. This work is in line with our on-going NICTA project on Models and Extensible Architectures for Adaptive Middleware Platforms, and would suit someone interested in taking a higher research degree. A prototype of the engine is expected at the end of this project and a demo is required. The student will gain a vision of autonomic systems and algorithms for event correlation, gain experience with leading middleware technologies and improve their design skills for complex software systems.

COURSE PREREQUISITES:

Course COMP4001 or good knowledge of OO design patterns is desirable.

SKILL PREREQUISITES:

Students are expected to have strong Java programming skills. A good knowledge of OO design patterns is desirable.

ESE-6 IDE Support for Model Driven Development

NICTA

ACADEMIC SUPERVISOR: Professor Ian Gorton (ian.gorton@nicta.com.au)

CO-SUPERVISOR(S): Liming Zhu (limingz@cse.unsw.edu.au)
Jenny Liu (jenny.liu@nicta.com.au)

DESCRIPTION:

Model Driven Development (MDD) is about raising the level of abstraction for software development, providing more powerful concepts for capturing and reusing knowledge in platforms and languages. Different methodologies exist for practicing MDD, such as OMG's Model Driven Architecture (MDA) and Microsoft's Domain Specific Language (DSL). The inseparable link between models and code created through MDD demands consistent management of models and code in a single IDE. This research is to apply our existing experience in MDA to DSL-based MDD by developing domain specific designers as plug-ins for Microsoft Visual Studio. Students will use the DSL toolkit to design their own high level domain specific language and capture reusable assets and best practices in supporting infrastructure as libraries, code generation templates and guidance toolkits.

Students will be exposed to leading edge research in software architecture domain and latest industry tools. Students will work closely with senior researchers at National ICT Australia in a very friendly mixed-gender team environment. Suitable for students interested in software design and architecture and practical industry development methods.

LINKS TO IMPORTANT WEBSITES:

http://www.cse.unsw.edu.au/~yliu/tor.htm
http://lab.msdn.microsoft.com/teamsystem/Workshop/DSLTools/

RESEARCH CONTEXT AND OUTCOME:

The research will improve the understanding of practical requirements for MDD practice in modern IDEs. It will also assist in capturing reusable assets and best practices as domain specific languages and supporting platforms. Students will have both theoretic and practical knowledge of the next generation model driven software development paradigm.

SKILL PREREQUISITES:

Good C# or Java programming skills are required. Experience of .Net development and Visual Studio is a plus.

ESE-7 Design Knowledge and Rationale Management Plug-in(s) for Eclipse IDE

NICTA

ACADEMIC SUPERVISOR: Professor Ian Gorton (Ian.Gorton@nicta.com.au)

CO-SUPERVISOR(S): Ali Babar (malibaba@nicta.com.au)

DESCRIPTION:

Software practitioners acknowledge the importance of capturing and maintaining knowledge and rationale underpinning architecture decisions. However architecture/design decisions are seldom documented in a rigorous and consistent manner. Based on our experiences in designing and evaluating architectures for large scale systems, we have found that there is little guidance or mechanisms to capture or reuse architecture design knowledge. Nor is there appropriate tooling support for recording and maintaining design rationale. Often, the knowledge concerning the domain analysis, architectural patterns used, design alternatives evaluated and design decisions made is implicitly embedded in the architecture or becomes tacit knowledge of the architect and therefore unavailable to other architectural or implementation decisions. We have developed a framework for design knowledge and rationale management support to address some of the above-mentioned issues. This framework consists of a process for capturing design knowledge and rationale during the design process, a set of templates to document the captured information and a model characterizing the data underpinning the design knowledge and rationale. This project intends to extend the Eclipse IDE and design plug-ins with design knowledge and rationale management support. The main objectives of the project are to enable developers and designers to capture and use/reuse design knowledge and rationale based on the task at hand and provide them with a sophisticated mechanism of browsing the knowledge base for the required knowledge using case-based reasoning and/or context-aware techniques. The project team will refine the requirements for developing suitable plug-in(s), design a suitable architecture for Eclipse platform and browsing algorithm, and implement the design. During this project, the summer scholar will be exposed to current software architecture design practices using design patterns, design knowledge and rationale management requirements, techniques for browsing large knowledge repositories, and plug-in development for Eclipse IDEs. The student will also utilize and enhance their architecture design knowledge and implementation in Java, relational databases, and XML technologies.

Research environment: Scholarship holder will be working with senior researchers and Ph.D. students of Software Architecture group within Empirical Software Engineering program of NICTA.

Technologies: J2EE framework, Eclipse platform, XML related technologies, UML 2.0, Postgres database server, different OPEN SORCE and/or COTS technologies.

LINKS TO IMPORTANT WEBSITES:

http://www.cse.unsw.edu.au/~yliu/sacthome.htm

RESEARCH CONTEXT AND OUTCOME:

The project is expected to deliver one or more plug-ins for Eclipse IDE to support design knowledge and rationale management tasks.

COURSE PREREQUISITES:

Students will be applying and improving their skills gained by doing (but not limited to) comp2041, comp 3311, comp3111, comp4001, comp9316. Please note these subjects are not mandatory for the project, you may have acquired the skills in the technologies to be used through personal learning or work experience.

SKILL PREREQUISITES:

Java and database programming skills, familiarity with J2EE framework, Eclipse framework, and XML related technologies

ESE-8 Managing Resources of Adaptive Application Servers Using Grid Services

NICTA

ACADEMIC SUPERVISOR: Professor Ian Gorton (ian.gorton@nicta.com.au)

CO-SUPERVISOR(S): Dr. Jenny Liu, jenny.liu@nicta.com.au
Mr. Nihar Triadi, nihar.t.trivedi@gmail.com

DESCRIPTION:

NICTA Project on Models and Extensible Architectures for Adaptive Middleware Platforms is devoted to research issues in developing next generation application servers with self-managing, self-configuring and self-optimizing behavior. One of the problems is to locate resources of adaptive application servers and communicate with different types of resources in a consistent way. Grid services address the issue of virtual resources in a dynamic environment, which provides a potential solution for managing resources in adaptive application servers.

A prototype of a framework of building adaptive behaviors on top of a single application server has been implemented by the Empirical Software Engineering program. This project is to develop a 'service bus' to enhance the communication of resources in a single server and extend the framework in a distributed environment with multiple servers involved.

This includes learning and using the grid service toolkit and developing core components of the service bus infrastructure. This project is R&D oriented with 70% programming effort estimated. The student will work closely with two NICTA researchers and an PhD candidate who is an expert in the grid computing for both academic supervision and technical support. The workspace and machines are provided by NICTA at Australian Technology Park.

LINKS TO IMPORTANT WEBSITES:

http://www.cse.unsw.edu.au/~yliu/tor.htm
http://nicta.com.au/director/research/projects/m_to_r/meaamp.cfm
http://www.globus.org/toolkit/

RESEARCH CONTEXT AND OUTCOME:

The student will have a good opportunity to contribute to research work towards the grand-challenge vision of future autonomic computing systems. This work is in line with our on-going NICTA project on Models and Extensible Architectures for Adaptive Middleware Platforms, and would suit someone interested in taking a higher research degree.

A prototype of the service bus is expected and a demo of resources communication in a distributed environment with two application servers will be required. The student will gain a vision of autonomic systems and grid services, gain experience with leading middleware technologies and improve their design skills for complex software systems.

SKILL PREREQUISITES:

Students are expected to have strong Java programming skills. Knowledge of web service or service oriented architecture is desirable.

[Top of Page]


 
 

Page created 24/08/05 and last updated 24/08/05
Please report any problems with this site to: eng-web@eng.unsw.edu.au
Please read this disclaimer and copyright statement.
CRICOS Provider No: 00098G
 © UNSW 2002