It Is Time to Care for Ada!Vardanega, T.
doi: 10.1145/3742939.3742941pmid: N/A
1 A rather strange introduction I confess, I am a voracious book reader, and being (luckily) versed in quite a few tongues, I enjoy reading books frequently (but not always) without needing translation. In fact, I find languages fascinating, for all they say about people's culture, history, and traits. As a student in Computer Science in the late 1980s, I was imbued with Noam Chomsky's linguistic ''generative grammar'' theory. That theory sees specific languages as second-order derivatives of a single universal grammar, innate in the human mind. That theory, with its hierarchy of formal grammars, has laid the foundation for the theory and practice of language compilers. The principal tenet of Chomsky's theory is that grammar precedes language.
Formal Verification of Safety Critical Software in Ada: Two ApproachesKrishnan, Ranjani; Gupta, Ashutosh; Chandrachoodan, Nitin; VR, Lalithambika
doi: 10.1145/3742939.3742943pmid: N/A
The verification of real-time, embedded software in complex, safety critical systems such as crewed space launch vehicles is as significant as the design. Approaches based on formal methods are necessary to ensure exhaustive validation, in addition to the traditional testing and simulation techniques. In this work, the application of software model checking and static analysis in the verification and validation of safety critical software in Ada is explored. With the embedded flight control software in the onboard computer of an aerospace system as the case study, we apply the SPIN model checker and also develop a custom tool chain based on bounded model checking, for formal static analysis of Ada code. The major contributions include the definition of a systematic procedure for model checking with SPIN tool and the development of a new verification framework for formal static analysis of Ada programs. The two approaches are applied to an actual case study through accurate modelling of the execution environment for the concurrent onboard software in a launch vehicle. The results are compared and the advantages and drawbacks of both approaches are summarized.
Implementing Unsafe Features on top of a Safe Virtual MachineTaft, S. Tucker
doi: 10.1145/3742939.3742945pmid: N/A
It is common to translate a programming language to an intermediate representation as part of interpreting or compiling a program written in the language. The question is what are the implications when we try to implement normally unsafe features, such as pointers into a heap with user-controlled deallocation, on top of a virtual machine based on an intermediate language that is inherently safe and provides no user-controlled deallocation. A similar question arises in the implementation of exceptions on top of a virtual machine that has no direct support for exceptions but has lightweight threading. This paper will describe how we are addressing these two challenges as part of building an Ada implementation on top of a parallel virtual machine, and evaluate the result.
Software Verification and Generative AI Some Practical Examples and ConsiderationsMartignano, M.; Damiani, A.; Nucciarelli, L.; Gui, D.; Magalini, S.
doi: 10.1145/3742939.3742946pmid: N/A
Software verification, that is requirements baseline analysis, technical specification analysis, design analysis and code and testing analysis [1], is a crucial aspect of software development, ensuring that the products of each development phase satisfy the conditions imposed at the start of that phase [2]. Traditional software verification techniques often rely on manual effort, which can be time-consuming and error prone. However, with recent advancements in Generative Artificial Intelligence (AI) and Large Language Models (LLMs), there is a growing opportunity to automate and improve software verification activities. This paper describes how Generative AI, particularly LLMs, can facilitate software verification activities, including understanding of documentation, code analysis, bug detection and testing. Benefits are presented together with the associated challenges and limitations, especially the potential risk of exposing sensitive and proprietary information.
AI Augmented Requirements Engineering in the AIDOaRT Project: NLP Techniques and Language Models to Encode Requirements Text Semantically for the Railway IndustryBagnato, Alessandra; Said, Bilal
doi: 10.1145/3742939.3742948pmid: N/A
Requirements engineering (RE) remains a complex and crucial preliminary phase in the life cycle of a Cyber- Physical System (CPS) design and development process. In CPS, such as railway and automotive systems, the requirements of a single system, often expressed and handled in unstructured text format, may exceed several thousands of clauses, with technical jargon, multitude of references to external safety and functional standards, extensive cross-references and dependencies. This makes RE activities, such as requirements analysis, validation and allocation, time consuming and error prone for system engineers. This paper contributes with Natural Language Processing (NLP) Techniques and Language Models (LM) to encode requirements text semantically. It describes NLP4RE, a tool by Softeam for requirements semantic similarity search. It has been applied for a use case from the railway industry within the AIDOaRT project. In this use case, system engineers get valuable insights on new bid documents by retrieving semantically similar clauses from previous projects.
5G-Enabled Edge Computing for Real-Time Smart Mobility Applications: The PROXIMITY PlatformKartsakli, Elli; Martinez, Oriol; Rojas, Imanol; Cañete, Alba; Masip, Vicente; Quiñones, Eduardo
doi: 10.1145/3742939.3742949pmid: N/A
Edge computing is an emerging paradigm that addresses the need for real-time processing close to the data sources, which becomes imperative as the volume of data generated by the massive and dispersed Internet of Things (IoT) devices grows exponentially. At the same time, the fifth generation of communications (5G) strives to deliver ubiquitous, fast and reliable connectivity, enabling a wide range of vertical services in sectors such as smart cities, autonomous driving, healthcare, and industrial automation, by supporting massive device connectivity and ultra-low latency communication. The convergence of both technologies can provide efficient, scalable, and responsive services that meet the demands of a rapidly evolving digital landscape. This paper presents the approach proposed in the PROXIMITY project to provide a unified, integrated and 5Genabled communication ecosystem, aiming to facilitate the development, deployment and execution of innovative services than can run anywhere across the edge and cloud compute continuum. To showcase the capabilities of this approach, two smart mobility use cases have been selected, implementing real-time analytic services for safe and clean mobility.
Towards Model-Based System Engineering for Cyber-physical Systems in the MYRTUS ProjectBagnato, Alessandra; Cadavid, Juan
doi: 10.1145/3742939.3742950pmid: N/A
The MYRTUS1 project aims at unlocking the new living dimension of Cyber Physical Systems (CPS) integrating edge, fog and cloud computing platforms. This integration requires the reinvention of programming languages and tools to orchestrate collaborative distributed and decentralised components. Additionally, components must be augmented with interface contracts covering both functional and non-functional properties. This paper describes the Model-based approach that will be used during the project, including the key cloud standard, the TOSCA (Topology and Orchestration Specification for Cloud Applications) to be used to describe cloud computing services and their components, as well as the orchestration process needed to manage them.
LIONESS Improving and Leveraging OpenMP for the Efficient and Safe Use of New High-Performance Hardware PlatformsRoyuela, Sara; Wartel, Franck; Tiberio, Sylvain; Jenn, Eric; Guérard, Hubert; Bois, Guy
doi: 10.1145/3742939.3742951pmid: N/A
The number and diversity of embedded Field- Programmable Gate Arrays (FPGAs) Multi-Processor Systems On Chip (MPSoCs) in modern satellites is increasing, and so is the complexity and cost of using them efficiently (i.e., optimally exploiting the available resources) and safely (i.e., complying with the applicable safety and availability constraints). Programming languages traditionally used in critical real-time systems have yet to be designed to address the extreme parallelism of modern platforms. To address this limitation, OpenMP, the de-facto standard for exploiting parallelism in shared-memory systems in the HPC domain, is increasingly considered a suitable solution in critical domains. OpenMP implements a comprehensive set of computation models (e.g., data and task parallelism, host and accelerator support), comes with an extensive set of assets (e.g., tools, libraries), and supports a large set of CPU and accelerator devices (e.g., GR740, MPPA, NVIDIA Jetson and Xilinx Ultrascale+). Despite preliminary analysis proving the productivity and efficiency of OpenMP in the space, automotive and railway domains, some challenges must be addressed. This paper introduces LIONESS, a project funded by the European Space Agency (ESA) proposing an advanced OpenMP framework that combines enhancements in the parallel programming model with adapted compiler and runtime systems to provide benefits along two axes: (1) resilience, through providing fault-tolerance techniques, and (2) heterogeneity, through enabling the design space exploration of multiple deployment configurations considering multi-cores and accelerator devices.