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]