waashk/dblp huggingface dataset:
smooth interpretation. we present smooth interpretation, a method to systematically approximate numerical imperative programs by smooth mathematical functions. this approximation facilitates the use of numerical search techniques like gradient descent for program analysis and synthesis. the method extends to programs the notion of gaussian smoothing, a popular signal-processing technique that filters out noise and discontinuities from a signal by taking its convolution with a gaussian function. in our setting, gaussian smoothing executes a program according to a probabilistic semantics; the execution of program p on an input x after gaussian smoothing can be summarized as follows: (1) apply a gaussian perturbation to x -- the perturbed input is a random variable following a normal distribution with mean x. (2) compute and return the expected output of p on this perturbed input. computing the expectation explicitly would require the execution of p on all possible inputs, but smooth interpretation bypasses this requirement by using a form of symbolic execution to approximate the effect of gaussian smoothing on p. the result is an efficient but approximate implementation of gaussian smoothing of programs. smooth interpretation has the effect of attenuating features of a program that impede numerical searches of its input space -- for example, discontinuities resulting from conditional branches are replaced by continuous transitions. we apply smooth interpretation to the problem of synthesizing values of numerical control parameters in embedded control applications. this problem is naturally formulated as one of numerical optimization: the goal is to find parameter values that minimize the error between the resulting program and a programmer-provided behavioral specification. solving this problem by directly applying numerical optimization techniques is often impractical due to the discontinuities in the error function. by eliminating these discontinuities, smooth interpretation makes it possible to search the parameter space efficiently by means of simple gradient descent. our experiments demonstrate the value of this strategy in synthesizing parameters for several challenging programs, including models of an automated gear shift and a pid controller.
complete functional synthesis. synthesis of program fragments from specifications can make programs easier to write and easier to reason about. to integrate synthesis into programming languages, synthesis algorithms should behave in a predictable way - they should succeed for a well-defined class of specifications. they should also support unbounded data types such as numbers and data structures. we propose to generalize decision procedures into predictable and complete synthesis procedures. such procedures are guaranteed to find code that satisfies the specification if such code exists. moreover, we identify conditions under which synthesis will statically decide whether the solution is guaranteed to exist, and whether it is unique. we demonstrate our approach by starting from decision procedures for linear arithmetic and data structures and transforming them into synthesis procedures. we establish results on the size and the efficiency of the synthesized code. we show that such procedures are useful as a language extension with implicit value definitions, and we show how to extend a compiler to support such definitions. our constructs provide the benefits of synthesis to programmers, without requiring them to learn new concepts or give up a deterministic execution model.
memsat: checking axiomatic specifications of memory models. memory models are hard to reason about due to their complexity, which stems from the need to strike a balance between ease-of-programming and allowing compiler and hardware optimizations. in this paper, we present an automated tool, memsat, that helps in debugging and reasoning about memory models. given an axiomatic specification of a memory model and a multi-threaded test program containing assertions, memsat outputs a trace of the program in which both the assertions and the memory model axioms are satisfied, if one can be found. the tool is fully automatic and is based on a sat solver. if it cannot find a trace, it outputs a minimal subset of the memory model and program constraints that are unsatisfiable. we used memsat to check several existing memory models against their published test cases, including the current java memory model by manson et al. and a revised version of it by sevcik and aspinall. we found subtle discrepancies between what was expected and the actual results of test programs.
parameterized verification of transactional memories. we describe an automatic verification method to check whether transactional memories ensure strict serializability a key property assumed of the transactional interface. our main contribution is a technique for effectively verifying parameterized systems. the technique merges ideas from parameterized hardware and protocol verification--verification by invisible invariants and symmetry reduction--with ideas from software verification--template-based invariant generation and satisfiability checking for quantified formulæ (modulo theories). the combination enables us to precisely model and analyze unbounded systems while taming state explosion. our technique enables automated proofs that two-phase locking (tpl), dynamic software transactional memory (dstm), and transactional locking ii (tl2) systems ensure strict serializability. the verification is challenging since the systems are unbounded in several dimensions: the number and length of concurrently executing transactions, and the size of the shared memory they access, have no finite limit. in contrast, state-of-the-art software model checking tools such as blast and tvla are unable to validate either system, due to inherent expressiveness limitations or state explosion.
supporting speculative parallelization in the presence of dynamic data structures. the availability of multicore processors has led to significant interest in compiler techniques for speculative parallelization of sequential programs. isolation of speculative state from non-speculative state forms the basis of such speculative techniques as this separation enables recovery from misspeculations. in our prior work on cord [35,36] we showed that for array and scalar variable based programs copying of data between speculative and non-speculative memory can be highly optimized to support state separation that yields significant speedups on multicore machines available today. however, we observe that in context of heap-intensive programs that operate on linked dynamic data structures, state separation based speculative parallelization poses many challenges. the copying of data structures from non-speculative to speculative state (copy-in operation) can be very expensive due to the large sizes of dynamic data structures. the copying of updated data structures from speculative state to non-speculative state (copy-out operation) is made complex due to the changes in the shape and size of the dynamic data structure made by the speculative computation. in addition, we must contend with the need to translate pointers internal to dynamic data structures between their non-speculative and speculative memory addresses. in this paper we develop an augmented design for the representation of dynamic data structures such that all of the above operations can be performed efficiently. our experiments demonstrate significant speedups on a real machine for a set of programs that make extensive use of heap based dynamic data structures.
cache topology aware computation mapping for multicores. the main contribution of this paper is a compiler based, cache topology aware code optimization scheme for emerging multicore systems. this scheme distributes the iterations of a loop to be executed in parallel across the cores of a target multicore machine and schedules the iterations assigned to each core. our goal is to improve the utilization of the on-chip multi-layer cache hierarchy and to maximize overall application performance. we evaluate our cache topology aware approach using a set of twelve applications and three different commercial multicore machines. in addition, to study some of our experimental parameters in detail and to explore future multicore machines (with higher core counts and deeper on-chip cache hierarchies), we also conduct a simulation based study. the results collected from our experiments with three intel multicore machines show that the proposed compiler-based approach is very effective in enhancing performance. in addition, our simulation results indicate that optimizing for the on-chip cache hierarchy will be even more important in future multicores with increasing numbers of cores and cache levels.
a method for application evaluations in context of enterprise architecture. this contribution presents a method to evaluate business applications. the method allows for using artifacts of enterprise architectures. artifacts like business processes or hardware can exert influence on the application's quality and thus have to be regarded. a central aspect is to modularize the method's basic components, which are key figures and their metrics. the modularization allows for flexible usage and customization to fit the heterogeneity of different organizations. to make the method more intuitive, a key figure is encapsulated by a fuzzy logic based component denoted as criterion. a criterion addresses a certain aspect to evaluate an application and allows for using linguistic terms to represent a key figure.
energy-aware dual-mode voltage scaling for weakly hard real-time systems. in this paper we study the problem of minimizing energy while ensuring the designated qos requirements for weakly hard realtime systems on a dual-mode variable voltage processor. the qos is quantified with the (m, k)-constraints. we proposed a dynamic scheduling strategy, based on pattern variation and the enhanced dual priority scheduling, to guarantee the (m, k)-constraints while optimizing the energy consumption. the simulation results demonstrate that our proposed techniques can achieve significant energy saving performance while ensuring the (m, k)-guarantee.
a format to design narrative multimedia applications for cultural heritage communication. in this paper we introduce the "instant multimedia" (imm) approach to ict-based communication. imm is characterized for being quick (30 days to deliver the application) and low cost (5,000 us dollars for a medium-sized applications). it is therefore a suitable solution in a number of occasions: when a sudden communication need arises, in the case of small institutions with scarce resources, when niche target and content are to be addressed etc. we will introduce a concrete case-study, "enigma helvetia tales", a multimedia (text, images, audios) and multichannel (web, cd-rom, podcast) application that was developed in spring 2008 in the occasion of an art exhibition held in lugano (ch). an extensive user study -- involving more than 200 users -- proved the efficacy of the approach in terms of satisfaction, better understanding of content, knowledge retention and enhanced curiosity towards the event.
a framework for handling revisions in distributed ontologies. one of the important issues in ontology management is handling incoming updates and dealing with possible inconsistencies that they may induce. this is even more challenging in the context of a modular and distributed representation, because of the side-effects of the propagation of changes to the other connected or related ontologies. in this paper, we analyze the notion of ontology revision in a distributed ontology representation. we introduce a revision operator for distributed ontologies and show that it satisfies important postulates for knowledge base revision. in addition, based on a tableau algorithm for alc ontologies, we propose an algorithm for applying the received changes and revising the original ontology through the proposed operator.
transformation templates: adding flexibility to model-driven engineering of user interfaces. model-based user interface (ui) development environments are aimed at generating one or many uis from one or many models. model-driven engineering (mde) of uis is assumed to be superior to those environments since they make the ui design knowledge visible, explicit, and external, for instance as model-to-model transformations and model-to-code compilation rules. these transformations and rules are often considered inflexible, complex to express, and hard to develop by ui designers and developers who are not necessarily experts in mde. in order to overcome these shortcomings, this paper introduces "transformation templates", an approach that is adding flexibility to the mde of uis by externalizing the transformation logic of ui models, and making it editable, customizable, and reusable. it is also intended to make it easier for ui designers to specify the transformations. a transformation template specifies a series of parameters that enable designers to parameterize the model transformation process at the concept level that is of a higher level of abstraction than at the level of physical properties of ui widgets. this paper presents an editor for transformation templates and an example of parameter type. transformation templates can be effectively and efficiently used in any circumstances where the transformation knowledge needs to be modified by non-experts, such as in domain specific languages where flexibility is required.
software adaptation patterns for service-oriented architectures. this paper describes the concept of software adaptation patterns and how they can be used in software adaptation of service-oriented architectures. the patterns are described in terms of a three-layer architecture for self-management. a software adaptation pattern defines how a set of components that make up an architecture pattern dynamically cooperate to change the software configuration to a new configuration. in our approach, adaptation connectors are introduced to encapsulate adaptation state machine models so that the adaptation patterns can be more reusable. a change management model for dynamically evolving service-oriented applications is also described with a case study.
on the use of patterns to recover business processes. legacy systems keep key business knowledge from companies over time. this knowledge is hidden in the source code lines and must be recovered through software archeology processes to maintain and help the legacy systems to evolve, so that the roi and lifespan of those systems can be improved. this paper proposes a set of patterns to obtain, in a deterministic manner, business models from the source code of legacy systems. thus, the business process models recovered from the legacy systems preserve the business knowledge and can be used to modernize and maintain the legacy systems.
an approach to developing reusable domain services for service oriented applications. today, the software environment paradigm is shifting to service-oriented computing, based on key features that reflect business concerns. the soma and soup methodologies can be used to develop service-oriented applications. however, these approaches focus on developing monolithic service applications. therefore, we propose a feature-based reusable domain service development approach to create more reusable and flexible domain services offering commonality and variability.
scalable analysis of collective behaviour in smart service systems. the long term vision of smart service systems in which electronic environments are made sensitive and responsive to the presence of, possibly many, people is gradually taking shape through a number of pilot projects. the purposes of such systems vary from intelligent homes that assist their inhabitants to make their lives more independent and comfortable to much larger environments such as airports in which people are provided with context aware, personalised, adaptive and anticipatory services that are most relevant for them given their location and their current activities. this paper is concerned with the exploration of scalable formal models that can address the collective behaviour of a large number of people moving through a smart environment.
quality and perceived usefulness of process models. modeling is now an essential ingredient in business process management and information systems development. the general usefulness of models in these areas is therefore generally accepted. it is also undisputed that the quality of the models has a significant impact on their usefulness. in the literature we can find any number of quality metrics, but hardly any study that investigates their relation with (perceived) usefulness and none that considers their relative impact on usefulness. we take a look at some of the most frequent quality dimensions and their relative impact on the perceived usefulness of models.
cooperation enablement for centralistic early warning systems. from large-scale acquisition of information on security incidents by early warning systems (ews) arises the opportunity to draw up a situation picture that allows detection of trends and upcoming threats. while the need for integrating such information is widely accepted, there typically exist reservations concerning the distribution of information allowing outsiders insights into security incidents of individual organizations. these reservations so far prohibit the deployment of ews in practice. in order to make ews practical we study the conflicting interests of all involved parties regarding information processed by the ews, and propose a resolution of the conflict based on information reduction by pseudonymization. we develop a fair balanced trade-off respecting most interests of parties as well as privacy of involved persons and propose privacy mechanisms to be applied to respective information. an implementation of the privacy mechanisms is experimentally evaluated to demonstrate the practicality of our approach.
modeling pomdps for generating and simulating stock investment policies. analysts and investors use technical analysis tools to create charts and price indicators that help them in decision making. chart patterns and indicators are not deterministic and even analysts may have different interpretations, depending on their experience, background and emotional state. in this way, tools that allow users to formalize these concepts and study investment policies based on them can provide a more solid basis for decision making. in this paper, we present a tool we have built to formally model stock investment contexts as partially observable markov decision processes (pomdp), so that investment policies in the stock market can be generated and simulated, taking into consideration the accuracy of technical analysis techniques. in our models, we assume that the trend for the future prices is part of the state at a certain time and can be "partially observed" by means of technical analysis techniques. historical series are used to provide probabilities related to the accuracy of technical analysis techniques, which are used by an automated planning algorithm to create policies that try to maximize the profit. the tool also provides flexibility for trying and comparing different models.
automatic k-complex detection using hjorth parameters and fuzzy decision. k-complex is a stereotyped transient wave in the human electroencephalogram (eeg), it appears frequently during sleep recordings. its role and significance have been disregarded since its discovery until recently, when the american association of sleep medicine (aasm) proposed a new classification of sleep with a relevant role for the k-complexes in the definition of the sleep stages. it is now one of the key features that contribute to sleep stage assessment. k-complexes are associated with sleep arousal and can occur spontaneously or as an evoked response to external stimuli. since the eeg has a stochastic nature, k-complex can have a wide variety of shapes and it can be difficult to distinguish it from other eeg waves. the visual scoring of k-complex is a very complex, time consuming and expensive procedure and reported agreement between human expert scorers is very poor. in this paper a new method for k-complex automatic detection is presented. the detection method is based on hjorth parameters and employs fuzzy decision. the performance of the detection system is compared to the visual human scoring.
organizing master data management: findings from an expert survey. master data management (mdm) is defined as an application-independent process which describes, owns and manages core business data entities. the establishment of the mdm process is a business engineering (be) tasks which requires organizational design. this paper reports on the results of a questionnaire survey among large enterprises aiming at delivering insight into what tasks and master data classes mdm organizations cover ("scope") and how many people they employ ("size"). the nature of the study is descriptive, i.e. it allows for the identification of patterns and trends in organizing the mdm process.
goal and model driven design of an architecture for a care service platform. service-oriented architecture holds the potential of allowing the development on-the-fly of flexible applications that can adapt rapidly by combining and reusing existing services. we believe that in order to react swiftly and coherently to changes, an architecture must provide a capability to capture how services, and the more complex applications based on them, realize business motivations. this research develops a framework and a method for goal-driven, model-driven, and service-oriented design. the framework includes goal modeling in the mda stack, from cim to code. by using this framework, we are able to create a system that is compatible with its business goals, and thus is flexible when business demands change. a case study demonstrates how our framework can be used to combine mda, soa, and goal modeling with business rules as an architecture for a care service platform.
nudge: intermediaries' role in interdependent network security. by employing an interdependent security game-theoretic framework, we study how individual internet service providers can coordinate the investment decisions of end users to improve the security of the overall system. we study two different forms of intervention: rebates in combination with penalties (pay for outcome) and costsubsidies (pay for effort).
spanders: distributed spanning expanders. we consider self-stabilizing and self-organizing distributed construction of a spanner that forms an expander. we use folklore results to randomly define an expander graph. given the randomized nature of our algorithms, a monitoring technique is presented for ensuring the desired results. the monitoring is based on the fact that expanders have a rapid mixing time and the possibility of examining the rapid mixing time by o(nlogn) short (o(log4 n) length) random walks even for non regular expanders. we then employ our results to construct a hierarchical sequence of spanders, each of them an expander spanning the previous one. such a sequence of spanders may be used to achieve different quality of service assurances in different applications. several snap-stabilizing algorithms that are used to utilize the monitoring are presented, including reset and token tracing algorithms for message passing systems.
constrained colocation mining: application to soil erosion characterization. spatial data mining has been extensively studied for gis applications. to deal with a fast increasing of data, investigations for spatial data analysis are needed. in this paper, we propose a spatial data mining approach which adapts the existing colocation concept to characterize soil erosion hazard. in order to manage this task, we put the colocation mining task into a more general framework. based on this framework, new constraints linked to domain knowledge are pushed into the colocation mining algorithm. finally, we developed a prototype and lead experiments on real scientific datasets.