71 research outputs found
Agree to Disagree: Security Requirements Are Different, But Mechanisms For Security Adaptation Are Not
We describe a dialogue between a proponent and an opponent of the proposition "security is not just another quality attribute in self-adaptive systems". The dialogue is structured in two steps. First, we examine whether security requirements are different from other system-level requirements. Our consensus is that security requirements require specific methods for elicitation, reasoning, and analysis. However, other requirements (such as safety, usability and performance) also require specific techniques. Then, we examine the adaptation mechanisms for security and compare them with other properties. Our consensus is that most adaptation techniques can be applied to maintain security and other requirements alike
Machine Learning for Software Engineering: Models, Methods, and Applications
Machine Learning (ML) is the discipline that studies methods for automatically inferring models from data. Machine learning has been successfully applied in many areas of software engineering ranging from behaviour extraction, to testing, to bug fixing. Many more applications are yet be defined. However, a better understanding of ML methods, their assumptions and guarantees would help software engineers adopt and identify the appropriate methods for their desired applications. We argue that this choice can be guided by the models one seeks to infer. In this technical briefing, we review and reflect on the applications of ML for software engineering organised according to the models they produce and the methods they use. We introduce the principles of ML, give an overview of some key methods, and present examples of areas of software engineering benefiting from ML. We also discuss the open challenges for reaching the full potential of ML for software engineering and how ML can benefit from software engineering methods
Automated synthesis of mediators to support component interoperability
Interoperability is a major concern for the software engineering field, given the increasing need to compose components dynamically and seamlessly. This dynamic composition is often hampered by differences in the interfaces and behaviours of independently-developed components. To address these differences without changing the components, mediators that systematically enforce interoperability between functionally-compatible components by mapping their interfaces and coordinating their behaviours are required. Existing approaches to mediator synthesis assume that an interface mapping is provided which specifies the correspondence between the operations and data of the components at hand. In this paper, we present an approach based on ontology reasoning and constraint programming in order to infer mappings between components' interfaces automatically. These mappings guarantee semantic compatibility between the operations and data of the interfaces. Then, we analyse the behaviours of components in order to synthesise, if possible, a mediator that coordinates the computed mappings so as to make the components interact properly. Our approach is formally-grounded to ensure the correctness of the synthesised mediator. We demonstrate the validity of our approach by implementing the MICS (Mediator synthesIs to Connect Components) tool and experimenting it with various real-world case studies
Composing distributed systems: overcoming the interoperability challenge
Software systems are increasingly composed of independently-developed components, which are often systems by their own. This composition is possible only if the components are interoperable, i.e., are able to work together in order to achieve some user task(s). However, interoperability is often hampered by the differences in the data types, communication protocols, and middleware technologies used by the components involved. In order to enable components to interoperate despite these differences, mediators that perform the necessary data translations and coordinate the components' behaviours appropriately, have been introduced. Still, interoperability remains a critical challenge for today's and even more tomorrow's distributed systems that are highly heterogeneous and dynamic. This chapter introduces the fundamental principles and solutions underlaying interoperability in software systems with a special focus on protocols. First, we take a software architecture perspective and present the fundamentals for reasoning about interoperability and bring out mediators as a key solution to achieve protocol interoperability. Then, we review the solutions proposed for the implementation, synthesis, and dynamic deployment of mediators. We show how these solutions still fall short in automatically solving the interoperability problem in the context of systems of systems. This leads us to present the solution elaborated in the context of the European Connect project, which revolves around the notion of emergent middleware, whereby mediators are synthesised on the fly
Layered Connectors: Revisiting the Formal Basis of Architectural Connection for Complex Distributed Systems
International audienceThe complex distributed systems of nowadays require the dynamic composition of multiple components, which are autonomous and so complex that they can be considered as systems in themselves. These components often use different application protocols and are implemented on top of heterogeneous middleware, which hamper their successful interaction. The explicit and rigorous description and analysis of components interaction is essential in order to enable the dynamic composition of these components. In this paper, we propose a formal approach to represent and reason about interactions between components using layered connectors. Layered connectors describe components interaction at both the application and middleware layers and make explicit the role of middleware in the realisation of this interaction. We provide formal semantics of layered connectors and present an approach for the synthesis of layered connectors in order to enable the dynamic composition of highly heterogeneous components. We validate our approach through a case study in the area of collaborative emergency management
Recommended from our members
Measuring the variation and distribution of ozone in the martian atmosphere
In this project, ozone will be retrieved and mapped in the Martian atmosphere using nadir and occultation UV observations from the NOMAD instrument. The aim is to further understand the vertical, temporal and spatial distribution of ozone and how this affects or is affected by other atmospheric species including water vapour, water ice clouds, and photochemical radicals.
Ozone is a trace gas in the Martian atmosphere, and it can be used to infer water vapour through its anticorrelation and, under certain conditions, track global meridional circulation patterns [1]. It can be used to derive concentrations of trace gases through its photochemical reactions which are otherwise difficult to measure, such as HOx and O radicals [2]. These species are short lived and highly reactive, including to any potential organic species, biological or otherwise. Furthermore, they are responsible for the stability of carbon dioxide, the primary component of the atmosphere [3]. Investigating the distribution of ozone, therefore, can help determine the photochemistry of these radicals and their formation and destruction.
NOMAD (Nadir and Occultation for Mars Discovery) is an instrument aboard the ExoMars Trace Gas Orbiter. It reached Mars in 2016 and entered science mapping orbit in March 2018 [4, 5]. One of its primary objectives includes mapping trace gases in the atmosphere such as ozone and HOx species. It aims to retrieve transient, temporal and spatial data from the ultraviolet region using the UVIS spectrometer. These retrievals, coupled with a GCM, will then be used to study MarsтАЩ climate to better understand its diurnal, seasonal and potentially interannual variations.
This will allow us to find out how ozone is influenced and further develop our understanding of the processes such as the water cycle and photochemistry in the Martian climate
тАЬAre we in this together?тАЭ: embedding social identity detection in drones improves emergency coordination
Autonomous systems, such as drones, are critical for emergency mitigation, management, and recovery. They provide situational awareness and deliver communication services which effectively guide emergency respondersтАЩ decision making. This combination of technology and people comprises a socio-technical system. Yet, focusing on the use of drone technology as a solely operational tool, underplays its potential to enhance coordination between the different agents involved in mass emergencies, both human and non-human. This paper proposes a new methodological approach that capitalizes on social identity principles to enable this coordination in an evacuation operation. In the proposed approach, an adaptive drone uses sensor data to infer the group membership of the survivors it encounters during the operation. A corpus of 200 interactions of survivorsтАЩ talk during real-life emergencies was computationally classified as being indicative of a shared identity or personal/no identity. This classification model, then, informed a game-theoretic model of human-robot interactions. Bayesian Nash Equilibrium analysis determined the predicted behavior for the human agent and the strategy that the drone needs to adopt to help with survivor evacuation. Using linguistic and synthetic data, we show that the identity-adaptive architecture outperformed two non-adaptive architectures in the number of successful evacuations. The identity-adaptive drone can infer which victims are likely to be helped by survivors and where help from emergency teams is needed. This facilitates effective coordination and adaptive performance. This study shows decision-making can be an emergent capacity that arises from the interactions of both human and non-human agents in a socio-technical system
Recommended from our members
Feel It, Code It: Emotional Goal Modelling for Gender-Inclusive Design
Context and motivation: Organisational values such as inclusion are often explicit, providing a common language to guide behaviour and motivate employees. Personal values are often less explicit but do guide individuals' decisions, and when challenged they generate an emotional response. However, understanding organisational values and linking them to implicit personal values of employees can be challenging.
Question/problem: In this paper, we investigate the use of emotional goal models to act as a link between organisational and personal values.
Principal ideas/result: We argue that when designing processes and systems for enacting organisational values, requirements engineers must consider the diverse personal values of the employees.
We completed a case study within a multi-national organisation and identified pain points on career journeys which amplify the disparity of experience between men and women. We applied emotional goal modelling to elicit requirements for inclusive processes. We suggest that emotional goals can serve as a proxy for personal values and can support the formulation of requirements for designing processes cognizant of the organisational value of inclusion.
Contribution: Our empirical evaluation suggests that the modelling of emotional goals can support the operationalisation of values as requirements for gender-inclusive organisational processes and systems
Recommended from our members
Quid Pro Quo: An Exploration of Reciprocity in Code Review
We explore the role of reciprocity in code review processes. Reciprocity manifests itself in two ways: 1) reviewing code for others translates to accepted code contributions, and 2) having contributions accepted increases the reviews made for others. We use vector autoregressive (VAR) models to explore the causal relation between reviews performed and accepted contributions. After fitting VAR models for 24 active open-source developers, we found evidence of reciprocity in 6 of them. These results suggest reciprocity does play a role in code review, that can potentially be exploited to increase reviewer participation
A Novel Architecture for Mobile Distributed Trie Hashing System
International audienceScalable and Distributed Data Structures (SDDS) are a class of data structures completely dedicated to distributed environments. They allow the management of large amounts of data while maintaining steady and optimum performances. Several families of SDDS have been proposed: LH*, RP*, DRT*, CTH*. None of these SDDS deals with the mobile environment. In this paper we present a novel architecture that uses a scalable and distributed data structure to manage insert/find/range query operations for mobile clients. We describe the design and the implementation of a mobile CTH* prototype. Our experimental results prove the validity of the design choices and show interesting access performances. The capabilities of the mobile CTH* platform offer new perspectives for high performance and ubiquitous data intensive applications
- тАж