Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

Students

Current PhD Students

Sultan Alkhliwi - (Draft)

Michael Akpoghiran - Context- Adaptive Intrusion Response for Mobile Ad Hoc Networks (Draft)

Henry Chika Eleonu - Adaptation in Context-Aware Business Processes

Past PhD Students

Qinan Lai (2015) - Enabling High Quality Executable Domain Specific Languages

Domain Specific Languages (DSL) are becoming a common practice for describing models at a higher abstraction, using a notation that domain experts understand. Designing a DSL usually starts from creating a language specification, and the other tools of the DSLs are derived from the specification. Hence, the quality of the language specification can crucially impact the quality of the complete DSL tool chain.

Although many methods for defining a language specification have been proposed, the quality of the language specification they produced is not emphasised. This thesis explores the quality of language specifications, and proposes consistency, correctness, executability, comprehensiveness, and interoperability as the key features that a high quality language specification processes.

Given the importance of these features, this thesis designs a new language definition approach that is based on the newly published OMG standards, namely: the semantics of the foundational subset of UML (fUML), and the Action Language for fUML (ALF). This approach enables the creation of a language specification with the proposed criteria. Moreover, a software framework that simplifies the production of high quality language specifications is built. In the last, a software development process are developed, which analyses the roles, products, and activities in DSL specification development.

The framework is demonstrated by a case study that defining the language specification of Business Process Execution Language (BPEL). The BPEL specification is further evaluated, which confirms the desired quality features are processed.

Osama Elshakankiry (2011) - Securine Home and Correspondent Registrations in Mobile IPv6 Networks

The Mobile IPv6 (MIPv6) protocol enables mobile nodes (MNs) to remain connected to other correspondent nodes (CNs) while roaming the IPv6 Internet. Home and correspondent registrations are essential parts of the MIPv6 protocol, whereby MNs register their care-of addresses (CoAs) with their home agents (HAs) and with their CNs, respectively. Security provision for home and correspondent registrations is a fundamental part of the MIPv6 protocol and has been an open research issue since the early stages of the protocol.

This thesis examines state-of-the-art protocols for securing home and correspondent registrations in MIPv6 networks. The strengths and weaknesses of these protocols are discussed. The investigation of these protocols leads to the proposal of an enhanced home registration protocol and a family of correspondent registration protocols. The Enhanced Home Registration (EHR) protocol extends the basic home registration protocol defined in MIPv6 to support the location authentication of MNs to their HAs. The EHR is based on novel ideas of segmenting the IPv6 address space, using a symmetric CGA-based technique for generating CoAs, and applying concurrent CoAs reachability tests. As a result, EHR is able to reduce the likelihood of a malicious MN being successful in luring an HA to flood a third party with useless packets using MIPv6. In addition, EHR enables HAs to help in correspondent registrations by confirming MNs' CoAs to CNs. Simulation studies of EHR have shown that it only introduces a marginal increase in the registration delay, but a significant increase in the signalling overhead as a cost of supporting the location authentication of MNs.

The thesis also proposes a family of correspondent registration protocols. These protocols rely on the assistance of home networks to confirm the MNs' ownership of the claimed HoAs and CoAs. The protocols consist of three phases: a creation phase, an update phase and a deletion phase. Informal and formal protocol analyses have confirmed the protocols' correctness and satisfaction of the required security properties. The protocols have been simulated extensively and the results show that they produce lower registration delay and a reduction in the signalling overhead during update and deletion phases. This is at the cost of a varying increase, depending on the protocol variant, in the registration delay and signalling overhead during the creation phase.

Roland Ukor (2010) - FACOB : a process-oriented framework for capability outsourcing in B2B collaborations.

Process-oriented capability outsourcing is a type of Business-to-Business collaboration in which one organisation outsources parts of its business process to other organisations known as service providers. Current frameworks for process oriented capability outsourcing do not provide support for two key requirements: context-awareness - the tight integration between outsourcing support activities (e.g. service selection) and the context in which the service is provided or used (i.e. the business process), and horizontal multi-sourcing - the ability to dynamically outsource a business capability to multiple independent service providers.

