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.
In this chapter, we first give our definition of evolvability and discuss its properties. Second, we describe Magnetic Resonance Imaging: the industrial domain in which we researched evolvability. Last, we introduce the structure and content of this book using the focus, technical vision, and reflections of the Darwin project: our collaborative research project focused on evolvability in the context...
We define evolvability as the ability of a product family to respond effectively to change, or in other words, to accommodate changing requirements with predictable, minimal effort and time. Despite this definition, evolvability is an elusive concept in system engineering: It is almost impossible to measure and it depends on many factors, of which architecture is only one. Nevertheless there are a...
To developers software often appears as a large number of modules each containing hundreds of lines of code. It is, in general, not obvious which parts of the source code implement a given concern. Typically, existing documentation is outdated (if it exists at all), the system’s original architects are no longer available, or their view is outdated due to changes made by others. However, even out-of-date...
The way a software system is decomposed into a set of decomposition elements greatly affects the amount of effort spent on the development and maintenance of that system. Changes that are not limited to single decomposition element are likely to require more communication between developers, delays in development and increased amount of test cases. Therefore, one of the most challenging tasks of software...
In this chapter, we describe a case study at Philips Healthcare MRI focusing on evolutionary couplings analysis, i.e., a technique to infer relationships among modules by analyzing their history of changes in the source code archive. For this case study we developed CouplingViewer, a tool implementing the current state-of-art in evolutionary couplings analysis. CouplingViewer has an excellent performance...
Execution views provide architectural information that describes what a software-intensive system does at runtime and how it does it. Execution views are important assets that contribute to respond effectively to change, e.g., providing insights to analyze, understand, and communicate the various aspects of the actual runtime structure and behavior of a software system. This chapter presents an execution...
Reference architectures are seen as one of the means to cope with increased organization size, distributed development, increased integration, increased performance and functionality, and ever faster changes in the market. Our research project Darwin is aimed at improving evolvability of product families, where reference architecture is one of the research subjects. In this chapter, we start with...
Creating complex systems from scratch is time consuming and costly, therefore a development strategy often chosen by companies is to evolve existing systems. Reuse of existing knowledge and experience becomes essential to support the evolution process. Complex systems are usually the result of multidisciplinary teams, which means that an effective way to capture, organize and present this knowledge,...
During system creation, many aspects of the system are contemplated by architects and designers. Choices regarding the design are made. These choices effect the architecture and implementation of the system. During the design phase, many people involved are aware of the choices made, and information flows freely from person to person. In literature it is reported, and confirmed by our observations,...
Creating a product that satisfies the user in a multi-disciplinary development environment is not a trivial task. Explicitly modelling the use of the product prior to realisation is recommended to give all stakeholders involved in the design process a shared model of what the system should do (functions). This chapter proposes to use a flowchart diagram to model the intended workflow of the user....
By means of Ramadge–Wonham supervisory control theory, supervisory controllers (supervisors) can be synthesized instead of designing them manually. This chapter presents an application of supervisory control to a patient support system for MRI scanners. The design process of the controller from its requirements to its actual implementation on real hardware has been done according to the synthesis-based...
In todays industrial practice, behavioral designs of software-intensive systems such as embedded systems are often imprecisely documented as plain text in a natural language such as English, supplemented with ad-hoc diagrams. Lack of quality in behavioral design documents causes poor communication between stake holders, up to 100 times more costly rework during testing and integration, and hard-to-maintain...
Runtime reconfiguration is a method used for changing the structure and the call pattern such that the software can adapt itself to the client’s computing environment. The current practice of verifying software models with respect to the reconfiguration requirements is rather subjective: based on the stakeholders’ needs, architects define a set of reconfiguration scenarios and manually trace the models...
In this chapter we present a new approach to reduce the examination time of MRI systems. The time reduction is accomplished by dividing MRI scans into segments, which are intermixed to reduce the MRI examination time. The intermixing algorithms are based on a scheduling framework. First, the concept of multiple scan sets (ExamCards) is introduced. Then an explicit definition of the algorithms for...
Making architecture investment decisions is challenging as it requires knowing and structurally combining best practices in management, economics, and architecting. This chapter describes a structured approach towards architecture decision making that integrates established management techniques, strategy maps and balanced scorecards, with established architecting practice, scenario and business case...
Finding a balance between the time-to-market and quality of a delivered product is a daunting task. The optimal release moment is not easily found. In this chapter, we show how to utilise historical project data to monitor the progress of running projects. In particular, from the data we inferred a formula providing a rough indication of the number of defects given the effort spent thus far. Furthermore,...
The Darwin project carried out research on evolvability in an industrial setting. This chapter discusses the results transferred to the industrial party of the project: Philips Healthcare MRI. Our discussion about the industrial impact of the project pays attention to the highlights in transfer in the four areas of the Darwin research on evolvability, namely: mining, mechanisms, reference architecture...
Without a doubt the Darwin project has been both an academic and an industrial success. Over 50 academic papers have been published with five having received Best Paper Awards. A number of successful methodologies developed by the research team have become part of the way of working within Philips Healthcare MRI. The transfer of research results has not been limited to the project’s carrying industrial...
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.