31 research outputs found
SUPPORTING DYNAMIC REUSE IN BUSINESS CASE DEVELOPMENT
Business case development (BCD) is a complex activity, which can potentially be improved by supporting the reuse of investment criteria and valuation methods. The goal of this research was to improve the usefulness and usability of business case frameworks (BCFs), while limiting the effort required to develop and maintain static databases of reusable components. Therefore, an approach was proposed for the dynamic reuse of business case components and contrasted with static reuse of business case components. In the dynamic approach, the reusable, domain-specific criteria and methods do not need to be pre-defined by experts in templates and taxonomies, but can be reused from earlier business cases. To test whether support for dynamic reuse improves BCFs, a usability experiment was set up. Three types of support for the reuse of criteria were compared: (1) recommendations, based on collaborative filtering and representative for the dynamic approach, (2) templates, representative for the static approach, and (3) no support. The task represented a simplified BCD activity and was completed by 208 people. The main results show that although the recommendations are as effective as the templates, they are the preferred type of support
Supporting fine-grained generative model-driven evolution
In the standard generative Model-driven Architecture (MDA), adapting the models of an existing system requires re-generation and restarting of that system. This is due to a strong separation between the modeling environment and the runtime environment. Certain current approaches remove this separation, allowing a system to be changed smoothly when the model changes. These approaches are, however, based on interpretation of modeling information rather than on generation, as in MDA. This paper describes an architecture that supports fine-grained evolution combined with generative model-driven development. Fine-grained changes are applied in a generative model-driven way to a system that has itself been developed in this way. To achieve this, model changes must be propagated correctly toward impacted elements. The impact of a model change flows along three dimensions: implementation, data (instances), and modeled dependencies. These three dimensions are explicitly represented in an integrated modeling-runtime environment to enable traceability. This implies a fundamental rethinking of MDA
Oxidative injury of the pulmonary circulation in the perinatal period: Short- and long-term consequences for the human cardiopulmonary system
Development of the pulmonary circulation is a complex process with a spatial pattern that is tightly controlled. This process is vulnerable for disruption by various events in the prenatal and early postnatal periods. Disruption of normal pulmonary vascular development leads to abnormal structure and function of the lung vasculature, causing neonatal pulmonary vascular diseases. Premature babies are especially at risk of the development of these diseases, including persistent pulmonary hypertension and bronchopulmonary dysplasia. Reactive oxygen species play a key role in the pathogenesis of neonatal pulmonary vascular diseases and can be caused by hyperoxia, mechanical ventilation, hypoxia, and inflammation. Besides the well-established short-term consequences, exposure of the developing lung to injurious stimuli in the perinatal period, including oxidative stress, may also contribute to the development of pulmonary vascular diseases later in life, through so-called ââfetal or perinatal programming.ââ Because of these long-term consequences, it is important to develop a follow-up program tailored to adolescent survivors of neonatal pulmonary vascular diseases, aimed at early detection of adult pulmonary vascular diseases, and thereby opening the possibility of early intervention and interfering with disease progression. This review focuses on pathophysiologic events in the perinatal period that have been shown to disrupt human normal pulmonary vascular development, leading to neonatal pulmonary vascular diseases that can extend even into adulthood. This knowledge may be particularly important for expremature adults who are at risk of the long-term consequences of pulmonary vascular diseases, thereby contributing disproportionately to the burden of adult cardiovascular disease in the future
Beyond Objects: Components
Traditional software development approaches do not cope well with the evolving requirements of open systems. We argue that such systems are best viewed as flexible compositions of "software components" designed to work together as part of a component framework that formalizes a class of applications with a common software architecture. To enable such a view of software systems, we need appropriate support from programming language technology, software tools, and methods. We will briefly review the current state of object-oriented technology, insofar as it supports component-oriented development, and propose a research agenda of topics for further investigation
Requirements for a Composition Language
Abstract The keyrequiwD6( for open systemsi that they be flexi55N or recomposab7 .Thi suggests that they must first of all be composable.Object-oriw2+ techniori help by allowio appli))1wD6 to be vi wed ascomposiD6+ of collaborati ( objects, but areliw2+ i supportiD other kier ofabstracti6+ that may have finer or coarsergranulari2 than objects. Acomposi676 language supports thetechni21 requi21wD67 of acomponent-orii development approach by shi62+N emphasi from programmiD andiw151+NwD6 of classes tospeci)wD657 andcomposiwD6 of components. Objects are vi wed as processes, and components areabstracti61 over the object space.Anappli(wD61 i vi wed as an expli5+ composiw62 of software components. Bymaki6 softwarearchiew15) expli51 andmani)2+wD62 we expect to better support applitw62+ evolutiN and flexi2(7( . Inthi posi267 paper wewi5 elaborate ourrequi27wD6N andoutli( a strategy for the desi6 andiw2111)wD7)N) of acomposi7)N language for the development of open systems. * In Proceedi+ of the..
Research Directions in Software Composition
\it Software composition refers to the construction of software applications from components that implement abstractions pertaining to a particular problem domain. Raising the level of abstraction is a time-honored way of dealing with complexity, but the real benefit of composable software systems lies in their increased \it flexibility: a system built from components should be easy to recompose to address new requirements. A certain amount of success has been achieved in some well-understood application domains, as witnessed by the popularity of user-interface toolkits, fourth generation languages and application generators. But how can we generalize this
Making Design Patterns explicit in FACE, a Framework Adaptive Composition Environment
. Creating applications using object-oriented frameworks is done at a relatively low abstraction level, leaving a large gap with the high abstraction level of a design. This makes the use of a framework difficult, and allows design and realization to diverge. Design patterns are more specific elements of design, and thus reduce this gap. We even bridge this gap by making design patterns and the classes that play a role within them into special purpose software components. System realization becomes a matter of composing special purpose class-components. We also introduce a system, FACE, which supports the visual composition of such specifications. 1 Introduction When comparing the development of applications using frameworks [6] to the development of applications using libraries or from scratch, using a framework is ---after a learning period--- significantly less labour intensive [19]. Thus frameworks have a large commercial value. Still, the use and evolution of a framework..
Beyond Objects: Components 1
Abstract. Traditional software development approaches do not cope well with the evolving requirements of open systems. We argue that such systems are best viewed as flexible compositions of âsoftware components â designed to work together as part of a component framework that formalizes a class of applications with a common software architecture. To enable such a view of software systems, we need appropriate support from programming language technology, software tools, and methods. We will briefly review the current state of object-oriented technology, insofar as it supports component-oriented development, and propose a research agenda of topics for further investigation. 3