7.9SEDec 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.
3.6SEJun 4, 2021
How to Bake Quantum into Your Pet Petri Nets and Have Your Net Theory TooHeinz W. Schmidt
Petri nets have found widespread use among many application domains, not least due to their human-friendly graphical syntax for the composition of interacting distributed and asynchronous processes and services, based in partial-order dependencies and concurrent executions. Petri nets also come with abstract semantics, and mathematical methods for compositional synthesis, structural checks and behavioural analysis. These have led to the use of various kinds of nets for real-time, distributed and parallel programming languages, software and services systems, with a view to their interfaces and interaction protocols. These affordances make Petri nets invaluable for distributed software architecture approaches focused on components, their mutual dependencies and environment-facing interactions. Quantum computing -- and in particular quantum software engineering -- is in its infancy and could benefit from the accumulated insights of software architecture research and of net theory, its methods, and its applications. In this paper, we establish a connection between Petri nets and quantum systems, such that net theory and the component architecture of nets may help in the synthesis and analysis of abstract software models and their interface protocols in hybrid classical-and-quantum programming languages and services systems. We leverage some insights from net formalisms for software specification for a versatile recipe to bake quantum into extant Petri net flavours, and prove universality and compositionality of Petri nets for quantum programming.
2.8SEOct 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.
2.8SEOct 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.
2.7SEDec 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.
10.7SEAug 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.
8.8SEJul 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.
17.0SEMar 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.
8.8SEMar 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.
4.0SEOct 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.
15.5SEApr 14, 2014
BeSpaceD: Towards a Tool Framework and Methodology for the Specification and Verification of Spatial Behavior of Distributed Software Component SystemsJan Olaf Blech, Heinz Schmidt
In this report, we present work towards a framework for modeling and checking behavior of spatially distributed component systems. Design goals of our framework are the ability to model spatial behavior in a component oriented, simple and intuitive way, the possibility to automatically analyse and verify systems and integration possibilities with other modeling and verification tools. We present examples and the verification steps necessary to prove properties such as range coverage or the absence of collisions between components and technical details.