32 resultados para run-time allocation
em BORIS: Bern Open Repository and Information System - Berna - Suiça
Resumo:
Software must be constantly adapted due to evolving domain knowledge and unanticipated requirements changes. To adapt a system at run-time we need to reflect on its structure and its behavior. Object-oriented languages introduced reflection to deal with this issue, however, no reflective approach up to now has tried to provide a unified solution to both structural and behavioral reflection. This paper describes Albedo, a unified approach to structural and behavioral reflection. Albedo is a model of fined-grained unanticipated dynamic structural and behavioral adaptation. Instead of providing reflective capabilities as an external mechanism we integrate them deeply in the environment. We show how explicit meta-objects allow us to provide a range of reflective features and thereby evolve both application models and environments at run-time.
Resumo:
Conventional debugging tools present developers with means to explore the run-time context in which an error has occurred. In many cases this is enough to help the developer discover the faulty source code and correct it. However, rather often errors occur due to code that has executed in the past, leaving certain objects in an inconsistent state. The actual run-time error only occurs when these inconsistent objects are used later in the program. So-called back-in-time debuggers help developers step back through earlier states of the program and explore execution contexts not available to conventional debuggers. Nevertheless, even back-in-time debuggers do not help answer the question, ``Where did this object come from?'' The Object-Flow Virtual Machine, which we have proposed in previous work, tracks the flow of objects to answer precisely such questions, but this VM does not provide dedicated debugging support to explore faulty programs. In this paper we present a novel debugger, called Compass, to navigate between conventional run-time stack-oriented control flow views and object flows. Compass enables a developer to effectively navigate from an object contributing to an error back-in-time through all the code that has touched the object. We present the design and implementation of Compass, and we demonstrate how flow-centric, back-in-time debugging can be used to effectively locate the source of hard-to-find bugs.
Resumo:
This paper is a summary of the main contribu- tions of the PhD thesis published in [1]. The main research contributions of the thesis are driven by the research question how to design simple, yet efficient and robust run-time adaptive resource allocation schemes within the commu- nication stack of Wireless Sensor Network (WSN) nodes. The thesis addresses several problem domains with con- tributions on different layers of the WSN communication stack. The main contributions can be summarized as follows: First, a a novel run-time adaptive MAC protocol is intro- duced, which stepwise allocates the power-hungry radio interface in an on-demand manner when the encountered traffic load requires it. Second, the thesis outlines a metho- dology for robust, reliable and accurate software-based energy-estimation, which is calculated at network run- time on the sensor node itself. Third, the thesis evaluates several Forward Error Correction (FEC) strategies to adap- tively allocate the correctional power of Error Correcting Codes (ECCs) to cope with timely and spatially variable bit error rates. Fourth, in the context of TCP-based communi- cations in WSNs, the thesis evaluates distributed caching and local retransmission strategies to overcome the perfor- mance degrading effects of packet corruption and trans- mission failures when transmitting data over multiple hops. The performance of all developed protocols are eval- uated on a self-developed real-world WSN testbed and achieve superior performance over selected existing ap- proaches, especially where traffic load and channel condi- tions are suspect to rapid variations over time.
Resumo:
Energy efficiency is a major concern in the design of Wireless Sensor Networks (WSNs) and their communication protocols. As the radio transceiver typically accounts for a major portion of a WSN node’s power consumption, researchers have proposed Energy-Efficient Medium Access (E2-MAC) protocols that switch the radio transceiver off for a major part of the time. Such protocols typically trade off energy-efficiency versus classical quality of service parameters (throughput, latency, reliability). Today’s E2-MAC protocols are able to deliver little amounts of data with a low energy footprint, but introduce severe restrictions with respect to throughput and latency. Regrettably, they yet fail to adapt to varying traffic load at run-time. This paper presents MaxMAC, an E2-MAC protocol that targets at achieving maximal adaptivity with respect to throughput and latency. By adaptively tuning essential parameters at run-time, the protocol reaches the throughput and latency of energy-unconstrained CSMA in high-traffic phases, while still exhibiting a high energy-efficiency in periods of sparse traffic. The paper compares the protocol against a selection of today’s E2-MAC protocols and evaluates its advantages and drawbacks.
Resumo:
A robust, inexpensive, and fully validated CE method for the simultaneous determination of the enantiomers of propafenone (PPF), 5-hydroxy-propafenone (5OH-PPF) and N-despropyl-propafenone (NOR-PPF) in serum and in in vitro media is described. It is based upon liquid-liquid extraction at alkaline pH followed by analysis of the reconstituted extract by CE in presence of a pH 2.0 running buffer composed of 100 mM sodium phosphate, 19% methanol, and 0.6% highly sulfated beta-CD. For each compound, the S-enantiomers are shown to migrate ahead of their antipodes, and the overall run time is about 30 min. Enantiomer levels between 25 and 1000 ng/mL provide linear calibration graphs, and the LOD for all enantiomers is between 10 and 12 ng/mL. The assay is shown to be suitable for the determination of the enantiomers of PPF and its metabolites in in vitro incubations comprising human liver microsomes or single CYP450 enzymes (SUPERSOMES). Incubations with CYP2D6 SUPERSOMES revealed, for the first time, the simultaneous formation of the enantiomers of 5OH-PPF and NOR-PPF with that enzyme. CE data can be used for the evaluation of the enzymatic N-dealkylation and hydroxylation rates.
Resumo:
Most languages fall into one of two camps: either they adopt a unique, static type system, or they abandon static type-checks for run-time checks. Pluggable types blur this division by (i) making static type systems optional, and (ii) supporting a choice of type systems for reasoning about different kinds of static properties. Dynamic languages can then benefit from static-checking without sacrificing dynamic features or committing to a unique, static type system. But the overhead of adopting pluggable types can be very high, especially if all existing code must be decorated with type annotations before any type-checking can be performed. We propose a practical and pragmatic approach to introduce pluggable type systems to dynamic languages. First of all, only annotated code is type-checked. Second, limited type inference is performed on unannotated code to reduce the number of reported errors. Finally, external annotations can be used to type third-party code. We present Typeplug, a Smalltalk implementation of our framework, and report on experience applying the framework to three different pluggable type systems.
Resumo:
Software must be constantly adapted to changing requirements. The time scale, abstraction level and granularity of adaptations may vary from short-term, fine-grained adaptation to long-term, coarse-grained evolution. Fine-grained, dynamic and context-dependent adaptations can be particularly difficult to realize in long-lived, large-scale software systems. We argue that, in order to effectively and efficiently deploy such changes, adaptive applications must be built on an infrastructure that is not just model-driven, but is both model-centric and context-aware. Specifically, this means that high-level, causally-connected models of the application and the software infrastructure itself should be available at run-time, and that changes may need to be scoped to the run-time execution context. We first review the dimensions of software adaptation and evolution, and then we show how model-centric design can address the adaptation needs of a variety of applications that span these dimensions. We demonstrate through concrete examples how model-centric and context-aware designs work at the level of application interface, programming language and runtime. We then propose a research agenda for a model-centric development environment that supports dynamic software adaptation and evolution.
Resumo:
Object-oriented modelling languages such as EMOF are often used to specify domain specific meta-models. However, these modelling languages lack the ability to describe behavior or operational semantics. Several approaches have used a subset of Java mixed with OCL as executable meta-languages. In this experience report we show how we use Smalltalk as an executable meta-language in the context of the Moose reengineering environment. We present how we implemented EMOF and its behavioral aspects. Over the last decade we validated this approach through incrementally building a meta-described reengineering environment. Such an approach bridges the gap between a code-oriented view and a meta-model driven one. It avoids the creation of yet another language and reuses the infrastructure and run-time of the underlying implementation language. It offers an uniform way of letting developers focus on their tasks while at the same time allowing them to meta-describe their domain model. The advantage of our approach is that developers use the same tools and environment they use for their regular tasks. Still the approach is not Smalltalk specific but can be applied to language offering an introspective API such as Ruby, Python, CLOS, Java and C#.
Resumo:
The demands of developing modern, highly dynamic applications have led to an increasing interest in dynamic programming languages and mechanisms. Not only applications must evolve over time, but the object models themselves may need to be adapted to the requirements of different run-time contexts. Class-based models and prototype-based models, for example, may need to co-exist to meet the demands of dynamically evolving applications. Multi-dimensional dispatch, fine-grained and dynamic software composition, and run-time evolution of behaviour are further examples of diverse mechanisms which may need to co-exist in a dynamically evolving run-time environment How can we model the semantics of these highly dynamic features, yet still offer some reasonable safety guarantees? To this end we present an original calculus in which objects can adapt their behaviour at run-time to changing contexts. Both objects and environments are represented by first-class mappings between variables and values. Message sends are dynamically resolved to method calls. Variables may be dynamically bound, making it possible to model a variety of dynamic mechanisms within the same calculus. Despite the highly dynamic nature of the calculus, safety properties are assured by a type assignment system.
Resumo:
The demands of developing modern, highly dynamic applications have led to an increasing interest in dynamic programming languages and mechanisms. Not only must applications evolve over time, but the object models themselves may need to be adapted to the requirements of different run-time contexts. Class-based models and prototype-based models, for example, may need to co-exist to meet the demands of dynamically evolving applications. Multi-dimensional dispatch, fine-grained and dynamic software composition, and run-time evolution of behaviour are further examples of diverse mechanisms which may need to co-exist in a dynamically evolving run-time environment. How can we model the semantics of these highly dynamic features, yet still offer some reasonable safety guarantees? To this end we present an original calculus in which objects can adapt their behaviour at run-time. Both objects and environments are represented by first-class mappings between variables and values. Message sends are dynamically resolved to method calls. Variables may be dynamically bound, making it possible to model a variety of dynamic mechanisms within the same calculus. Despite the highly dynamic nature of the calculus, safety properties are assured by a type assignment system.
Resumo:
The goal of this roadmap paper is to summarize the state-of-the-art and identify research challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing with a wide range of topics associated with the field, we focus on four essential topics of self-adaptation: design space for self-adaptive solutions, software engineering processes for self-adaptive systems, from centralized to decentralized control, and practical run-time verification & validation for self-adaptive systems. For each topic, we present an overview, suggest future directions, and focus on selected challenges. This paper complements and extends a previous roadmap on software engineering for self-adaptive systems published in 2009 covering a different set of topics, and reflecting in part on the previous paper. This roadmap is one of the many results of the Dagstuhl Seminar 10431 on Software Engineering for Self-Adaptive Systems, which took place in October 2010.
Resumo:
The range of novel psychoactive substances (NPS) including phenethylamines, cathinones, piperazines, tryptamines, etc. is continuously growing. Therefore, fast and reliable screening methods for these compounds are essential and needed. The use of dried blood spots (DBS) for a fast straightforward approach helps to simplify and shorten sample preparation significantly. DBS were produced from 10 µl of whole blood and extracted offline with 500 µl methanol followed by evaporation and reconstitution in mobile phase. Reversed-phase chromatographic separation and mass spectrometric detection (RP-LC-MS/MS) was achieved within a run time of 10 min. The screening method was validated by evaluating the following parameters: limit of detection (LOD), matrix effect, selectivity and specificity, extraction efficiency, and short-term and long-term stability. Furthermore, the method was applied to authentic samples and results were compared with those obtained with a validated whole blood method used for Routine analysis of NPS. LOD was between 1 and 10 ng/ml. No interference from Matrix compounds was observed. The method was proven to be specific and selective for the analytes, although with limitations for 3-FMC/flephedrone and MDDMA/MDEA. Mean extraction efficiency was 84.6 %. All substances were stable in DBS for at least a week when cooled. Cooling was essential for the stability of cathinones. Prepared samples were stable for at least 3 days. Comparison to the validated whole blood method yielded similar results. DBS were shown to be useful in developing a rapid screening method for NPS with simplified sample preparation. Copyright © 2013 John Wiley & Sons, Ltd
Resumo:
The development of a robust assay based on MEKC for cefepime in human serum and plasma with internal quality assurance is reported. Sample preparation comprises protein precipitation in the presence of SDS at pH 4.5. This is a gentle approach for which decomposition of cefepime during sample handling is negligible. After hydrodynamic sample injection of the supernatant, analysis occurs in a phosphate/borate buffer at pH 9.1 with 75 mM SDS using normal polarity and analyte detection at 257 nm. The MEKC run time interval and throughput are about 5 min and seven samples per hour, respectively. The calibration range for cefepime is 1-60 μg/mL, with 1 μg/mL being the LOQ. The performance of the assay with multilevel internal calibration was assessed with calibration and control samples. The assay is shown to be simple, inexpensive, reproducible, and robust. It was applied to determine cefepime levels in the sera of critically ill patients and to assess the instability of cefepime in patient and control samples. Our data revealed that serum containing cefepime can be stored at -20°C for a short time, whereas for long-term storage, samples have to be kept at -70°C.
Resumo:
Opportunistic routing (OR) employs a list of candidates to improve wireless transmission reliability. However, conventional list-based OR restricts the freedom of opportunism, since only the listed nodes are allowed to compete for packet forwarding. Additionally, the list is generated statically based on a single network metric prior to data transmission, which is not appropriate for mobile ad-hoc networks (MANETs). In this paper, we propose a novel OR protocol - Context-aware Adaptive Opportunistic Routing (CAOR) for MANETs. CAOR abandons the idea of candidate list and it allows all qualified nodes to participate in packet transmission. CAOR forwards packets by simultaneously exploiting multiple cross-layer context information, such as link quality, geographic progress, energy, and mobility.With the help of the Analytic Hierarchy Process theory, CAOR adjusts the weights of context information based on their instantaneous values to adapt the protocol behavior at run-time. Moreover, CAOR uses an active suppression mechanism to reduce packet duplication. Simulation results show that CAOR can provide efficient routing in highly mobile environments. The adaptivity feature of CAOR is also validated.