This thesis presents a new framework, FACOB, which advances the state of the art with support for these two requirements through new contributions in three areas: modelling and integration, service discovery and service selection.

In the modelling and integration area, the framework provides a set of models for defining, configuring and verifying business processes with formally defined functional and behavioural semantics. Additionally, it introduces a multi-stage integration approach to verify compatibility between the process of a requester and that of one or more providers, and support their integrated enactment.

In the service discovery area, FACOB introduces a new matchmaking approach, which facilitates context-awareness by considering the invocation context of a business capability separately from the goal it is meant to achieve. In the service selection area, FACOB presents a new problem model and three solution approaches that advances the state of the art with support for horizontal multisourcing. These approaches include an integer linear programming model, a backtracking heuristic and an encoding of the problem for genetic algorithms.

These contributions were evaluated using a case study of an outsourced shipping capability in an order fulfilment process.

Xinming Jin (2006) - Model-Based Business Process Simulation

Although both business process modelling and simulation have been widely acknowledged as effective approaches to the analysis and design of business processes, some issues related to existing modelling and simulation tools are identified by in-depth examination and evaluation in this thesis.

In order to address some of the shortcomings of current business process simulation (BPS), information models of generic simulation are built using the EXPRESS language (ISO 10303-11) to model all the crucial parts that form a simulation system. Combined with a meta model of activity models (MAM), built in the MINT Group to cover business process modelling issues, these information models capture the concepts of business processes and simulation in considerable detail and therefore form the basis from which a BPS can be generated.

A model-based business process simulation framework, in line with other research on model-based software development, is proposed to achieve the benefits such as productivity, traceability, and maintainability. By using the EXPRESS toolkit developed in the MINT Group, the procedure for generating a business process simulator from information models is investigated and presented. Two real examples are simulated in order to explore some of the issues in the proposed approach. While the case studies identify the advantages and feasibility of the approach, they also highlight that the generated system needs additional functionality for a full successful simulation.

This research exemplifies the importance of models in system development and provides a perspective on the core characteristics and semantic basis of business process simulation. The work presented in this thesis should be of value to both BPS developers, to whom a possible solution to current BPS issues is provided, and to advocators of model-based software development, who will be able to gain real experience from the proposed approach and apply it to other domains.

Clive Homes (1994) - High Performance Logic Simulation through Hardware Modelling anf Efficient Event Management (Draft)

Although the ability to integrate several million transistors into a monolithic integrated circuit offers many performance advantages, it requires the use of design methodologies which make considerable use of Computer Aided design (CAD) tools.

An increasing important tool in the design of electronic systems is logic simulation. Effective simulation reduces the design time and increases the design quality by the early detection and elimination of design errors. However, for maximum effectiveness, the simulator needs to be flexible; it should support modelling of the design at varying levels of abstraction and, additionally, simulate the design in an acceptable time.

Unfortunately, when simulation of large VLSI designs or complete systems is considered, general purpose computers fail to give adequate performance. Simulation accelerators are specialised machines designed to offer greater performance than traditional software based simulators. However, many existing simulation accelerators have significant limitations and do not adequately support the design process. Simulation acceleration techniques and simulation accelerators are discussed. The Manchester Simulation Engine (MANSE) is then briefly described and used as a base to illustrate the work presented in this thesis.

Daniel Cock (1992) - Fault Simulation on a Hardware Accelerator (Draft)

Selected MSc Students

Polymnia Kestora (2015) - Adding Authorisation to Generated Websites

Ali Assiri (2015) - Authenticating and Authorising Web based APIs

Salil Ponde (2011) - Enabling the generation of authenticated websites from models (Draft)

