Â鶹´«Ã½

Dr Francois Siewe

Job: Reader in Computer Science

Faculty: Computing, Engineering and Media

School/department: School of Computer Science and Informatics

Research group(s): Cyber Technology Institute (CTI) (Software Technology Research Laboratory (STRL))

Address: Â鶹´«Ã½, The Gateway, Leicester, LE1 9BH, United Kingdom

T: +44 (0)116 257 7938

E: FSiewe@dmu.ac.uk

W:

 

Personal profile

I am a Reader in Computer Science in the Software Technology Research Laboratory (STRL) of the Faculty of Technology at Â鶹´«Ã½ (Â鶹´«Ã½), in Leicester in the UK. Before joining STRL, I was a research fellow on the EPSRC-funded project MELANGE on modelling the structure dependent colour properties of melange yarns in the Textile Engineering And Material (TEAM) research group at Â鶹´«Ã½. This followed my tenure as lecturer and vistiting researcher in the Institute of Technology of Lens at University of Artois in Lens, France. Prior to this, I was a fellow at the United Nation University/ International Institute for Software Technology (UNU/IIST) in Macau, where I worked on the Design Techniques for Reat-time systems (DeTfoRs) project. I was also a lecturer in the Department of Mathematics and Computer Science at the University of Dschang, Dschang, Cameroon.

Research group affiliations

Software Technology Research Laboratory (STRL)

