4 research outputs found

    An Investigation of Modular Dependencies in Aspects, Features and Classes

    Get PDF
    The essence of software design is to construct well-defined, encapsulated modules that are composed together to build the desired software application. There are several design paradigms in use today, including traditional Object-Oriented Programming (OOP), Feature-Oriented Programming (FOP), Aspect-Oriented Programming (AOP) and Instance-Oriented Programming (IOP). FOP studies the modularity of features in product lines, where a feature is an increment in program functionality. AOP aims to separate and modularize aspects when an aspect is a crosscutting concern. IOP, as an extension to FOP, makes the layers work like object factories. While each is good at solving different types of problems, they are closely related. The composition of modules is complicated because modules have (often hidden) dependencies on other modules. This thesis aims to better understand the way dependencies are managed by each approach. Based on this, we focus on the precedence issue in AOP and FOP, that is, how designers are able to specify the order by which modules are composed together. Different precedence means different semantics, but the current tools can not guarantee the correct precedence is adopted. We first solve the precedence issue separately for AOP and FOP, then based on this, we come up with a unified model to solve the precedence issue by using source code annotations to specify the precedence. We evaluate our technique with use cases

    R-SOX: Runtime Semantic Query Optimization over XML Streams

    No full text
    Optimizing queries over XML streams has been an important and non-trivial issue with the emergence of complex XML stream applications such as monitoring sensor networks and online transaction processing. Our system, R-SOX, provides a platform for runtime query optimization based on dynamic schema knowledge embedded in the XML streams. Such information provides refined runtime schema knowledge thus dramatically enlarged the opportunity for schema-based query optimizations. In this demonstration, we focus on the following three aspects: (1) annotation of runtime schema knowledge; (2) incremental maintenance of runtime schema knowledge; (3) dynamic semantic query optimization techniques. The overall framework for runtime semantic query optimization, including several classes of dynamic optimization techniques, will be shown in this demonstration. 1

    The Effect of Crystal Seeds on Calcium Carbonate Ion Pair Formation in Aqueous Solution: A ReaxFF Molecular Dynamics Study

    No full text
    The effect of crystal seeds on calcium carbonate (CaCO3) cluster formation in aqueous solution is of interest in the fields of geochemistry, inorganic chemistry, atmospheric science, biomedicine, biomineralization, and tissue engineering. Due to an instantaneous and microscopic process, it is still experimentally challenging to directly capture the CaCO3 pre-nucleation. This study employed reactive force field (ReaxFF) molecular dynamics simulations to explore the variation among CaCO3 ion pairs in an aqueous solution with or without crystal seeds. The results show that the addition of crystal seeds can improve CaCO3 ion pair formation. We found that the surface of the calcite phase, compared with the metastable vaterite phase, prefers to attach the ion pairs from solution via proton transfer. This work sheds light on the effect of different crystal seeds on CaCO3 ion pair formation as a precursor of pre-nucleation clusters
    corecore