A previous project has developed a website generation tool using the Model Driven Development approach. The tool allows you to define the model of a website which can then be converted to the Java Server Faces (JSF) implementation of the website. The tool supports the generation of websites with create, read, update and delete functionalities. However, it does not have any support for authentication and authorisation. This project dealt with adding support for authentication and authorisation to the tool. A number of authentication and access control mechanisms were studied and the suitable ones were implemented.

Qinan Lai (2010) - Integrating security and RESTful services into model-based generic website tooling

WebGen is website generation software using a model-driven software development approach. It can generate a robust persistence of a website and a JSF presentation for creating, updating and deleting functionalities. However, the model of WebGen has limited ability to express the concept of a website. This project proposes a set of models to present RESTful service and security settings for a website, then integrating the model to the original model. The code generation part is also re-evaluated and modifications and new templates are developed to enable the generation of a website with RESTful service and a role-based authentication system. The development work is completed and models and code generations are tested.

Nicolas Barithel (2008) - Generic Front-End For Software Plaigiarism Detection Using Model-Driven Software Development

Plagiarism, the presenting of other people's work as your own, exists and dedicated software have been designed to detect it. Unfortunately, each program is often focused on only one programming language. The purpose of the work described in this thesis is to design and implement a plagiarism detector for use on multiple programming languages using a language-independent structure. This project focuses on building a generic front-end that transforms several programming languages into a generic model on which plagiarism can be detected.

This thesis first reviews language-independent representations, Model-Driven Software Development techniques and tooling as well as parser technologies. It introduces the Eclipse Modeling Framework and its code generation facilities, ATLAS Transformation Language (ATL) for building model-to-model transformations and Textual Concrete Syntax parser generator for text-to-model conversion. It then explains the architecture of the plagiarism detector and the design of the generic meta-model used in the front-end to produce language-independent models of source code.

A third part is devoted to the implementation of the plug-in performing the conversion of source codes to generic models. It supports three programming languages: Java, Emfatic and Delphi. It explains how files are parsed into specific models and transformed into generic models. Finally, the thesis describes the results obtained by the front-end for the different programming languages and presents the improvements that could be carried out.

Pierre Cornic (2008) - Software Plagiarism Detection Using Model-Driven Software Development

With the development of internet and electronic contents, plagiarism has become a serious issue in both professional and academic world. To overcome this issue many automated detection systems have been developed in the past thirty years. One of the area in which they are the most successful is the detection of source-code plagiarism. Because of the strict structure of programming languages, plagiarism is easier to detect in programs than in essays.

This thesis describes the conception, the design and the development of a software plagiarism detection application based on the Eclipse Platform. A generic front-end is used to convert source programs from different programming languages into generic models. Eclipse Modeling Framework is used to generate a Java implementation of these models and the plagiarism detection is applied on these models permitting to reuse the same comparison engine for many different programming languages. The results are finally displayed in a dedicated user interface providing facilities for their exploration. The report also includes accuracy and performance testing.

Frederic Morel (2007) - Use of Model Driven Techniques in the Development of a Packet Decoder

Processes such as monitoring the traffic on a network and determining the source of malicious network data all require the decoding of the data present on a network. Existing packet decoding tools tend to have limited capabilities for adding details of new networking protocols; often access to the source code is required to add the ability to decode a new packet type. The aim of this project is to develop a highly configurable tool capable of showing the internal structure of captured network packets. Hence, the addition of the ability to decode a new packet type only requires modification of the external configuration file. The development of this packet decoder made extensive use of tools from the Model Driven Software Development (MDSD) world. The initial advantage of this approach was that it substantially reduced the amount of coding that had to be performed. The secondary advantage was that it resulted in the development of both packet definition and decoded packet metamodels that can be reused in the development of other applications. In the architecture used, decoded packets are generated before being displayed. Thus, this gives the ability for other types of processing to be performed on the decoded packet; for example, filtering or graphical displays.

Selected Undergraduate Project Students

Mark Murray (2015) - A website for a multinational retailer (Draft)

