305,489 research outputs found
Usability requirements for architectural analysis tool to support CBD
Component-based development is an architecture-centric process that relies on the integration of pre-fabricated software components. These are often blackbox components whose functionality and configuration may not match the “ideal” system architecture. Systematic architectural analysis can help ensure that risks resulting from architectural adaptations and trade-offs do not adversely affect critical system qualities (e.g. performance, security and modifiability). However, architectural analysis is a complex activity that involves planning, analysis, negotiation and assessment of large amounts of interrelated, often conflicting information. Good tool support is therefore essential for effective architectural analysis. However, the success of a tool depended not only on powerful analysis methods but also on the quality of the toolset's usability. This paper presents functional and non-functional requirements of the tool’s user interface, and discusses the HCI design principles and guidelines in designing a high-quality user interface that would allow developers to parse, analyse and modify architecture specification easily and effectively
Design and engineering of a simplified workflow execution for the MG5aMC event generator on GPUs and vector CPUs
Physics event generators are essential components of the data analysis
software chain of high energy physics experiments, and important consumers of
their CPU resources. Improving the software performance of these packages on
modern hardware architectures, such as those deployed at HPC centers, is
essential in view of the upcoming HL-LHC physics programme. In this paper, we
describe an ongoing activity to reengineer the Madgraph5_aMC@NLO physics event
generator, primarily to port it and allow its efficient execution on GPUs, but
also to modernize it and optimize its performance on vector CPUs. We describe
the motivation, engineering process and software architecture design of our
developments, as well as the current challenges and future directions for this
project. This paper is based on our submission to vCHEP2021 in March
2021,complemented with a few preliminary results that we presented during the
conference. Further details and updated results will be given in later
publications.Comment: 17 pages, 6 figures, submitted to vCHEP2021 proceedings in EPJ Web of
Conferences; minor changes to address comments from the EPJWOC reviewe
Towards secure cyber-physical systems for autonomous vehicles
Cyber-Physical systems have become ubiquitous. These systems integrate different
functionalities to satisfy the performance requirements and take advantage of the available
processing power of multi-core systems. Safety critical applications such as autonomous
vehicles or medical devices rely not only on proving correct functionality of
cyber-physical systems as essential certification criteria but they must also satisfy other
design constraints such as energy efficiency, low power consumption and reliability.
Their need to connect to the internet have created new challenges which means addressing
the security vulnerabilities has become as the first-class design concern.
In this talk, first a hardware/software co-design approach for two critical tasks, real-time
pedestrian and vehicle detections, which are essential in advanced driving assistance
systems (ADAS) and autonomous driving systems (ADS) is presented. We use partial
dynamic reconfiguration on FPGA for adaptive vehicle detection. In the second part of this talk, a system-level security-aware design approach is presented to avoid or confine
the impact of security compromises on the critical components of the cyber-physical
systems implemented in multiprocessor systems on chip. Our system-level security
approach considers the described system architecture for a specific application and
analyzes its security vulnerability based on the specified security rules to generate an
impact analysis report. Then, it creates a new system architecture configuration to protect
the critical components of the system by providing isolation of tasks without the
need to trust a central authority at run-time for heterogeneous multiprocessor system.
This approach allows safe use of shared IP with direct memory access, as well as
shared libraries by regulating memory accesses and the communications between the
system components
Design-time performance analysis of component-based real-time systems
In current real-time systems, performance metrics are one of the most challenging properties to specify, predict and measure. Performance properties depend on various factors, like environmental context, load profile, middleware, operating system, hardware platform and sharing of internal resources. Performance failures and not satisfying related requirements cause delays, cost overruns, and even abandonment of projects. In order to avoid these performancerelated project failures, the performance properties should be obtained and analyzed already at the early design phase of a project. In this thesis we employ principles of component-based software engineering (CBSE), which enable building software systems from individual components. The advantage of CBSE is that individual components can be modeled, reused and traded. The main objective of this thesis is to develop a method that enables to predict the performance properties of a system, based on the performance properties of the involved individual components. The prediction method serves rapid prototyping and performance analysis of the architecture or related alternatives, without performing the usual testing and implementation stages. The involved research questions are as follows. How should the behaviour and performance properties of individual components be specified in order to enable automated composition of these properties into an analyzable model of a complete system? How to synthesize the models of individual components into a model of a complete system in an automated way, such that the resulting system model can be analyzed against the performance properties? The thesis presents a new framework called DeepCompass, which realizes the concept of predictable assembly throughout all phases of the system design. The cornerstones of the framework are the composable models of individual software components and hardware blocks. The models are specified at the component development time and shipped in a component package. At the component composition phase, the models of the constituent components are synthesized into an executable system model. Since the thesis focuses on performance properties, we introduce performance-related types of component models, such as behaviour, performance and resource models. The dynamics of the system execution are captured in scenario models. The essential advantage of the introduced models is that, through the behaviour of individual components and scenario models, the behaviour of the complete system is synthesized in the executable system model. Further simulation-based analysis of the obtained executable system model provides application-specific and system-specific performance property values. To support the performance analysis, we have developed a CARAT software toolkit that provides and automates the algorithms for model synthesis and simulation. Besides this, the toolkit provides graphical tools for designing alternative architectures and visualization of obtained performance properties. We have conducted an empirical case study on the use of scenarios in the industry to analyze the system performance at the early design phase. It was found that industrial architects make extensive use of scenarios for performance evaluation. Based on the inputs of the architects, we have provided a set of guidelines for identification and use of performance-critical scenarios. At the end of this thesis, we have validated the DeepCompass framework by performing three case studies on performance prediction of real-time systems: an MPEG-4 video decoder, a Car Radio Navigation system and a JPEG application. For each case study, we have constructed models of the individual components, defined the SW/HW architecture, and used the CARAT toolkit to synthesize and simulate the executable system model. The simulation provided the predicted performance properties, which we later compared with the actual performance properties of the realized systems. With respect to resource usage properties and average task latencies, the variation of the prediction error showed to be within 30% of the actual performance. Concerning the pick loads on the processor nodes, the actual values were sometimes three times larger than the predicted values. As a conclusion, the framework has proven to be effective in rapid architecture prototyping and performance analysis of a complete system. This is valid, as in the case studies we have spent not more than 4-5 days on the average for the complete iteration cycle, including the design of several architecture alternatives. The framework can handle different architectural styles, which makes it widely applicable. A conceptual limitation of the framework is that it assumes that the models of individual components are already available at the design phase
Mining Architectural Responsibilities and Components from Textual Specifications Written in Natural Language
Given the enormous growth and complexity of modern software systems, architectural design has become an essential concern for almost every software development project. One of the most challenging steps for designing the best architecture for a certain piece of software is the analysis of requirements, usually written in natural language by engineers not familiar with specific design formalisms. The Use Case Map (UCM) notation can be used to map requirements into proper design concerns, usually known as responsibilities. In this paper, we introduce an approach for mining candidate architectural responsibilities and components from textual descriptions of requirements using natural language processing (NLP) techniques, in order to relieve software designers of this complex and time-consuming task. High accuracy and precision rates achieved by applying part-of-speech (POS) tagging with domain rules and semantic clustering to textual requirement documents, suggest a great potential for providing assistance to software designers during early stages of development.Sociedad Argentina de Informática e Investigación Operativ
Mining Architectural Responsibilities and Components from Textual Specifications Written in Natural Language
Given the enormous growth and complexity of modern software systems, architectural design has become an essential concern for almost every software development project. One of the most challenging steps for designing the best architecture for a certain piece of software is the analysis of requirements, usually written in natural language by engineers not familiar with specific design formalisms. The Use Case Map (UCM) notation can be used to map requirements into proper design concerns, usually known as responsibilities. In this paper, we introduce an approachfor mining candidate architectural responsibilities and components from textual descriptions of requirements using natural language processing (NLP) techniques, in order to relieve software designers of this complex and time-consuming task. High accuracy and precision rates achieved by applying part-of-speech (POS) tagging with domain rules and semantic clustering to textual requirement documents, suggest a great potential for providing assistance to software designers during early stages of development.Sociedad Argentina de Informática e Investigación Operativ
ASCENT: A Context-Aware Spectrum Coexistence Design and Implementation Toolset for Policymakers in Satellite Bands
This paper introduces ASCENT (context Aware Spectrum Coexistence Design and
Implementation) toolset, an advanced context-aware terrestrial satellite
spectrum sharing toolset designed for researchers, policymakers, and
regulators. It serves two essential purposes (a) evaluating the potential for
harmful interference to primary users in satellite bands and (b) facilitating
the analysis, design, and implementation of diverse regulatory policies on
spectrum usage and sharing. Notably, ASCENT implements a closed-loop feedback
system that allows dynamic adaptation of policies according to a wide range of
contextual factors (e.g., weather, buildings, summer/winter foliage, etc.) and
feedback on the impact of these policies through realistic simulation.
Specifically, ASCENT comprises the following components (i) interference
evaluation tool for evaluating interference at the incumbents in a
spectrum-sharing environment while taking the underlying contexts, (ii) dynamic
spectrum access (DSA) framework for providing context-aware instructions to
adapt networking parameters and control secondary terrestrial network's access
to the shared spectrum band according to context aware prioritization, (iii)
Context broker to acquire essential and relevant contexts from external context
information providers; and (iv) DSA Database to store dynamic and static
contexts and the regulator's policy information. The closed-loop feedback
system of ASCENT is implemented by integrating these components in a modular
software architecture. A case study of sharing the lower 12 GHz Ku band
(12.2-12.7 GHz) with the 5G terrestrial cellular network is considered, and the
usability of ASCENT is demonstrated by dynamically changing exclusion zone's
radius in different weather conditions
Fractally-organized Connectionist Networks: Conjectures and Preliminary Results
A strict interpretation of connectionism mandates complex networks of simple
components. The question here is, is this simplicity to be interpreted in
absolute terms? I conjecture that absolute simplicity might not be an essential
attribute of connectionism, and that it may be effectively exchanged with a
requirement for relative simplicity, namely simplicity with respect to the
current organizational level. In this paper I provide some elements to the
analysis of the above question. In particular I conjecture that fractally
organized connectionist networks may provide a convenient means to achive what
Leibniz calls an "art of complication", namely an effective way to encapsulate
complexity and practically extend the applicability of connectionism to domains
such as sociotechnical system modeling and design. Preliminary evidence to my
claim is brought by considering the design of the software architecture
designed for the telemonitoring service of Flemish project "Little Sister".Comment: Draft of an invited paper for PEWET (1st Workshop on PErvasive WEb
Technologies, trends and challenges),
http://www.irpps.cnr.it/en/events/call-for-papers-pewet-pervasive-web-technologies-trends-and-challenge
A Big Data Analyzer for Large Trace Logs
Current generation of Internet-based services are typically hosted on large
data centers that take the form of warehouse-size structures housing tens of
thousands of servers. Continued availability of a modern data center is the
result of a complex orchestration among many internal and external actors
including computing hardware, multiple layers of intricate software, networking
and storage devices, electrical power and cooling plants. During the course of
their operation, many of these components produce large amounts of data in the
form of event and error logs that are essential not only for identifying and
resolving problems but also for improving data center efficiency and
management. Most of these activities would benefit significantly from data
analytics techniques to exploit hidden statistical patterns and correlations
that may be present in the data. The sheer volume of data to be analyzed makes
uncovering these correlations and patterns a challenging task. This paper
presents BiDAl, a prototype Java tool for log-data analysis that incorporates
several Big Data technologies in order to simplify the task of extracting
information from data traces produced by large clusters and server farms. BiDAl
provides the user with several analysis languages (SQL, R and Hadoop MapReduce)
and storage backends (HDFS and SQLite) that can be freely mixed and matched so
that a custom tool for a specific task can be easily constructed. BiDAl has a
modular architecture so that it can be extended with other backends and
analysis languages in the future. In this paper we present the design of BiDAl
and describe our experience using it to analyze publicly-available traces from
Google data clusters, with the goal of building a realistic model of a complex
data center.Comment: 26 pages, 10 figure
Embedding object-oriented design in system engineering
The Unified Modeling Language (UML) is a collection of techniques intended to document design decisions about software. This contrasts with systems engineering approaches such as for exampleStatemate and the Yourdon Systems Method (YSM), in which the design of an entire system consisting of software and hardware can be documented. The difference between the system- and the software level is reflected in differences between execution semantics as well as in methodology. In this paper, I show how the UML can be used as a system-level design technique. I give a conceptual framework for engineering design that accommodates the system- as well as the software level and show how techniques from the UML and YSM can be classified within this framework, and how this allows a coherent use of these techniques in a system engineering approach. These ideas are illustrated by a case study in which software for a compact dynamic bus station is designed. Finally, I discuss the consequences of this approach for a semantics of UML constructs that would be appropriate for system-level design
- …