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.
Today the microservice architectural style is being adopted by many key technological players such as Netflix, Amazon, The Guardian. A microservice architecture is composed of a large set of small services, each running in its own process and communicating with lightweight mechanisms (often via REST APIs). If on one side having a large set of independently developed services helps in terms of developer...
In order to evaluate and increase modularity this paper combines a method for visualizing and measuring software architectures and two algorithms for decoupling. The combination is tested on a software system at Ericsson. Our analysis show that the system has one large cluster of components (18% of the system, a Core), all interacting with each other. By employing cluster and dominator analysis we...
The technical debt metaphor acknowledges that software development teams sometimes accept compromises in a system in one dimension (for example, modularity) to meet an urgent demand in some other dimension (for example, a deadline), and that such compromises incur a "debt". If not properly managed the interest on this debt may continue to accrue, severely hampering system stability and quality...
In this paper, we motivate the usage of natural language processing techniques to detect the uncertainty cues in the software architecture documents. As an initial step of our study, we analyzed three real-world software architecture documents and manually retrieved examples of different types of uncertainties. Based on those examples, we formulated the hypothesis on how the communication of software...
We motivate and describe why erosion modeling from a static architecture conformance checking point of view is important as well as the impact we think it can have on industry. Our research goal is to get a better understanding of erosion and develop smarter and simpler methods to assess erosion. We describe preliminary results from a retrospective, longitudinal case study of an open source software...
The communication between hardware components in embedded systems is steadily growing as more and more software functions are necessary to fulfill the requirements of modern systems, like cars in the automotive area. As a result, the capacity of the communication transport system is quickly exceeded. Besides the possibility to exchange the physical connection, another one is to analyze the system...
In this paper, we propose a software abstraction layer to simplify the design and synthesis of whole-body controllers without making any preliminary assumptions on the control law to be implemented. The main advantage of the proposed library is the decoupling of the control software from implementation details, which are related to the robotic platform. Furthermore, the resulting code is more clean...
Despite past efforts, we have little understanding and limited research efforts on how architects make decisions in the real-world settings. It seems that software architecture researchers make implicit assumption that decision making by software architects can be a rational and prescribed process. Such an assumption is disputed in other fields such as economics and decision research. This paper studies...
Software architecting is a knowledge-intensive activity. However, obtaining and evaluating the quality of relevant and reusable knowledge (and ensuring that this knowledge is up-to-date) requires significant effort. In this paper, we explore how online developer communities (e.g., Stack Overflow), traditionally used by developers to solve coding problems, can help solve architectural problems. We...
This paper investigates two metrics related to the traceability relationships that exist between requirements and architectural design. In particular, we look into cross-cutting requirements, i.e., requirements that are implemented by several components, and, conversely, into overloaded components, i.e., components that implement several requirements. The intuition is that intricate dependencies between...
Software architecture compliance is concerned with the alignment of implementation with its desired architecture and detecting potential inconsistencies. The work presented in this paper is specifically concerned with behavioral architecture compliance. That is, the focus is on semantic alignment of implementation and architecture. In particular, this paper evaluates three representative approaches...
The software powering today's vehicles surpasses mechatronics as the dominating engineering challenge due to its fast evolving and innovative nature. In addition, the software and system architecture for upcoming vehicles with automated driving functionality is already processing ~750MB/s - corresponding to over 180 simultaneous 4K-video streams from popular video-on-demand services. Hence, self-driving...
The da Vinci Research Kit (dVRK) has been installed at over 25 research institutions across the world, forming a research community sharing a common open-source research platform. This paper presents the dVRK software architecture, which consists of a distributed hardware interface layer, a real-time component-based software framework, and integration with the Robot Operating System (ROS). The architecture...
Enterprise information systems are being widely and extensively used in many business domains. In fact, some of these domains cannot survive in operations without depending heavily on such systems. Although several research studies have been performed that explored the importance of enterprise information systems, only a few have been focusing on an effective and efficient end-to-end method to design...
When developing complex software-intensive systems, it is nowadays common practice to base the solution partly on existing software components. Selecting which components to use becomes a critical decision in development, but it is currently not well supported through methods and tools. This paper discusses how a decision support system for this problem could benefit from a software ecosystem approach,...
This paper proposes CAPS, an architecture-drivenmodeling framework for the development of Situational AwareCyber-Physical Systems. Situational Awareness involves being aware of what ishappening in the surroundings, and using this informationto decide and act. It has been recognized as a critical, yet often elusive, foundation for successful decision-makingin complex systems. With the advent of cyber-physical...
Blockchain is of rising importance as a technology for engineering applications in cross-organizational settings, avoiding reliance on central trusted third-parties. The use of blockchain, instead of traditional databases or services, is an architectural choice in the development of a software system. The costs of execution and storage are important non-functional qualities, but as yet very little...
The timely discovery, sharing and integration of architectural knowledge (AK) have become critical aspects in enabling the software architects to make meaningful conceptual and technical design decisions and trade-offs. In large-scale organizations particular obstacles in making AK available to architects are a heterogeneous pool of internal and external knowledge sources, poor interoperability between...
Business processes as well as software systems face various changes during their lifetime. As they mutually influence each other, business processes and software systems have to be modified in co-evolution. Thus, to adequately predict the change impact, it is important to consider the complex mutual dependencies of both domains. However, existing approaches are limited to analyzing the change propagation...
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.