I worked as an Associate Professor at the School of Computer Science, Birmingham University, UK where I delivred various courses in software engineering and distributed systems and MSc and PhD students. My academic research, resulted in publication of over hundred papers, a patent and completion of successful projects in collaboration with research labs at at IBM, BT and HP.

The following is a short description of my academic activities prior to joining industry.

Former PhD Students

name Topic of Research Graduation
Thanos Staikopolous Model Driven Approaches to Design and Implementation of Web Services 2008
Kyriakos Anastasakis Model Driven Approaches to Analysis of UML models via Alloy 2009
Seyyed Shah MDA and Automated Test Generation 2011
Mohamed Ariff Ameedeen Model Driven Analysis and Synthesis of Dynamic Models 2011
Mohammed Alodib Automated Creation and Deployment of Diagnosers for Telecom Service oriented Architectures 2011
Emsaieb Geepall MDA and Analysis of Spatio Temporal Access Control for Cyber-physical systems 2013
Philip Weber Process Mining and application to Telecom Service oriented Architectures 2013
Imran Sarwar Bajwa Automated Software Modelling using Natural Language Processing and MDA 2014
Marwah Alansari Modeling and Automated detection of Malicious Behavior in Cloud 2016
Mohammed Alwanain Automated Synthesis of complex Dynamic Models 2016
John Saxon Automated Detection of Malicious Behavior in Cloud 2018
I Made Murwantara Software Product Line and application to Energy Management in Cloud 2017
Ahmed Al-Ajeli Online diagnosis of fault and undesirable scenarios 2018
Yi Chen Stream processing in big data 2019
Nada Alruhaily A probabilistic approach to efficient detection of malware in Cloud via Introspection (joint supervision with Tom Chothia) 2018

Former post doctoral fellows

Name Topic of Research
Dr Xiaofeng Du Fault Diagnosis and Monitoring of Service oriented Architectures
Dr Imran Khan Hardware techniques for Security and Privacy in Cloud
Dr Bosco Filho Automated detection of conflicts in medical guidelines

Description of research activities

Big Picture: Modern society is increasingly dependent on software products that support day-to-day activities such as shopping, banking, and recreation. These software products are created from a large number of interacting components. For example, a typical online shopping system requires components for the payment handling, tracking the delivery of goods, online maps, and many other components. As software products take on more functionality, their size and complexity increase to the extent that it is impossible for a human brain to comprehend all the details involved in the engineering and operation of such systems. For the past decade my research has been focused on the use of models, that is mathematical abstractions of software systems, for the design, engineering, maintenance and operation of large and complex software systems. My current research falls into two streams.

1. Real-time processing of fast and big data: Development of new algorithms and methods of automated detection of problems including fault, malicious behaviour, or undesirable scenarios to be used for large systems while they are in operation. I am trying to answer questions such as:

  • Real-time stream processing: How can we automatically detect these problems from the large and fast streams of data in real-time?

I am also interested in partially-observable systems, black-box systems that we have access to a subset of events, commonly known as observable events.

  • Diagnosability: Under what conditions it is possible to detect fault, malicious behaviour, or undesirable scenarios automatically in partially-observable systems?

  • Diagnosis: If a system is diagnosable, how can we create efficient diagnosers? A diagnoser is a software module that receives a stream of observations from the system and determines in real-time if any fault or malicious behaviour has happened.

2. Modelling methods in software engineering: I am trying to answer questions such as:

  • Modelling: How can we further our understanding of complex systems? How can we use this new understanding to aid in the design of better systems?

  • Automated analysis: As models of real-world systems are large, how can we use algorithms to automatically analyse the models to detect design flaws? Code generation: How can we use algorithms to automatically implement/produce the systems from their models? or how can we automatically compose systems to build larger systems (synthesis)?

  • Code generation: Automated code generation reduces the cost involved in the implementation and minimizes the likelihood of human error.

Sample of research projects

Real-time and near-real-time stream processing: Failure in the services provided by telecommunication companies can result in financial penalties and unhappy customers. I am interested in developing methods and algorithms for fault detection, see (Aldoib and Bordbar 2012) for a sample of our papers. This research has received considerable attention from BT. To recognise my key contribution, in 2008 I was awarded a BT Research Fellowship funding me to work directly with BT research team at Ipswich. The collaboration with BT also resulted in a joint patent (Title: Method and System for Distributed and Collaborative Monitoring, Application Number: US13/184,015). I am currently focusing my research on processing of big data in real-time via frameworks such as Apache Spark.

