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.
Architecture evaluation has become a mature sub-discipline in architecting with high-quality practical and scientific literature available. However, publications on industrial applications and concrete experiences are rare. We want to fill this gap and share our experiences - having performed more than 50 architecture evaluations for industrial customers in the last decade. We compiled facts and consolidated...
The increasing ageing of population and the prevalence of chronic diseases push the adoption of home care processes that can delay or discontinue the access to hospitalization and specialized structures. To this end, ICT plays a crucial enabling role providing a growing ecosystem of diagnostic and monitoring devices, communication networks, and information management applications. As a part of this,...
Although there are contributions on component-oriented languages, components are mostly implemented using object-oriented (OO) languages. In this perspective, a component corresponds to a set of classes that work together to provide one or more services. Services are grouped together in interfaces that are each implemented by a class. Thus, dependencies between components are defined using the semantic...
An approach to software architecture creation is described in the context of agile development. It eschews the traditional separation of top-down and bottom-up design. A concrete, cumulative, least-commitment process is demonstrated that establishes an architecture core likely to remain stable as requirements are added.
Architecture evaluation has become a mature instrument to mitigate the risk of software change. It enables decision-making about software systems being changed or being prepared for change. While scientific literature on architecture evaluation approaches is available, publications on practical experiences are rather limited. In this paper, we share our experiences — after having performed more than...
This paper describes the problem context of software development for mass-produced embedded systems, with distinguishing factors such as the co-design of software and hardware, strong focus on manufacturing aspects, supplier involvement and safety-critical functionality. In this context there is a need for a holistic model to explain the failures and successes industrial projects, where just investigating...
Nowadays, dynamically adaptive systems are gaining more widespread use in several domains (mobile application, airports, banks, etc). These systems are often subject to evolution due to varying environmental conditions and the apparition of new user requirements. To maintain their usefulness, such systems must be always available and reliable. In this paper, we are particularly interested in the problem...
Although in principle two independent technologies, cloud computing is closely associated with the web in contemporary web applications. Such applications, usually developed using web frameworks, are increasingly often deployed on servers that reside in cloud to gain commonly assumed benefits from the cloud infrastructure. These benefits include scalability and elasticity, which liberates the developer...
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...
In most software projects, particular requirements significantly drive the design of the software architecture by forcing architectural decisions to be made. As requirements and architecture are refined iteratively, their extensions and improvements need to be aligned continuously. Much research has been conducted to identify such requirements and their impact on architecture. However, it remains...
Considering certain inadequacies of the existing user interface generation technology under cloud computing environment, we propose a new software architecture for generating user interface dynamically, which has the characteristics of cross-platform, scalable, generating the personalized user interface dynamically. And the instance has demonstrated that the architecture is effective and feasible...
Mobile applications run in environments where the context is continuously changing. Therefore, it is necessary to provide support for the run-time adaptation of these applications. This support is usually achieved by middleware platforms that offer a context-aware dynamic reconfiguration service. However, the main shortcoming of existing approaches is that both the list of possible configurations...
Modern and evolving domains such as ambient intelligence, context-aware applications, and pervasive computing require that software systems be able to cope with unprecedented degrees of runtime variability. This demands that software systems be flexible, and easily adaptable in the wake of change. Providing such flexibility is a multi-faceted challenge where the architectural design plays a key role...
This paper analyzes several industrial software architecture evaluation methods from the perspective of their contextual elements. Contextual elements include the time available for the evaluation, the personnel available, the openness of the results, the involvement of stakeholders, and so forth. The goal of this analysis is to inform managers and technical personnel about the possibilities for an...
Decentralized systems are systems-of-systems whose services are governed by two or more separate organizations under distinct spheres of authority. Coordinated evolution of the various elements of a decentralized system may be difficult, if not impossible, as individual organizations evolve their service offerings in response to organization- and service-specific pressures, including market demand,...
Nowadays the software architecture of a system is often seen as a set of design decisions providing the rationale for the system design. When designing a software architecture multiple levels of design decisions need to be considered. For example, the service-based integration of heterogeneous platforms and the development of applications on top of those integration services requires high-level as...
Although a plethora of tools are available for Global Software Engineering (GSE) teams, it is being realized increasingly that the most prevalent desktop metaphor underpinning the majority of tools have several inherent limitations. We have proposed that Activity-Based Computing (ABC) can be a promising alternative to build tools for GSE. However, significant effort is required to introduce a new...
One of the approaches for documenting software architecture is to treat it as a set of architectural design decisions. Such decisions are always made in the context of requirements that must be fulfilled and in the context of decisions that were made before. Currently, models for representing architectural decisions are mainly concentrated on showing the decision making process of the initial architectural...
In this paper, we present industrial experiences made by combining two polarizing disciplines in software engineering: software architecture and agile software development. In particular, we show how architectural design decisions could be made, communicated, and sustained in an agile development environment by using a light-weight component framework. The concepts of the component framework have...
Approaches for sharing and reusing architectural knowledge (AK) have found some application in practice. Capturing AK during software design and development, however, is still a problem. Main reasons are the effort involved in capturing, as well as lack of time and budget, and lack of short-term benefits for the involved stakeholders. We propose using context information about currently modified artifacts,...
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.