CVNov 24, 2022Code
Towards computer vision technologies: Semi-automated reading of automated utility metersMaria Spichkova, Johan van Zyl
In this report we analysed a possibility of using computer vision techniques for automated reading of utility meters. In our study, we focused on two computer vision techniques: an open-source solution Tensorflow Object Detection (Tensorflow) and a commercial solution Anyline. This report extends our previous publication: We start with presentation of a structured analysis of related approaches. After that we provide a detailed comparison of two computer vision technologies, Tensorflow Object Detection (Tensorflow) and Anyline, applied to semi-automated reading of utility meters. In this paper, we discuss limitations and benefits of each solution applied to utility meters reading, especially focusing on aspects such as accuracy and inference time. Our goal was to determine the solution that is the most suitable for this particular application area, where there are several specific challenges.
3.3SEMar 23
One-Year Internship Program on Software Engineering: Students' Perceptions and Educators' Lessons LearnedGolnoush Abaei, Mojtaba Shahin, Maria Spichkova
The inclusion of internship courses in Software Engineering (SE) programs is essential for closing knowledge gaps and improving graduates' readiness for the software industry. Our study focuses on year-long internships at RMIT University (Melbourne, Australia), which offers in-depth industry engagement. We analysed how the course evolved over the last 10 years to incorporate students' needs and summarised the lessons learned that can be helpful for other educators supporting internship courses. Our qualitative analysis of internship data based on 91 reports during 2023-2024 identified three challenge themes the students faced, and which courses were found by students to be particularly beneficial during their internships. On this basis, we proposed recommendations for educators and companies to help interns overcome challenges and maximise their learning experience.
SEDec 6, 2016Code
Managing Usability and Reliability Aspects in Cloud ComputingMaria Spichkova, Heinz W. Schmidt, Ian E. Thomas et al.
Cloud computing provides a great opportunity for scientists, as it enables large-scale experiments that cannot are too long to run on local desktop machines. Cloud-based computations can be highly parallel, long running and data-intensive, which is desirable for many kinds of scientific experiments. However, to unlock this power, we need a user-friendly interface and an easy-to-use methodology for conducting these experiments. For this reason, we introduce here a formal model of a cloud-based platform and the corresponding open-source implementation. The proposed solution allows to conduct experiments without having a deep technical understanding of cloud-computing, HPC, fault tolerance, or data management in order to leverage the benefits of cloud computing. In the current version, we have focused on biophysics and structural chemistry experiments, based on the analysis of big data from synchrotrons and atomic force microscopy. The domain experts noted the time savings for computing and data management, as well as user-friendly interface.
17.1AIApr 2
Analysis of LLM Performance on AWS Bedrock: Receipt-item Categorisation Case StudyGabby Sanchez, Sneha Oommen, Cassandra T. Britto et al.
This paper presents a systematic, cost-aware evaluation of large language models (LLMs) for receipt-item categorisation within a production-oriented classification framework. We compare four instruction-tuned models available through AWS Bedrock: Claude 3.7 Sonnet, Claude 4 Sonnet, Mixtral 8x7B Instruct, and Mistral 7B Instruct. The aim of the study was (1) to assess performance across accuracy, response stability, and token-level cost, and (2) to investigate what prompting methods, zero-shot or few-shot, are especially appropriate both in terms of accuracy and in terms of incurred costs. Results of our experiments demonstrated that Claude 3.7 Sonnet achieves the most favourable balance between classification accuracy and cost efficiency.
SEApr 16, 2025
Agile Retrospectives: What went well? What didn't go well? What should we do?Maria Spichkova, Hina Lee, Kevin Iwan et al.
In Agile/Scrum software development, the idea of retrospective meetings (retros) is one of the core elements of the project process. In this paper, we present our work in progress focusing on two aspects: analysis of potential usage of generative AI for information interaction within retrospective meetings, and visualisation of retros' information to software development teams. We also present our prototype tool RetroAI++, focusing on retros-related functionalities.
CYOct 22, 2019
Easy Mobile Meter Reading for Non-Smart Meters: Comparison of AWS Rekognition and Google Cloud Vision ApproachesMaria Spichkova, Johan van Zyl, Siddharth Sachdev et al.
Electricity and gas meter reading is a time consuming task, which is done manually in most cases. There are some approaches proposing use of smart meters that report their readings automatically. However, this solution is expensive and requires (1) replacement of the existing meters, even when they are functional and new, and (2) large changes of the whole system dealing with the meter readings. This paper presents results of a project on automation of the meter reading process for the standard (non-smart) meters using computer vision techniques, focusing on the comparison of two computer vision techniques, Google Cloud Vision and AWS Rekognition.
SEOct 11, 2019
Requirements Engineering for Global Systems: Cultural, Regulatory and Technical AspectsMaria Spichkova, Heinz Schmidt
In this paper we present a formal framework for analysis and optimisation of the requirements specifications of systems developed to apply in several countries. As different countries typically have different regulations/laws as well as different cultural restrictions, the corresponding specific requirements might differ in each particular case. Our framework provides a basis for (1) systematic and formal analysis of the diversity and interdependencies within the sets of the requirements, to avoid non-compliance, contradictions and redundancies; (2) corresponding systematic process for change management in the case of global system development.
SEOct 11, 2019
Towards Readability Aspects of Probabilistic Mode AutomataHeinz Schmidt, Maria Spichkova
This paper presents a new approach and design model targeting hybrid designer- and operator-defined performance budgets for timing and energy consumption. The approach is based on Petri Nets formalism. As the cognitive load is typically high while using formal methods, this increases the chances of mistakes. Our approach is focused on the readability aspects and aims to decrease the cognitive load of developers. We illustrate the proposed approach on example of a sample embedded multi-media system, a modern digital camera.
SEDec 14, 2018
Monitoring Informed Testing for IoTAhmed Abdullah, Heinz W. Schmidt, Maria Spichkova et al.
Internet of Things (IoT) systems continuously collect a large amount of data from heterogeneous "smart objects" through standardised service interfaces. A key challenge is how to use these data and relevant event logs to construct continuously adapted usage profiles and apply them to enhance testing methods, i.e., prioritization of tests for the testing of continuous integration of an IoT system. In addition, these usage profiles provide relevance weightings to analyse architecture and behaviour of the system. Based on the analysis, testing methods can predict specific system locations that are susceptible to error, and therefore suggest where expanded runtime monitoring is necessary. Furthermore, IoT aims to connect billions of "smart devices" over the network. Testing even a small IoT system connecting a few dozens of smart devices would require a network of test Virtual Machines (VMs) possibly spreading across the Fog and the Cloud. In this paper we propose a framework for testing of each IoT layer in a separate VM environment, and discuss potential difficulties with optimal VM allocation.
FLNov 20, 2018
Formal FocusST Specification of CANMaria Spichkova
This paper presents a formal specification of the Controller Area Network (CAN) protocol using FocusST framework. We formally describe core components of the protocol, which provides a basis for further formal analysis using the Isabelle/HOL theorem prover.
SEJul 5, 2018
Cultural Influences on Requirements Engineering Process in the Context of Saudi ArabiaTawfeeq Alsanoosy, Maria Spichkova, James Harland
Software development requires intensive communication between the requirements engineers and software stakeholders, particularly during the Requirements Engineering (RE) phase. Therefore, the individuals' culture might influence both the RE process and the result. Our aims are to investigate the extend of cultural influences on the RE process, and to analyze how the RE process can be adapted to take into account cultural aspects. The model we present is based on Hofstede's cultural theory. The model was applied on a pilot case study in the context of the conservative Saudi Arabian culture. The results reveal 6 RE aspects and 10 cultural factors that have a large impact on the RE practice.
SEJul 5, 2018
FocusST Solution for Analysis of Cryptographic PropertiesMaria Spichkova, Radhika Bhat
To analyse cryptographic properties of distributed systems in a systematic way, a formal theory is required. In this paper, we present a theory that allows (1) to specify distributed systems formally, (2) to verify their cryptographic wrt. composition properties, and (3) to demonstrate the correctness of syntactic interfaces for specified system components automatically. To demonstrate the feasibility of the approach we use a typical example from the domain of crypto-based systems: a variant of the Internet security protocol TLS. A security flaw in the initial version of TLS specification was revealed using a semi-automatic theorem prover, Isabelle/HOL.
SEJul 5, 2018
Towards Classification of Lightweight Formal MethodsAnna Zamansky, Maria Spichkova, Guillermo Rodriguez-Navas et al.
The use of lightweight formal methods (LFM) for the development of industrial applications has become a major trend. Although the term "lightweight formal methods" has been used for over ten years now, there seems to be no common agreement on what "lightweight" actually means, and different communities apply the term in all kinds of ways. In this paper, we explore the recent trends in the use of LFM, and establish our opinion that cost-effectiveness is the driving force to deploy LFM. Further, we propose a simple framework that should help to classify different LFM approaches and to estimate which of them are most cost-effective for a certain software engineering project. We demonstrate our framework using some examples.
RODec 22, 2017
Towards Software Development For Social Robotics SystemsChong Sun, Jiongyan Zhang, Cong Liu et al.
In this paper we introduce the core results of the project on software development for social robotics systems. The usability of maintenance and control features is crucial for many kinds of systems, but in the case of social robotics we also have to take into account that (1) the humanoid robot physically interacts with humans, (2) the conversation with children might have different requirements in comparison to the conversation with adults. The results of our work were implement for the humanoid PAL REEM robot, but their core ideas can be applied for other types of humanoid robots. We developed a web-based solution that supports the management of robot-guided tours, provides recommendations for the users as well as allows for a visual analysis of the data on previous tours.
HCDec 13, 2017
Software Engineering Solutions To Support Vertical TransportationAlber J. Christianto, Peng Chen, Osheen Walawedura et al.
In this paper we introduce the core results of the project on visualisation and analysis of data collected from the vertical transport facilities. The aim of the project was to provide better user experience as well as to help building maintenance staff to increase productivity of their work. We elaborated a web-based system for vertical transportation, to cover the needs of (1) staff working on building maintenance, (2) people who are regularly using the facilities in the corresponding buildings.
SENov 22, 2017
(Auto)Focus approaches and their applications: A systematic reviewMaria Spichkova
Focus, a framework for formal specification and development of interactive systems, was introduced approx. 25 years ago. Since then this approach was broadly used in academic and industrial studies, as well as provided a basis for a number of another frameworks focusing on particular domains, and for the AF3 modelling tool. In this paper we provide a literature review of the corresponding approaches, academic case studies and industrial applications of these methods.
SEMay 29, 2017
From Temporal Models to Property-Based TestingNasser Alzahrani, Maria Spichkova, Jan Olaf Blech
This paper presents a framework to apply property-based testing (PBT) on top of temporal formal models. The aim of this work is to help software engineers to understand temporal models that are presented formally and to make use of the advantages of formal methods: the core time-based constructs of a formal method are schematically translated to the BeSpaceD extension of the Scala programming language. This allows us to have an executable Scala code that corresponds to the formal model, as well as to perform PBT of the models functionality. To model temporal properties of the systems, in the current work we focus on two formal languages, TLA+ and FocusST.
SEDec 6, 2016
Spatio-temporal Models for Formal Analysis and Property-based TestingNasser Alzahrani, Maria Spichkova, Jan Olaf Blech
This paper presents our ongoing work on spatio-temporal models for formal analysis and property-based testing. Our proposed framework aims at reducing the impedance mismatch between formal methods and practitioners. We introduce a set of formal methods and explain their interplay and benefits in terms of usability.
SEDec 6, 2016
Model-based generation of natural language specificationsPhan Vo Thu Nhat, Maria Spichkova
Application of formal models provides many benefits for the software and system development, however, the learning curve of formal languages could be a critical factor for an industrial project. Thus, a natural language specification that reflects all the aspects of the formal model might help to understand the model and be especially useful for the stakeholders who do not know the corresponding formal language. Moreover, an automated generation of the documentation from the model would replace manual updates of the documentation for the cases the model is modified. This paper presents an ongoing work on generating natural language specifications from formal models. Our goal is to generate documentation in English from the basic modelling artefacts, such as data types, state machines, and architectural components. To allow further formal analysis of the generated specification, we restrict English to its subset, Attempto Controlled English.
SEOct 25, 2016
Spatio-temporal features of FocusSTMaria Spichkova
In this technical report we summarise the spatio-temporal features and present the core operators of FocusST specification framework. We present the general idea of these operators, using a Steam Boiler System example to illustrate how the specification framework can be applied. FocusST was inspired by Focus, a framework for formal specification and development of interactive systems. In contrast to Focus, FocusST is devoted to specify and to analyse spatial (S) and timing (T) aspects of the systems, which is also reflected in the name of the framework: the extension ST highlights the spatio-temporal nature of the specifications.
SEJan 23, 2016
Towards a Human-Centred Approach in Modelling and Testing of Cyber-Physical SystemsMaria Spichkova, Anna Zamansky, Eitan Farchi
The ability to capture different levels of abstraction in a system model is especially important for remote integration, testing/verification, and manufacturing of cyber-physical systems (CPSs). However, the complexity of modelling and testing of CPSs makes these processes extremely prone to human error. In this paper we present our ongoing work on introducing human-centred considerations into modelling and testing of CPSs, which allow for agile iterative refinement processes of different levels of abstraction when errors are discovered or missing information is completed.
SEDec 9, 2015
Model-based Hazard and Impact AnalysisSonila Dobi, Mario Gleirscher, Maria Spichkova et al.
Hazard and impact analysis is an indispensable task during the specification and development of safety-critical technical systems, and particularly of their software-intensive control parts. There is a lack of methods supporting an effective (reusable, automated) and integrated (cross-disciplinary) way to carry out such analyses. This report was motivated by an industrial project whose goal was to survey and propose methods and models for documentation and analysis of a system and its environment to support hazard and impact analysis as an important task of safety engineering and system development. We present and investigate three perspectives of how to properly encode safety-relevant domain knowledge for better reuse and automation, identify and assess all relevant hazards, as well as pre-process this information and make it easily accessible for reuse in other safety and systems engineering activities and, moreover, in similar engineering projects.
SEAug 7, 2015
Requirements Engineering Aspects of a Geographically Distributed ArchitectureMaria Spichkova, Heinz Schmidt
We present our ongoing work on requirements specification and analysis for the geographically distributed software and systems. Developing software and systems within/for different countries or states or even within/for different organisations means that the requirements to them can differ in each particular case. These aspects naturally impact on the software architecture and on the development process as a whole. The challenge is to deal with this diversity in a systematic way, avoiding contradictions and non-compliance. In this paper, we present a formal framework for the analysis of the requirements diversity, which comes from the differences in the regulations, laws and cultural aspects for different countries or organisations. The framework also provides the corresponding architectural view and the methods for requirements structuring and optimisation.
SEJul 6, 2015
Chiminey: Reliable Computing and Data Management Platform in the CloudIman I. Yusuf, Ian E. Thomas, Maria Spichkova et al.
The enabling of scientific experiments that are embarrassingly parallel, long running and data-intensive into a cloud-based execution environment is a desirable, though complex undertaking for many researchers. The management of such virtual environments is cumbersome and not necessarily within the core skill set for scientists and engineers. We present here Chiminey, a software platform that enables researchers to (i) run applications on both traditional high-performance computing and cloud-based computing infrastructures, (ii) handle failure during execution, (iii) curate and visualise execution outputs, (iv) share such data with collaborators or the public, and (v) search for publicly available data.
SEMar 12, 2015
Human Factors in Software Reliability EngineeringMaria Spichkova, Huai Liu, Mohsen Laali et al.
In this paper, we present our vision of the integration of human factors engineering into the software development process. The aim of this approach is to improve the quality of software and to deal with human errors in a systematic way.
SEMar 11, 2015
Reconciling a component and process viewMaria Spichkova, Heinz Schmidt
In many cases we need to represent on the same abstraction level not only system components but also processes within the system, and if for both representation different frameworks are used, the system model becomes hard to read and to understand. We suggest a solution how to cover this gap and to reconcile component and process views on system representation: a formal framework that gives the advantage of solving design problems for large-scale component systems.
SEDec 11, 2014
Towards Logical Architecture and Formal Analysis of Dependencies Between ServicesMaria Spichkova, Heinrich Schmidt
This paper presents a formal approach to modelling and analysis of data and control flow dependencies between services within remotely deployed distributed systems of services. Our work aims at elaborating for a concrete system, which parts of the system (or system model) are necessary to check a given property. The approach allows services decomposition oriented towards efficient checking of system properties as well as analysis of dependencies within a system.
SEOct 6, 2014
Cyber-Virtual Systems: Simulation, Validation & VisualizationJan Olaf Blech, Maria Spichkova, Ian Peake et al.
We describe our ongoing work and view on simulation, validation and visualization of cyber-physical systems in industrial automation during development, operation and maintenance. System models may represent an existing physical part - for example an existing robot installation - and a software simulated part - for example a possible future extension. We call such systems cyber-virtual systems. In this paper, we present the existing VITELab infrastructure for visualization tasks in industrial automation. The new methodology for simulation and validation motivated in this paper integrates this infrastructure. We are targeting scenarios, where industrial sites which may be in remote locations are modeled and visualized from different sites anywhere in the world. Complementing the visualization work, here, we are also concentrating on software modeling challenges related to cyber-virtual systems and simulation, testing, validation and verification techniques for them. Software models of industrial sites require behavioural models of the components of the industrial sites such as models for tools, robots, workpieces and other machinery as well as communication and sensor facilities. Furthermore, collaboration between sites is an important goal of our work.
SEMay 13, 2014
Formalisation and Analysis of Component DependenciesMaria Spichkova
This set of theories presents a formalisation in Isabelle/HOL+Isar of data dependencies between components. The approach allows to analyse system structure oriented towards efficient checking of system: it aims at elaborating for a concrete system, which parts of the system (or system model) are necessary to check a given property.
CRMay 13, 2014
Compositional properties of crypto-based componentsMaria Spichkova
This paper presents an Isabelle/HOL+Isar set of theories which allows to specify crypto-based components and to verify their composition properties wrt. cryptographic aspects. We introduce a formalisation of the security property of data secrecy, the corresponding definitions and proofs.
SEMay 7, 2014
Stream processing components: Isabelle/HOL formalisation and case studiesMaria Spichkova
This set of theories presents an Isabelle/HOL+Isar formalisation of stream processing components introduces in Focus, a framework for formal specification and development of interactive systems. This is an extended and updated version of the formalisation, which was elaborated within the methodology 'Focus on Isabelle'. In addition, we also applied the formalisation on three case studies that cover different application areas: process control (Steam Boiler System), data transmission (FlexRay communication protocol), memory and processing components (Automotive-Gateway System).
SEApr 29, 2014
Do we really need to write documentation for a system? CASE tool add-ons: generator+editor for a precise documentationMaria Spichkova, Xiuna Zhu, Dongyue Mou
One of the common problems of system development projects is that the system documentation is often outdated and does not describe the latest version of the system. The situation is even more complicated if we are speaking not about a natural language description of the system, but about its formal specification. In this paper we discuss how the problem could be solved by updating the documentation automatically, by generating a new formal specification from the model if the model is frequently changed.
SEApr 29, 2014
Refinement-Based Specification: Requirements and ArchitectureMaria Spichkova
This paper presents the methodology for the system requirements and architecture w.r.t. their decomposition and refinement. It also introduces ideas of refinement layers and of refinement-based verification.
SEApr 29, 2014
Human Factors of Formal MethodsMaria Spichkova
This paper provides a brief introduction to the work that aims to apply the achievements within the area of engineering psychology to the area of formal methods, focusing on the specification phase of a system development process.
SEMar 12, 2014
Towards system development methodologies: From software to cyber-physical domainMaria Spichkova, Alarico Campetelli
In many cases, it is more profitable to apply existing methodologies than to develop new ones. This holds, especially, for system development within the cyber-physical domain: until a certain abstraction level we can (re)use the methodologies for the software system development to benefit from the advantages of these techniques.
SEMar 5, 2014
From abstract modelling to remote cyber-physical integration/interoperability testingMaria Spichkova, Heinrich Schmidt, Ian Peake
An appropriate system model gives developers a better overview, and the ability to fix more inconsistencies more effectively and earlier in system development, reducing overall effort and cost. However, modelling assumes abstraction of several aspects of the system and its environment, and this abstraction should be not overlooked, but properly taken into account during later development phases. This is especially especially important for the cases of remote integration, testing/verification, and manufacturing of cyber-physical systems. For this reason we introduce a development methodology for cyber-physical systems (CPS) with a focus on the abstraction levels of the system representation, based on the idea of refinement-based development of complex, interactive systems.
SEJul 10, 2012
Verified System Development with the AutoFocus Tool ChainMaria Spichkova, Florian Hölzl, David Trachtenherz
This work presents a model-based development methodology for verified software systems as well as a tool support for it: an applied AutoFocus tool chain and its basic principles emphasizing the verification of the system under development as well as the check mechanisms we used to raise the level of confidence in the correctness of the implementation of the automatic generators.