Publications and outputs


  • dc.title: Mapping Petri Nets onto a Calculus of Context-Aware Ambients dc.contributor.author: Siewe, Francois; Germanos, Vasileios; Zeng, Wen dc.description.abstract: Petri nets are a graphical notation for describing a class of discrete event dynamic systems whose behaviours are characterised by concurrency, synchronisation, mutual exclusion and conflict. They have been used over the years for the modelling of various distributed systems applications. With the advent of pervasive systems and the Internet of Things, the Calculus of Context-aware Ambients (CCA) has emerged as a suitable formal notation for analysing the behaviours of these systems. In this paper, we are interested in comparing the expressive power of Petri nets to that of CCA. That is, can the class of systems represented by Petri nets be modelled in CCA? To answer this question, an algorithm is proposed that maps any Petri net onto a CCA process. We prove that a Petri net and its corresponding CCA process are behavioural equivalent. It follows that CCA is at least as expressive as Petri nets, i.e., any system that can be specified in Petri nets can also be specified in CCA. Moreover, tools developed for CCA can also be used to analyse the behaviours of Petri nets. dc.description: open access article

  • dc.title: Forest Fire Detection Utilizing Ghost Swin Transformer with Attention and Auxiliary Geometric Loss dc.contributor.author: Siewe, Francois; Wang, Lili; Li, Haiyan; Ming, Wenjun; Li, Hongsong dc.description.abstract: Forest fires are a devastating natural disaster. Existing fire detection models face limitations in dataset availability, multi-scale feature extraction, and locating obscured or small flames and smoke. To address these issues, we develop a dataset containing real and synthetic forest fire images, sourced from a UAV (Unmanned Aerial Vehicle) perspective. Additionally, we propose the Ghost Convolution Swin Transformer (GCST) module to extract multi-scale flame and smoke features from different receptive fields by integrating parallel Ghost convolution and Swin Transformer. Subsequently, we design a lightweight reparameterized rotation attention module, which captures interactions across channel and spatial dimensions to suppress background noise and focus on obscured flames and smoke. Finally, we introduce a loss function, called Efficient Auxiliary Geometric Intersection over Union (EAGIoU), which employs an auxiliary bounding box to accelerate the model's convergence while integrating the geometrical principles of the predicted and real bounding boxes to accurately locate small flames and smoke. Extensive experimental results demonstrate that our method achieves 75.2% mAP@0.5 and 42% mAP@0.5:0.95 with a frame rate of 239 frames per second, indicating a significant improvement in accuracy and real-time performance compared to state-of-the-art techniques. The code and datasets are available at https://github.com/luckylil/forest-fire-detection. dc.description: The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.

  • dc.title: Practical Consequences of Quality Views in Assessing Software Quality dc.contributor.author: Galli, Tamas; Chiclana, Francisco; Siewe, Francois dc.description.abstract: The authors’ previously published research delved into the theory of software product quality modelling, model views, concepts, and terminologies. They also analysed this specific field from the point of view of uncertainty, and possible descriptions based on fuzzy set theory and fuzzy logic. Laying a theoretical foundation was necessary; however, software professionals need a more tangible and practical approach for their everyday work. Consequently, the authors devote this paper to filling in this gap; it aims to illustrate how to interpret and utilise the previous findings, including the established taxonomy of the software product quality models. The developed fuzzy model’s simplification is also presented with a Generalized Additive Model approximation. The paper does not require any formal knowledge of uncertainty computations and reasoning under uncertainty, nor does it need a deep understanding of quality modelling in terms of terminology, concepts, and meta-models, which were necessary to prepare the taxonomy and relevance ranking. The paper investigates how to determine the validity of statements based on a given software product quality model; moreover, it considers how to tailor and adjust quality models to the particular project’s needs. The paper also describes how to apply different software product quality models for different quality views to take advantage of the automation potential offered for the measurement and assessment of source code quality. Furthermore, frequent pitfalls are illustrated with their corresponding resolutions, including an unmeasured quality property that is found to be important and needs to be included in the measurement and assessment process. dc.description: open access article

  • dc.title: Towards the Formal Analysis of UML Activity Diagrams in a Calculus of Context-aware Ambients dc.contributor.author: Siewe, Francois dc.description.abstract: The Unified Modeling Language (UML) is the industrial de-facto standard for designing systems. It has been used widely in many industrial applications. However, the lack of formal semantics for UML makes it unsuitable for formal verification. As such, UML is limited when it comes to the design of safety/security critical systems where faults can cause damages to people, properties, or the environment. This paper proposes an attempt to define a formal semantics for the UML activity diagrams. An algorithm is proposed that translates an activity diagram into a process in a Calculus of Context-aware Ambients (CCA). This process can then be formally analysed using the tool support for CCA. Hence, errors can be detected and fixed early during the system development life-cycle. The pragmatics of the proposed approach is demonstrated using a case study in e-commerce. dc.description: The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.

  • dc.title: Genetic Algorithm-Based Fuzzy Inference System for Describing Execution Tracing Quality dc.contributor.author: Galli, Tamas; Chiclana, Francisco; Siewe, Francois dc.description.abstract: Execution tracing is a tool used in the course of software development and software maintenance to identify the internal routes of execution and state changes while the software operates. Its quality has a high influence on the duration of the analysis required to locate software faults. Nevertheless, execution tracing quality has not been described by a quality model, which is an impediment while measuring software product quality. In addition, such a model needs to consider uncertainty, as the underlying factors involve human analysis and assessment. The goal of this study is to address both issues and to fill the gap by defining a quality model for execution tracing. The data collection was conducted on a defined study population with the inclusion of software professionals to consider their accumulated experiences; moreover, the data were processed by genetic algorithms to identify the linguistic rules of a fuzzy inference system. The linguistic rules constitute a human-interpretable rule set that offers further insights into the problem domain. The study found that the quality properties accuracy, design and implementation have the strongest impact on the quality of execution tracing, while the property legibility is necessary but not completely inevitable. Furthermore, the quality property security shows adverse effects on the quality of execution tracing, but its presence is required to some extent to avoid leaking information and to satisfy legal expectations. The created model is able to describe execution tracing quality appropriately. In future work, the researchers plan to link the constructed quality model to overall software product quality frameworks to consider execution tracing quality with regard to software product quality as a whole. In addition, the simplification of the mathematically complex model is also planned to ensure an easy-to-tailor approach to specific application domains. The supporting dataset can be found at https://zenodo.org/records/5552684. dc.description: open access article

  • dc.title: On the Use of Quality Models to Address Distinct Quality Views dc.contributor.author: Galli, Tamas; Chiclana, Francisco; Siewe, Francois dc.description.abstract: Different software product quality models interpret different amounts of information, i.e., they can capture and address different manifestations of software quality. This characteristic can cause misleading statements and misunderstandings while explaining or comparing the results of software product quality assessments. A total of 23 previously identified distinct software product quality models are analysed on how they handle the abstract notion of quality, and a taxonomy on the quality manifestations that the individual software product quality models are able to capture is established. Quality models that are able to solely describe the quality manifestation of the source code are attractive due to their full automation potential through static code analysers, but their assessment results ignore a huge part of software product quality, which is the one that most impresses the end user. The manifestations of software product quality that address the behaviour of the software while it operates, or the perception of the end user with regard to the software in use, require human involvement in the quality assessment. The taxonomy contributes to interpreting the quality assessment results of different quality models by showing the possible quality manifestations that can be captured by the identified models; moreover, the taxonomy also provides assistance while selecting a quality model for a given project. The quality manifestations used for the quality measurement always need to be presented, otherwise the quality assessment results cannot be interpreted in an appropriate manner. dc.description: open access article

  • dc.title: Quality Properties of Execution Tracing, an Empirical Study dc.contributor.author: Galli, Tamas; Chiclana, Francisco; Siewe, Francois dc.description.abstract: The quality of execution tracing impacts the time to a great extent to locate errors in software components; moreover, execution tracing is the most suitable tool, in the majority of the cases, for doing postmortem analysis of failures in the field. Nevertheless, software product quality models do not adequately consider execution tracing quality at present neither do they define the quality properties of this important entity in an acceptable manner. Defining these quality properties would be the first step towards creating a quality model for execution tracing. The current research fills this gap by identifying and defining the variables, i.e., the quality properties, on the basis of which the quality of execution tracing can be judged. The present study analyses the experiences of software professionals in focus groups at multinational companies, and also scrutinises the literature to elicit the mentioned quality properties. Moreover, the present study also contributes to knowledge with the combination of methods while computing the saturation point for determining the number of the necessary focus groups. Furthermore, to pay special attention to validity, in addition to the the indicators of qualitative research: credibility, transferability, dependability, and confirmability, the authors also considered content, construct, internal and external validity. dc.description: open access article

  • dc.title: Performance of Execution Tracing with Aspect-Oriented and Conventional Approaches dc.contributor.author: Galli, Tamas; Chiclana, Francisco; Siewe, Francois dc.description.abstract: Context: Most software product quality models contain a quality property to describe the performance of the software products under assessment. In addition, software product quality models exhibit a quality property to describe how maintainable the investigated software product is. These two quality properties are conflicting as good maintainability values require that the amount of information about the threads of execution in the application, method stacks including parameters, return values and changes of the internal states be available. Collecting and storing this amount of information in a trace output takes time and consumes resources, which deteriorates execution performance. The major expectation towards the trace data is accuracy and consistency and, as a second priority, to achieve an acceptable performance degradation. Aspect-oriented programming offers assistance to satisfy these goals, however the published data about the aspect-oriented performance are not up to-date; moreover, they do not measure the performance of execution tracing but the performance of aspect-oriented programming constructs. Objectives: We aim to measure the performance of execution tracing with a simple but very resource intensive test application pair implementing the same functionality, producing the same amount of trace data. The one application possesses aspect-oriented execution tracing while the other one conventional, object-oriented execution-tracing with manually inserted trace method calls. In addition, we plan to separately measure the performance impact of constructing the trace messages by collecting the data in the applications; moreover, the performance impact of writing these data into a physical file is also measured. Method: We introduce a true experimental research with full control over the research variables to measure the runtimes of two very resource intensive test applications with exactly the same functionality, one with conventional tracing where the trace method calls were manually inserted at the entry and exit points of each method and the other one where the trace method calls were inserted by aspect-oriented programming with compile-time weaving automatically. We have selected such a pressing tracing policy to study the differences at maximal margin. In addition, no logging frameworks were used to rule out their performance effects. Both test applications produce the same bytes of trace data between the points of time measurements. Moreover, the two test applications were run in parallel, in three ways: (1) with deactivated tracing, (2) with activated tracing with output in /dev/null, (3) with activated tracing with output in a real file, to eliminate the impact of extraneous variables while computing runtime ratios of conventional and aspect-oriented execution tracing. As platform we have chosen Java and AspectJ in version 1.8 and 1.9, which at the time of writing the manuscript is the latest available AspectJ version, to examine whether Java and aspectJ versions have an impact on the performance of execution tracing. Results: The measurements produced results with very strong statistical significance (p < 0.001): (1) different Java and AspectJ versions have different performance impacts on execution tracing, (2) constructing the trace messages in the two test applications had more impact on the performance than writing these data in real files, (3) aspect-oriented implementation of execution tracing deteriorated the performance with deactivated tracing compared to the non-aspect-oriented implementation, (4) the aspect-oriented implementation of execution tracing produced only an acceptable performance overhead with activated tracing compared to the non-aspect-oriented counterpart with activated tracing. Measurement data are provided in the appendix.

  • dc.title: How Location-Aware Access Control Affects User Privacy and Security in Cloud Computing Systems dc.contributor.author: Zeng, W.; Bashir, Reem; Wood, Trevor; Siewe, Francois; Janicke, Helge; Wagner, Isabel dc.description.abstract: The use of cloud computing (CC) is rapidly increasing due to the demand for internet services and communications. The large number of services and data stored in the cloud creates security risks due to the dynamic movement of data, connected devices and users between various cloud environments. In this study, we will develop an innovative prototype for location-aware access control and data privacy for CC systems. We will apply location-aware access control policies to role-based access control of Cloud Foundry, and then analyze the impact on user privacy after implementing these policies. This innovation can be used to address the security risks introduced by inter-cloud use and communication, and will have significant impact in making citizen’s personal data more secure. dc.description: open access article

  • dc.title: Analysing Petri Nets in a Calculus of Context-aware Ambients dc.contributor.author: Siewe, Francois; Germanos, Vasileios; Zeng, W. dc.description.abstract: This paper proposes an approach to analysing and verifying Petri nets using a Calculus of Context-aware Ambients (CCA). We propose an algorithm that transforms a Petri net into a CCA process. This demonstrates that any system that can be specified in Petri nets can also be specified in CCA. Besides, the system can be analysed and verified using the CCA verification tools. We illustrate the practicality of our approach using a case study of the dining cryptographers problem.

Research interests/expertise

Computer Security

Pervasive Systems

Formal Methods

Process Calculi

Formal Verification

Qualifications

PhD in Computer Science, Â鶹´«Ã½, Leicester, UK, 2005

Doctorat de Troisième Cycle, Université de Yaoundé I, Yaoundé, Cameroon, 1997

Msc in Computer Science, Université de Yaoundé I, Yaoundé, Cameroon, 1992

Bsc in Maths & Computer Science, Université de Yaoundé, Yaoundé, Cameroon, 1990

Â鶹´«Ã½ taught

Pervasive Systems

Honours and awards

Research Journal of Textile and Apparel (RJTA) Excellent Paper Award 2011

Current research students

First supervisor for:

Ahmed Mohammed Alalshuhai
Abdulgader Zaid Almutairi
Saud Maqed Almutairi
Muslit Awadh Alotaibi
Asma Abdulghani Qasem Al-Shargabi
Elena Chernikova
Abdulghani Mahmoud Suwan

Second supervisor for:

Abdullah Shawan Alotaibi
Amr Mohsen Jadi

Francios-Siewe