Implementing architecture stratification
نویسنده
چکیده
Although currently software development often separates the design phase from the implementation, the trend towards model-driven approaches is undeniable. As models are the primary development artifact in model-driven development, one has to deal with the problems surrounding huge and therefore unmanageable models. To tackle these issues, systems are often divided into components that are modeled separately. As an alternative, views can be used, which hide certain aspects of the model or present them in a different form. In both cases, several models or at least several views co-exist, which leads to the problem of model synchronization. One of the main goals of model-driven development is the automatic generation of executable applications. Here, too, model synchronization is problematic, as several information sources may affect the same code fragment. When only parts of the system are generated, the remaining application has to be coded by hand, which complicates the reapplication of the generation process. In order to achieve a high level of automation in model-driven development, the complete application has to be modeled. In this scenario, the use of several models improves understandability and precision but again leads to model synchronization issues. In this dissertation I extend and concretize the ideas presented in [AK00] and [AK03]. In [AK00] Atkinson and Kühne introduced the concept of stratified architectures. With it, software systems are described by a number of strata with decreasing levels of abstraction. Each stratum introduces a concern and thereby concretizes the system description. This strict ordering limits dependencies to adjacent strata. In [AK03] the authors complement the concept by using annotations to describe each concern. By introducing “refinement transformations”, which implement abstractly described concerns, annotations enable stepwise refinement for model based system development and—in addition—alleviate the aforementioned model synchronization issue. In my thesis I discuss similar approaches and compare them to architecture stratification. Additionally, I present a complete implementation of the stratification concept and verify its effectiveness by applying it to a real-world project. The central element
منابع مشابه
Systematizing the Evaluation of Partially Controlled Studies Using Principal Stratifictaion: from Theory to Practice
We often wish to evaluate treatments and other factors in studies where only some of those factors are directly controlled by the investigators. The framework of “principal stratification” has been proposed recently for evaluating partially controlled studies under such broader settings (Frangakis and Rubin (2002)). We have developed a software package, “PSpack”, with appropriate documentation ...
متن کاملOcclusion issues in early Renaissance art
Early Renaissance painters innovatively attempted to depict realistic three-dimensional scenes. A major problem was to produce the impression of overlap for surfaces that occlude one another in the scene but are adjoined in the picture plane. Much has been written about perspective in art but little about occlusion. Here I examine some of the strategies for depicting occlusion used by early Ren...
متن کاملImplementing clinical practice guidelines while taking account of changing evidence: ATHENA DSS, an easily modifiable decision-support system for managing hypertension in primary care
This paper describes the ATHENA Decision Support System (DSS), which operationalizes guidelines for hypertension using the EON architecture. ATHENA DSS encourages blood pressure control and recommends guideline-concordant choice of drug therapy in relation to comorbid diseases. ATHENA DSS has an easily modifiable knowledge base that specifies eligibility criteria, risk stratification, blood pre...
متن کاملSeparation of Concerns through Stratified Architectures
Aspect-oriented programming essentially offers a way of enhancing the separation of concerns in software development. However, one of the most fundamental dimensions of concern, refinement, is not addressed in existing aspect-oriented approaches, despite the fact that much of the perceived "tangling" between software components comes from low level component interactions created by refining hig...
متن کاملTool Support for Architecture Stratification
Architecture Stratification is a technique for describing and developing complex software systems on multiple levels of abstractions. In this paper we present an approach and a corresponding implementation—in the form of a Fujaba plugin— for refining models including their behavior. Our plugin enables Fujaba models to be annotated with refinement directives and supports the definition of corres...
متن کاملDevelopment and Validation of a Decision-Making Stratification Algorithm to Optimize the Use of Rapid Diagnostic Testing for Patients with Staphylococcus Bacteremia
PURPOSE To evaluate whether introducing rapid diagnostic testing in conjunction with implementing a stratification algorithm for testing eligibility would be an appropriate clinical and cost saving approach. METHOD An internal concurrent 4-month observational study was performed. Positive blood cultures continued to be worked up in accordance with standard of care. An additional call to the i...
متن کامل