The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Quality can be a very elusive concept that can be approached from a number of perspectives dependent on once take and interest. Evidence that relates software process to quality is often anecdotal or, when data is presented, it is to some extent contradictory or clashes with opposite evidence coming from different samples. Also, the influence of quality on software architecture is mostly described...
The paper presents an implementation of IoT gateway for smart metering in electrical power systems. The gateway is based on Ubuntu Core operating system and connects power meters with external cloud services. Several software architecture design patterns are evaluated. Adaptation of them for the design of the software architecture of the gateway application is described in the paper. Based on the...
The integration of Internet-of-Thing (IoT) devices to smart buildings raises the risk of vulnerabilities in building operation. This paper presents the software development work for the secure deployment of IoT devices in commercial buildings. Security threats with their countermeasures are analyzed in the context of a specific Building Automation System (BAS) implementation called Building Energy...
The Internet of Things (IoT) includes billions of things, i.e., connected objects and devices that are heterogeneous, distributed, and possibly intelligent and run applications and services from the Internet of Services (IoS). Things span, for instance, RFID tags, sensors, computers, plants, lamps, autonomous robots, and self-driving vehicles. Often, things are connected through heterogeneous platforms...
Modern mobile platforms rely on a permission model to guard the system's resources and apps. In Android, since the permissions are granted at the granularity of apps, and all components belonging to an app inherit those permissions, an app's components are typically over-privileged, i.e., components are granted more privileges than they need to complete their tasks. Systematic violation of least-privilege...
Among other knowledge, software architecture de-sign decision-making relies on the relation between architecturalpatterns and quality attributes (QAs). However, this relation isoften implicit, or in the best case informally and partially defined. This leads to sub-optimal understanding of the impact of thearchitecture design on the desired level of quality. In this work, we aim to shed light on the...
Conventional security mechanisms at network, host, and source code levels are no longer sufficient in detecting and responding to increasingly dynamic and sophisticated cyber threats today. Detecting anomalous behavior at the architectural level can help better explain the intent of the threat and strengthen overall system security posture. To that end, we present a framework that mines software component...
Cyber security concerns in the automotive industry have been constantly increasing as automobiles are more computerized and networked. Recent successful hacks of modern vehicles demonstrate the big security concerns for automotive systems. However it is still very hard and even impossible to predict what kinds of security issues will happen. In this paper, we present the automotive security concerns...
New connected infotainment features and advanced driver assistance systems pose considerable challenges for the software architectures of future vehicles. As a result of the growing complexity, there are emerging needs from both suppliers and integrators for improved reuse and reconfiguration at design time. Furthermore, there is also increasing pressure from customers for an improved driving experience...
Security decisions are an important part of software architecture design, and thus deserve to be explicitly represented in the design documentation. While UML is the best-known language for creating such documentation, it lacks security specific notations, which makes it difficult to represent the effect of the security decisions. Several security extensions for UML exist in the literature, but they...
Although critical for delivering resilient, secure, efficient, and easily changed IT systems, cross-technology, cross layer quality defect detection in IT systems still faces hurdles. Two hurdles involve the absence of an absolute target architecture and the difficulty of apprehending multi-component anti-patterns. However, Static analysis and measurement technologies are now able to both consume...
Software architecture evaluation in software systems is an important practice to develop quality software. Evaluation is performed to analyze software architecture to reduce the possibility of risks and verify quality requirements, which are addressed during software design. Several methods and techniques have been proposed to evaluate software architecture based on quality attributes. This paper...
One of the main challenges in addressing Non-Functional Requirements (NFRs) in designing systems is to take into account their interdependencies and mutual impacts. For this reason, they cannot be considered in isolation and a careful balance and tradeoff among them should be established. This makes it a difficult task to select design decisions and features that lead to the satisfaction of all different...
In this paper, we combine the Common Variability Language (CVL) and the ATL Transformation Language to customize and incorporate a generic security model into any application that requires security. Security spans a large set of concerns such as integrity, encryption or authentication, among others, and each concern needs to be incorporated into the base application in a different way and at different...
In a software product line, security may need to be varied. Consequently, security variability must be managed both from the customer and product line architecture point of view. We utilize design science to build an artifact and a generalized design theory for representing and configuring security and functional variability from the requirements to the architecture in a configurable software product...
This research summarizes the first attempt to incorporate Q-learning algorithm in software security. The Q-learning method is embedded as part of the software itself to provide a security mechanism that has ability to learn by itself to develop a temporary repair mechanism. The results of the experiment express that given the right parameters and the right setting the Q-learning approach rapidly learns...
Reinforcement learning techniques become more popular in computer network security. The same reinforcement learning techniques developed for network security can be applied to software security as well. This research summarizes a work in progress attempt to incorporate Q-learning algorithm in software security. The Q-learning method is embedded as part of the software itself to provide a security...
The architecture of a software system is the result of balancing concerns expressed by system stakeholders using a decision-making process. Several industrial approaches have been proposed that recognize the importance of architectural decisions and their rationale, but most do not provide mechanisms to systematically formalize and manage this decision-making. This article proposes a strategy to enrich...
Applying software architecture patterns in architecture design is an important way to construct high quality design of software architecture. Meanwhile, the selection of architecture patterns has a close relationship to the quality requirements of software systems to be developed. Applying a specific architecture pattern can usually address several quality requirements, and further optimize architecture...
The importance of non-functional requirements for computer systems is increasing. Satisfying these requirements require special attention to the software architecture, once an unsuitable architecture introduces greater complexity in addition to the intrinsic complexity of the system. Some studies have shown that, despite requirements engineering and software architecture activities act on different...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.