Automated detection of malicious behaviour in G-Cloud: Cloud computing is revolutionising the use of IT in our daily lives. In 2011, funded by the Royal Academy of Engineering, I was seconded to work at the Cloud and Security research Lab at HP. The research resulted in a pioneering method of detection of malicious behaviour that complements existing security mechanisms in the G-Cloud, the UK government Cloud. The outline of the suggested method is presented in (Harrison et al. 2012), which was nominated for the best paper award by the conference. Later, I was invited and funded to return to HP Labs to continue my work and was awarded the prestigious international Innovation Research Program award by HP.

Automated analysis of the UML models: Creating a good design, during early stages of software development avoids costly modifications. I introduced a method of automatically analysing models of systems captured in Unified Modelling Language (UML) to discover faulty designs. UML is a standard language widely used by the software engineers for designing systems. Our method pioneers automatic extraction of logical representations of the system and analyses them via software components know as constraint-solvers.

To show the viability of the approach I developed a prototype tool called UML2Alloy. Alloy is an example of a constraints solver. The tool UML2Alloy was downloaded 2,400 times within the first 6 months of its release. UML2Alloy is multi-purpose and can be applied in different application domains. I was invited and funded by companies such as IBM and BT to use UML2Ally and (new implementations such as UML2Z3) to solve complex technical problems. Other teams including international research groups at Magill University, INRIA/IRISA, and Aachen University, among others, have extended and used the tool in numerous projects.

I successfully lead a team of researchers from Birmingham Medial School, Heart of England Foundation (HEFT), Birmingham Cross City Clinical Commissioning Group (BCCG), and an Industrial Partner in applying for an EPSRC grant. Awarded in 2015, the proposal (Title: Automated Conflict Resolution in Clinical Pathways) aims to discover new methods of finding and mitigating conflicts and mismatches in medical guidelines for the treatment of the patients with more than one disease, commonly known as multi-morbidity.

Working at research laboratories (IBM, BT and HP)

I worked as an IBM visiting Scientist while based at IBM Zurich. In 2008, I was awarded BT Research Fellowship and worked at BT research Laboratory, Ipswich, UK. In 2011 and 2012, I was based at Cloud and Security Research Group at HP Labs in Bristol for 12 months.

Sample grants and funded projects

Automated Conflict Resolution in Clinical Pathways

  • Role: Project lead.
  • Date/period of award: 2015 for three years.
  • Description: To develop methods and algorithms for the automated
  • detection of conflict in medical guidelines for treating people with multiple diseases.
  • Funder: EPSRC.

Symptom Design Language and automated code generation for Cloud

  • Role: Project lead.
  • Date/period of award: 2013 for three years.
  • Description: Development of new techniques for identifying malicious behaviour in the Cloud. Funder: HP Labs

Real-time monitoring for assurance in large scale infrastructures such as Cloud

  • Role: Royal Academy Fellow to work at HP Labs.
  • Date/period of award: 2011 for six months.
  • Description: Development of a method of detection in large cloud infrastructures of virtual machines which have been infected with malware.
  • Funder: Royal Academy of Engineering.

Fault detection in telecommunication systems

  • Role: Project lead.
  • Date/period of award: 2011 for two years.
  • Description: Automated monitoring of large telecommunication
  • services to identify occurrences of faults.
  • Funder: BT.

Automated detection of faults and undesirable scenarios in very large telecommunication systems

  • Role: Project lead.
  • Date/period of award: 2008 for three years.
  • Description: Research into automated monitoring of large distributed systems and the subsequent transfer of the knowledge to BT.
  • Funder: KTP grant Department of Trade and Industry (DTI) and BT.

SAFE implementation - New Access Control Modelling

  • Role: Project lead.
  • Date/period of award: 2013 for four months.
  • Description: Research on the analysis of access control policies and mechanisms.

Patent

B. Majeed, X. Du and B. Bordbar, Method and System for Distributed and Collaborative Monitoring, Application Number: US13/184,015

List of older projects