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.
Software architecting is about making decisions that have system-wide impact and that shape software product and process alike. While researchers and practitioners have tried to define and scope the role of the architect, social and organizational impacts on the architect and the architecting process are often neglected. The SODA workshop focuses on the social and organizational dimensions in which...
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...
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...
This paper reports on an interview-based study of 18 authors of different chapters of the two-volume book "Architecture of Open-Source Applications". The main contributions are a synthesis of the process of authoring essay-style documents (ESDs) on software architecture, a series of observations on important factors that influence the content and presentation of architectural knowledge in...
The software architecture is usually the first design artifact that addresses quality issues (e.g., performance, security). Also, the architecture is reference point for other development activities, e.g., coding and maintenance. Based on our experience teaching software engineering and architecture at different institutions and levels, we discuss what makes teaching software architecture difficult,...
Planning a suitable solution to adapt to software changes is the most important and fundamental ability of self-adaptive software (SAS). However, with the increasing complexities of managed resources, context and user preferences, existing self-adaptive planning approaches need to be improved to deal with the complex changes which are multiple, interrelated and evolving. Search-based optimization...
Agile Software Development (ASD) is a movement that emerged in the late 1990's and since then has been increasingly adopted by organizations. They are successful in projects characterized by rapid changes, small teams and small cycles. Implementing the same agile philosophy but with an increase of complexity, i.e., large-scale agile (LSA) development, are sometimes criticized of not being as effective...
Designing a software architecture is a highly complex task and associated with a high degree of uncertainty. There are a variety of reusable and established solutions, but they differ in their impact on the system's functionality and quality. The architect has to consider different aspects like stakeholders' requirements as well as numerous constraints coming, among others, from the technical environment...
Software architecture is no more a mere system specification as resulting from the design phase, but it includes the process by which its specification was carried out. In this respect, design decisions in component-based software engineering play an important role: they are used to enhance the quality of the system, keep the current market level, keep partnership relationships, reduce costs, and...
Software architecture decision-making is critical to the success of a software system as software architecture sets the structure of the system, determines its qualities, and has far-reaching consequences throughout the system life cycle. The complex nature of the software development context and the importance of the problem has led the research community to develop several techniques, tools, and...
Architecture description can be modeled as a set of alternative choices and decisions, where the rationale and tradeoffs for each decision are documented and understood as needed to inform subsequent decisions. Each decision, based on ISO/IEC/IEEE 42010, pertains to one or more stakeholder concerns. These concerns combined with the system environment and scenarios provide architecture design context...
With the increasing role played by software in supporting our society, its sustainability and environmental impact have become major factors in the development and operation of software-intensive systems. Myths and beliefs hide the real truth behind Green IT: IT is energy-inefficient because software is developed to make it so - intentionally or not. But how far are we from being able to control software...
Continuous Delivery (CD) has emerged as an auspicious software development discipline, with the promise of providing organizations the capability to release valuable software continuously to customers. Our organization has been implementing CD for the last two years. Thus far, we have moved 22 software applications to CD. I observed that CD has created a new context for architecting these applications...
Collective intelligence systems (CIS), such as wikis, social networks and content sharing platforms, have dramatically improved knowledge creation and sharing at society level. There is a trend to exploit the stigmergic mechanisms of CIS also at organization/corporate level. However, despite the wide adoption of CIS, there is a lack of consolidated systematic knowledge of the architectural principles...
Software architecture reflects important decisions on structure, used technology and resources. Architecture decisions influence to a large extent requirements on software quality. During software evolution change requests have to be implemented in a way that the software maintains its quality, as various potential implementations of a specific change request influence the quality properties differently...
We have investigated approaches in the literature to assess the quality of the software architectures of medical devices, and have found evidence that there is a lack of methodologies for evaluating the software architecture design aspects of medical devices that might affect system safety. Such evidences were identified when evaluating the software architecture of the FDA Generic Infusion Pump searching...
How to achieve alignment of software product management with software architecture and whether there is a business case for doing so is scientifically unknown. Yet, software architecture has large, direct impact on product success factors: creating a winning product and delivering value to customers. In this exploratory case study paper we identify the most critical processes for SPM and SA alignment:...
In the end of a requirements elicitation phase, it is expectable that all information can be properly perceived by the implementation teams. In our work, we faced the problem of dealing with a large set of requirements that need to be implemented by different teams, to ensure on-time delivery. The teams are physically separated and with different working cultures and skills. The system requirements...
Architecture decisions are often not explicitly documented in practice but reside in the architect's mind as tacit knowledge, even though explicit capturing and documentation of architecture decisions has been associated with a multitude of benefits. As part of a research collaboration with ABB, we developed a tool to document architecture decisions. This tool is an add-in for Enterprise Architect...
One of the important concerns in software product line engineering is the conformance of the application architecture to the product line architecture. Consistency with the product line architecture is important to ensure that the business rules and constraints that are defined for the entire product family are not violated. Usually, the conformance checking to the product line architecture is a manual...
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.