An ecommerce web application that has a strong focus on performance and scalability. I have incorporated many tools and techniques to produce an application that delivers common ecommerce functionality such as a basket, user comments, user ratings, and a wide range of product discovery options including full text search. A NoSQL database was used to provide horizontal scalability and a client side rendering framework was used to improve user input response times and to minimize server load. The finished application operates with a low overhead and the architecture is scalable at every level.

Christopher Tacey-Green (2015) - .NET Based Server Monitoring System

Server monitoring is a vast area, with many differing opinions on the best methods to monitor server states. This report covers the underlying project of creating a .Net based server monitoring system using Nagios as a scheduling backend, .Net for a web application, and synchronising programs handling the communication between them. The task also includes research into existing systems, the development cycle and decision-making processes. In comparison to existing solutions, the resulting system is equally effective, but makes configuration easier for less technical users. Code is not provided, but instead the higher-level ideas and programming methods are discussed.

Tomas Alijevas (2014) - Test-Only Development

Software development is hard and complicated process. In order to help manage and organize the development many methodologies have been created to guide the software engineer. One of the well known methodologies which is being used in industry is Test Driven Development. It enforces to write the test first before writing any production code and only after test was written it is allowed to write the production code which must pass the test. The aim of this project is to reinforce Test Driven Development and make it Test Only Development. The difference is that after writing a test - a production code which passes the test would be generated automatically instead of being written by the developer.

Karl Barker (2013) - Generation of Web Services

Web services are an essential part of many web applications today: business systems must interact both internally and externally, social networks want to engage their users with third party apps, and developers enjoy innovating and building upon existing features and data.

Given the complexity of web service interactions, and the maturity of some standard approaches to their implementation, it is possible to abstract away the technicalities of providing a web service without losing functionality, but saving time and effort and allowing web service developers to focus solely on the business logic of their particular web service.

This report describes the development of a toolbox which achieves this goal using multiple layers of web service modelling via graphical model editors, and code generation techniques targeting a web service architecture incorporating best practices and appropriate design patterns.

The end result is a product which allows web service application developers to graphically define the features of their web service, and have all but its specific functionality generated for them.

Jonathan Norman (2013) - Adding Authorisation to Generated Websites

Website development can be an arduous and complicated task, often requiring the continual rewriting of software patterns with little variance between implementations. The Model Driven Architecture approach attempts to alleviate such monotony by focusing on the definition of domain-specific models through which website source-code can be automatically generated. The prevalence of online business and services handling sensitive data demands privacy and confidentiality and, as such, code generator tools must support the ability to create robust, authorised websites to meet this need. Through the application of many different frameworks and technologies, such a robust and powerful tool can be developed, thus allowing developers to focus on the important aspects of web development, whilst guaranteeing the adherence of best security practices and rigorous implementation of user policy.

Philip Mourdjis (2011) - A Domain Specific Language for Automated Trading

There are many automated trading systems in use today aimed at a wide variety of traders with varying levels of financial experience. However, all of these systems require knowledge of programming techniques to define the behaviour of the system. This report covers the development of a system capable of handling automated trades made by multiple independent clients whose strategies have been defined in a simple, easy to use domain specific language.

Mark Wood (2009) - Enabling the Generation of Websites from Models

The development of both dynamic and data intensive websites requires the mastering of a number of different technologies and skills. This means that their development is restricted to a small number of specialist developers or teams that must be carefully managed. In reality, the development process involves sophisticated design skills and the substantial application of best practice patterns. This report describes a tool that uses a model of a data intensive website and code generation techniques, which encapsulate best practice patterns, to reduce the breadth of skills needed. By raising the level of abstraction at which development takes place, it allows designers to concentrate on the data managed by the website and its user interactions. Although the use of generation has numerous advantages, it can have the reputation of not giving users the ability to fully control what is produced. Thus, the tool described includes the ability for website developers to control generation choices and customise the final output.

Sameer Shastri (2008) - Monitoring Data on the Internet (Draft)