368 research outputs found

    Magda: A New Language for Modularity

    Get PDF

    Integrating independent components with on-demand remodularization

    Get PDF
    This paper proposes language concepts that facilitate the separation of an application into independent reusable building blocks and the integration of pre-build generic software components into applications that have been developed by third party vendors. A key element of our approach are on-demand remodularizations, meaning that the abstractions and vocabulary of an existing code base are translated into the vocabulary understood by a set of components that are connected by a common collaboration interface. This general concept allows us to mix-and-match remodularizations and components on demand

    gbeta - a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance

    Get PDF
    A language design development process is presented which leads to a language, gbeta, with a tight integration of virtual classes, general block structure, and a multiple inheritance mechanism based on coarse-grained structural type equivalence. From this emerges the concept of propagating specialization. The power lies in the fact that a simple expression can have far-reaching but well-organized consequences, e.g., in one step causing the combination of families of classes, then by propagation the members of those families, and finally by propagation the methods of the members. Moreover, classes are first class values which can be constructed at run-time, and it is possible to inherit from classes whether or not they are compile-time constants, and whether or not they were created dynamically. It is also possible to change the class and structure of an existing object at run-time, preserving object identity. Even though such dynamism is normally not seen in statically type-checked languages, these constructs have been integrated without compromising the static type safety of the language

    Context-oriented Programming.

    Full text link

    State Machines as Mixins.

    Full text link

    Object-Centric Reflection: Unifying Reflection and Bringing It Back to Objects

    Get PDF
    Reflective applications are able to query and manipulate the structure and behavior of a running system. This is essential for highly dynamic software that needs to interact with objects whose structure and behavior are not known when the application is written. Software analysis tools, like debuggers, are a typical example. Oddly, although reflection essentially concerns run-time entities, reflective applications tend to focus on static abstractions, like classes and methods, rather than objects. This is phenomenon we call the object paradox, which makes developers less effective by drawing their attention away from run-time objects. To counteract this phenomenon, we propose a purely object-centric approach to reflection. Reflective mechanisms provide object-specific capabilities as another feature. Object-centric reflection proposes to turn this around and put object-specific capabilities as the central reflection mechanism. This change in the reflection architecture allows a unification of various reflection mechanisms and a solution to the object paradox. We introduce Bifr\"ost, an object-centric reflective system based on first-class meta-objects. Through a series of practical examples we demonstrate how object-centric reflection mitigates the object paradox by avoiding the need to reflect on static abstractions. We survey existing approaches to reflection to establish key requirements in the domain, and we show that an object-centric approach simplifies the meta-level and allows a unification of the reflection field. We demonstrate how development itself is enhanced with this new approach: talents are dynamically composable units of reuse, and object-centric debugging prevents the object paradox when debugging. We also demonstrate how software analysis is benefited by object-centric reflection with Chameleon, a framework for building object-centric analysis tools and MetaSpy, a domain-specific profile

    Actors that Unify Threads and Events

    Get PDF
    There is an impedance mismatch between message-passing concurrency and virtual machines, such as the JVM. VMs usually map their threads to heavyweight OS processes. Without a lightweight process abstraction, users are often forced to write parts of concurrent applications in an event-driven style which obscures control flow, and increases the burden on the programmer. In this paper we show how thread-based and event-based programming can be unified under a single actor abstraction. Using advanced abstraction mechanisms of the Scala programming language, we implemented our approach on unmodified JVMs. Our programming model integrates well with the threading model of the underlying VM

    Integration of a novel Chemical Looping Combustion reactor into a thermochemical energy storage system

    Get PDF
    This study analyses the performance of a back-up power process that uses a novel chemical looping packed bed air reactor to oxidize a batch of reduced solids while heating high pressure flowing air. In this arrangement, the solids are slowly oxidized by a diffusionally-controlled flow of oxygen perpendicular to the main air flow, thus imposing very long oxidation times for all reacting particles. A decay in the thermal power output of the reactor can be expected with time due to the increasing resistance to O2 diffusion towards the unreacted oxygen carrier particles as the reaction progresses. In this work, integration of the dynamic system formed by the reactor and the power plant used to produce power from the exploitation of the variable thermal output of the reactor is investigated. Different case studies are assessed for decarbonization of energy production and storage of renewable energy. The reactor is rated at a maximum 50 MWth power output in all cases, employing iron- or nickel-based particles as oxygen carrier. A simplified model for mass and heat transfer in the proximity of the wall orifices allows the definition of operating windows and reactor dimensions. In the chosen case examples, each single reactor operates in discharge mode for around 4-5 h (depending on plant configuration) as a back-up power generator, heating up a compressed air stream up to - 1000 degrees C and achieving an energy density between 816 and 2214 kWhth/m3. Gas turbines in recuperative, steam injected and combined cycle power plant architectures integrated in the novel chemical looping combustion (CLC) reactor are investigated. Cycle efficiencies up to 49% are calculated for systems that make use of a single reactor configuration and exploit the residual heat for power production through a organic Rankine cycle (ORC) bottomed system. A more flexible multi-reactor configuration is also investigated to address the unavoidable decay in power output during discharge and provide power output controllability. The levelized cost of electricity (LCOE) is estimated be comparable to system elements from the literature when H2 is used as reducing gas. The use of biogas to reduce the solids during the energy charge stage is found to be particularly advantageous, leading to LCOE values between - 120 and 175 euro/MWh for the reference reactor system using iron-based solids. This also allows achieving negative CO2 emissions if the captured CO2 generated during the reduction stage is stored

    An algebra for feature-oriented software development

    Get PDF
    Feature-Oriented Software Development (FOSD) provides a multitude of formalisms, methods, languages, and tools for building variable, customizable, and extensible software. Along different lines of research different ideas of what a feature is have been developed. Although the existing approaches have similar goals, their representations and formalizations have not been integrated so far into a common framework. We present a feature algebra as a foundation of FOSD. The algebra captures the key ideas and provides a common ground for current and future research in this field, in which also alternative options can be explored

    Effects of Dietary Fibers on Short-Chain Fatty Acids and Gut Microbiota Composition in Healthy Adults: A Systematic Review

    Get PDF
    There is an increasing interest in investigating dietary strategies able to modulate the gut microbial ecosystem which, in turn, may play a key role in human health. Dietary fibers (DFs) are widely recognized as molecules with prebiotic effects. The main objective of this systematic review was to: (i) analyze the results available on the impact of DF intervention on short chain fatty acids (SCFAs) production; (ii) evaluate the interplay between the type of DF intervention, the gut microbiota composition and its metabolic activities, and any other health associated outcome evaluated in the host. To this aim, initially, a comprehensive database of literature on human intervention studies assessing the effect of confirmed and candidate prebiotics on the microbial ecosystem was developed. Subsequently, studies performed on DFs and analyzing at least the impact on SCFA levels were extracted from the database. A total of 44 studies from 42 manuscripts were selected for the analysis. Among the different types of fiber, inulin was the DF investigated the most (n = 11). Regarding the results obtained on the ability of fiber to modulate total SCFAs, seven studies reported a significant increase, while no significant changes were reported in five studies, depending on the analytical methodology used. A total of 26 studies did not show significant differences in individual SCFAs, while the others reported significant differences for one or more SCFAs. The effect of DF interventions on the SCFA profile seemed to be strictly dependent on the dose and the type and structure of DFs. Overall, these results underline that, although affecting microbiota composition and derived metabolites, DFs do not produce univocal significant increase in SCFA levels in apparently healthy adults. In this regard, several factors (i.e., related to the study protocols and analytical methods) have been identified that could have affected the results obtained in the studies evaluated. Future studies are needed to better elucidate the relationship between DFs and gut microbiota in terms of SCFA production and impact on health-related markers
    corecore