| 1 |
|
DC-OMS Architecture
|
[PDF]
|
| 2 |
|
A Service Oriented Architecture Solution for Gaming Simulation Suites
Serious Gaming is becoming a popular method for training and problem solving in companies. One of the companies who has taken an interest in this is ProRail. Together with the faculty of Technology, Policy and Management of the Delft University of Technology they started a project to develop a gaming simulation suite for training and decision making purposes, called the Railway Gaming Suite. In order to connect the games and simulators of the suite a solid architecture is needed. Three architectures were picked out to see if they are suitable for this, namely: Service Oriented Architectures, High Level Architecture and FAMAS Simulation Backbone.
Using the Railway Gaming Suite as a case study, we have extracted requirements (like performance and flexibility) for an architecture for gaming simulation suites using the Architectural Trade-off Analysis Method. These requirements are used to determine the suitability of the three architectures. In this thesis the research on the suitability of Service Oriented Architectures (SOA) is presented.
A prototype SOA was created, called Service Oriented Gaming and Simulation (SOGS). This prototype was used to test the performance requirement for the evaluation. The suitability was investigated by evaluating SOA to see if it is able to support the requirements we found. We subsequently also compared the suitability of the other architectures. Intermediate results of this thesis project were used to help with the decision for selecting an architecture for the Railway Gaming Suite.
|
[PDF]
[Abstract]
|
| 3 |
|
Component diagram recovery with dynamic analysis
By evaluating the architecture of a software system, ways to improve the system's quality attributes (such as its performance and modifiability) can be identified and valuable lessons can be learned which may also be applied to other systems. An architecture evaluation requires an up-to-date description of the architecture, which is often unavailable. In such a case, reverse engineering techniques can be used to recover it.
For an effective and efficient recovery and evaluation of an architecture, the scope of the recovery should be narrowed to the parts of the system that are relevant for the evaluation and the recovered architectural views should be useful for a wide range of system stakeholders. This thesis presents a case study, in which these issues are addressed by using dynamic analysis and Prolog to recover architectural views. A survey involving representatives of several groups of stakeholders was conducted to assess the usefulness of a recovered view. The results show that the approach is potentially useful, but that more work is needed to further evaluate it and to make it more usable in practice.
|
[PDF]
[Abstract]
|
| 4 |
|
Model-driven evolution of software architectures
Software evolves continuously. As a consequence, software systems tend to become increasingly complex and, as such, more difficult to change. A software system's complexity is for a large part determined by its structure, or architecture. In this thesis we investigate how to reduce the risks and costs associated with the evolution of software architectures.
Automation and abstraction are two basic software engineering techniques to deal with complexity. In this thesis we investigate the applicability of model-driven engineering, a new software development approach based on abstraction and automation, to support the evolution of software architectures.
The main research question we address in this thesis is: "How can evolution of software architectures be supported?". Three subquestions related to industrial integration, software product lines, and automation further clarify the scope of our work.
We first conducted a survey among several software development organisation to inventory the state-of-the-practice in software engineering technologies. Some trends we observed from this inventory include: the informal use modelling in industry, the use of product-line approaches, and the importance of the evolutionary aspect of software.
Next, we investigated how to support four tasks related to software architecture evolution: evaluation, conformance checking, migration, and documentation. We aim to automate this support where possible. To this end, we employ model-driven software development technologies. For each of the software evolution tasks, we present a case study that investigates how that task can be supported.
The informal use of modelling in industry calls for a normalisation step to enable the integration of evolution support in practice. Several chapters address the impact of the use of product-line approaches on the evolution support. Although the increased scope make such support more difficult to develop, the return on investment for the model-driven support is much improved.
The model-driven evolution support follows a similar three-step pattern. First, a set of source models is preprocessed into a form suitable for the application of model transformations. Then, model transformations are applied that do the actual work, such as conformance checking or a migration. Finally, the resulting models are postprocessed in a resulting into a desired target form.
|
[PDF]
[Abstract]
|
| 5 |
|
Architecture framework in support of effort estimation of legacy systems modernization towards a SOA environment
Because of their poor Business/IT alignment, many legacy systems lack the flexibility to support rapid changes to the business processes they implement, required by today's enterprises. Furthermore, after many years of maintenance, there is a need to manage their resulting increased complexity and maximize asset utilization through reuse. The third complicating circumstance is that these legacy systems cannot simply be replaced as it is too expensive and risky. For these three reasons, legacy systems are modernized towards a Service Oriented Architecture.
This thesis presents a framework for performing an impact analysis of such a modernization. It supports the trade-off analysis, needed in the planning phase, for finding the optimal selection of modernization strategies and judging their yield. The impact is expressed through the estimation of, on the one side, the effort and, on the other side, the gain of the changes these modernization strategies entail. The thesis concentrates on one of the many types of changes in modernization -- the architectural and design changes to the software system.
The presented framework structures current approaches to modernization in a set of class definitions, system model relationships and a process description. This is done according to the effort they produce, preparing them for its estimation. For this effort estimation, this thesis introduces a Rating Model for quantifying the modernization effort using the system models of the framework. This quantification is done through the identification of so-called Points of Modernization, a categorization of the modernization strategies and a set of effort indicator metrics.
Based on this framework, this thesis also presents an experiment. For a subject legacy system, concrete approaches are shown for the instantiation of the framework models and the subsequent effort estimation is done using the indicator of Scattering. The analysis of the resulting effort and its relation to the gain show the optimal solutions for the modernization of the subject system. Concluding, this thesis discusses the feasibility of the approach and the future work such as more quantitative research on the rest of the effort indicators.
|
[PDF]
[Abstract]
|
| 6 |
|
Architecture-Driven Integration of Modeling Languages for the Design of Software-Intensive Systems
In the research that led to this thesis a multi-disciplinary approach, combining Traffic Engineering and Software Engineering, was used. Traffic engineers come up with new control strategies and algorithms for improving traffic. Once new solutions are defined from a Traffic Engineering point of view, there is the problem of obtaining operational systems that address all requirements. Knowing what to build is just the first step that must be followed by the how to build. Both are problematic and they depend on each other. This thesis contributes to Software Engineering research and practice by proposing the extension and integration of formal and semi-formal modeling languages in a multiple-view software architecture, combined with domain architecture, which are used in practice to develop a family of distributed real-time systems in the road traffic domain.
|
[PDF]
[Abstract]
|
| 7 |
|
ArchWiki: Using Web 2.0 for Architecture Knowledge Management
Software architecture plays an important part in program comprehension, which is one of the most time consuming tasks in software development. If software developers don’t properly share their architectural knowledge with team members, the team will act based on an incomplete or even possibly incorrect view on the code base, and this can lead to architectural degradation.
Recently there has been a surge of collaboration, communication and sharing with the advent of Web 2.0 applications. In this thesis we have investigated how Web 2.0 can be used to support software architecture management. In particular in the area of architecture documentation, architecture retrieval, and collaboration.
We created an approach which applies Web 2.0 concepts such as traceability, integration, usability, navigability, and user experience, to software architecture management. This approach is supported by a prototype tool called ArchWiki, which has features such as traceability between different artifacts (e.g. source code, architectural diagrams, architectural documentation), context-sensitive views, hyperlinks, notifications, tags, and bookmarks. We performed an initial evaluation study to assess ArchWiki. In this study we found that Web 2.0 has the potential to support software architecture knowledge management.
|
[PDF]
[Abstract]
|