8 research outputs found

    Renovation of idiomatic crosscutting concerns in embedded systems

    Get PDF
    Crosscutting concerns are phenomena that are present in almost any (embedded) software system. They arise if the implementation of a concern "a requirement or design decision" does not fit neatly into the modular decomposition of a software system. A crosscutting concern cannot be confined to a single modular unit and therefore becomes scattered across the system and tangled with other concerns. This thesis focuses on the specific class of idiomatic crosscutting concerns, which are crosscutting concerns that are idiomatic in the sense that they are implemented manually by applying an idiom, resulting in many similar pieces of source code. The approach taken is that of renovation, i.e., a step-wise improvement process aimed at easing the evolution of legacy software systems. The legacy software system that is studied in this thesis is the (embedded) control software of an ASML wafer scanner, a device used in the manufacturing process of integrated circuits. This software system consists of 15 million lines of C code. We study whether the use of AOP is beneficial compared to the idiomatic style of implementation used in the ASML software system.Electrical Engineering, Mathematics and Computer Scienc

    Service-oriented discovery of knowledge : foundations, implementations and applications

    Get PDF
    In this thesis we will investigate how a popular new way of distributed computing called service orientation can be used within the field of Knowledge Discovery. We critically investigate its principles and present models for developing withing this paradigm. We then apply this model to create a web service caled Fantom, that mines subgroups in a ranked list of identifiers, based on their score. The descriptions of these subgroups are done in ontologies to provide the scientist a description in a standardized and familiar language. Finally, Fantom is tested on two different data sets from the field of life-sciences; one concerning gene data, the other concerning SNP data.LEI Universiteit LeidenAlgorithm

    Algorithms for Analyzing and Mining Real-World Graphs

    Get PDF
    This thesis is about algorithms for analyzing large real-world graphs (or networks). Examples include (online) social networks, webgraphs, information networks, biological networks and scientific collaboration and citation networks. Although these graphs differ in terms of what kind of information the objects and relationships represent, it turns out that the structure of each these networks is surprisingly similar.For computer scientists, there is an obvious challenge to design efficient algorithms that allow large graphs to be processed and analyzed in a practical setting, facing the challenges of processing millions of nodes and billions of edges. Specifically, there is an opportunity to exploit the non-random structure of real-world graphs to efficiently compute or approximate various properties and measures that would be too hard to compute using traditional graph algorithms. Examples include computation of node-to-node distances and extreme distance measures such as the exact diameter and radius of a graph.NWOAlgorithms and the Foundations of Software technolog

    Abstract delta modeling : software product lines and beyond

    Get PDF
    To prevent a large software system from collapsing under its own complexity, its code needs to be well-structured. Ideally we want all code related to a certain feature to be grouped together __called feature modularization__ and code belonging to different features not to mix __ called separation of concerns. But many concerns are known as 'cross-cutting concerns'. By their very nature their implementation needs to be spread around the code base. The software engineering discipline that has the most to gain from those properties is Software Product Line Engineering. It is concerned with the development and maintenance of multiple software systems at the same time, each possessing a different (but often overlapping) set of features. This gives rise to an additional need: The code for a given feature must not only be separated and modular; it also needs to be composable and able to deal gracefully with the presence or absence of other features. This thesis presents Abstract Delta Modeling, a formal framework developed to achieve these goals in software. The thesis is a product of the European HATS project. It formalizes the techniques of delta modeling, the main approach to variability used by HATSAlgorithms and the Foundations of Software technolog
    corecore