We describe Charm++, an object oriented portable parallel programminglanguage based on C++. Its design philosophy, implementation, sample applications and their performance on various parallel machines are described....
详细信息
the proceedings contain 23 papers. the topics discussed include: parsing and reflective printing, bidirectionally;taming context-sensitive languages with principled stateful parsing;efficient development of consistent...
ISBN:
(纸本)9781450344470
the proceedings contain 23 papers. the topics discussed include: parsing and reflective printing, bidirectionally;taming context-sensitive languages with principled stateful parsing;efficient development of consistent projectional editors using grammar cells;experiences of Models@run-time with EMF and CDO;runtime support for rule-based access-control evaluation through model-transformation;object-oriented design pattern for DSL program monitoring;execution framework of the GEMOC studio;languagedesign and implementation for the domain of coding conventions;BSML-mbeddr: integrating semantically configurable state-machine models in a C programming environment;adding uncertainty and units to quantity types in software models;FRaMED: full-fledge role modeling editor;towards a universal code formatter through machine learning;the IDE portability problem and its solution in Monto;principled syntactic code completion using placeholders;automated testing support for reactive domain-specific modelling languages;symbolic execution of high-level transformations;and raincode assembler compiler.
Concurrent programming is notoriously difficult. Current abstractions are intricate and make it hard to design computer systems that are reliable and scalable. We argue that these problems can be addressed by moving t...
详细信息
Concurrent programming is notoriously difficult. Current abstractions are intricate and make it hard to design computer systems that are reliable and scalable. We argue that these problems can be addressed by moving to a declarative style of concurrency control in which programmers directly indicate the safety properties that they require. In our scheme the programmer demarks sections of code which execute within lightweight software-based transactions that commit atomically and exactly once. these transactions can update shared data, instantiate objects, invoke library features and so on. they can also block, waiting for arbitrary boolean conditions to become true. Transactions which do not access the same shared memory locations can commit concurrently. Furthermore, in general, no performance penalty is incurred for memory accesses outside transactions. We present a detailed design of this proposal along with an implementation and evaluation. We argue that the resulting system (i) is easier for mainstream programmers to use, (ii) prevents lock-based priority-inversion and deadlock problems and (iii) can offer performance advantages.
Studies of Aspect-Oriented programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. languages specified in this manner have a fixed, non-extensible AOP fun...
详细信息
Studies of Aspect-Oriented programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. languages specified in this manner have a fixed, non-extensible AOP functionality. this paper argues the need for AOP to support the integration and use of multiple domain-specific aspect extensions together. We study the more general case of integrating a base language with a set of third-party aspect extensions for that language. We present a general mixin-based semantic framework for implementing dynamic aspect extensions in such a way that multiple, independently developed aspect mechanisms can be subject to third-party composition and work collaboratively. Principles governing the design of a collaborative aspect mechanism are aspectual effect exposure and implementation hiding. Copyright 2005 acm.
We describe a general module language integrating abstract data types, specifications and object-oriented concepts. the framework is based on the Standard ML module system, withthree main extensions: subtyping, a for...
详细信息
While SOAP/XML is perceived as the appropriate interoperability level for web-services, companies compete to provide workflow-based tools for web-service integration. this paper presents the design and implementation ...
详细信息
ISBN:
(纸本)0769517420
While SOAP/XML is perceived as the appropriate interoperability level for web-services, companies compete to provide workflow-based tools for web-service integration. this paper presents the design and implementation of a prototype workflow management system for building new web-services from a workflow of existing web-services. this enables the creation of multiple layers of value-added service providers and provides fast service creation, customisation and deployment. the system caters for multiple workflow paradigms, provides an axtensible language for workflow specification and emphasises encapsulation and tight constraints on workflow execution. To expose a workflow Of web-services as a web-service, several design steps have been required including the deployment as a web-service of the generic workflow engine and a generalisation of the Visitor Pattern to concurrent visitors.
the conference materials contain 33 papers. the topics covered include experience with functional programming applications, theory and implementation of types, storage reclamation, semantics analysis of imperative ext...
详细信息
ISBN:
(纸本)089791595X
the conference materials contain 33 papers. the topics covered include experience with functional programming applications, theory and implementation of types, storage reclamation, semantics analysis of imperative extensions, compiling and performance evaluation, languagedesign, compiler optimization, static analysis, functional algorithms and partial evaluation.
We present a new programming paradigm called Communicating Reactive Processes or CRP that unifies the capabilities of asynchronous and synchronous concurrent programminglanguages. Asynchronous languages such as CSP, ...
详细信息
ISBN:
(纸本)0897915607
We present a new programming paradigm called Communicating Reactive Processes or CRP that unifies the capabilities of asynchronous and synchronous concurrent programminglanguages. Asynchronous languages such as CSP, OCCAM, or ADA are well-suited for distributed algorithms;their processes are loosely coupled and communication takes time. the ESTEREL synchronous language is dedicated to reactive systems;its processes are tightly coupled and deterministic, communication being realized by instantaneous broadcasting. Complex applications such as process or robot control require to couple both forms of concurrency, which is the object of CRP. A CRP program consists of independent locally reactive ESTEREL nodes that communicate with each other by CSP rendezvous. CRP faithfully extends both ESTEREL and CSP and adds new possibilities such as precise local watchdogs on rendezvous. We present the design of CRP, its semantics, a translation into classical process calculi for program verification, an application example, and implementation issues.
We present a new approach for constructing and verifying higher-order, imperative programs using the Coq proof assistant. We build on the past work on the Ynot system, which is based on Hoare Type theory. that origina...
详细信息
ISBN:
(纸本)9781605583327
We present a new approach for constructing and verifying higher-order, imperative programs using the Coq proof assistant. We build on the past work on the Ynot system, which is based on Hoare Type theory. that original system was a proof of concept, where every program verification was accomplished via laborious manual proofs, with much code devoted to uninteresting low-level details. In this paper, we present a re-implementation of Ynot which makes it possible to implement fully-verified, higher-order imperative programs with reasonable proof burden. At the same time, our new system is implemented entirely in Coq source files, showcasing the versatility of that proof assistant as a platform for research on languagedesign and verification. Both versions of the system have been evaluated with case studies in the verification of imperative data structures, such as hash tables with higher-order iterators. the verification burden in our new system is reduced by at least an order of magnitude compared to the old system, by replacing manual proof with automation. the core of the automation is a simplification procedure for implications in higher-order separation logic, with hooks that allow programmers to add domain-specific simplification rules. We argue for the effectiveness of our infrastructure by verifying a number of data structures and a packrat parser, and we compare to similar efforts within other projects. Compared to competing approaches to data structure verification, our system includes much less code that must be trusted;namely, about a hundred lines of Coq code defining a program logic. All of our theorems and decision procedures have or build machine-checkable correctness proofs from first principles, removing opportunities for tool bugs to create faulty verifications.
paper presents the design, implementation, and evaluation of the Trusted language Runtime (TLR), a system that protects the confidentiality and integrity of .NET mobile applications from OS security breaches. TLR enab...
详细信息
ISBN:
(纸本)9781450323055
paper presents the design, implementation, and evaluation of the Trusted language Runtime (TLR), a system that protects the confidentiality and integrity of .NET mobile applications from OS security breaches. TLR enables separating an application's security-sensitive logic from the rest of the application, and isolates it from the OS and other apps. TLR provides runtime support for the secure component based on a .NET implementation for embedded devices. TLR reduces the TCB of an open source .NET implementation by a factor of 78 with a tolerable performance cost. the main benefit of the TLR is to bring the developer benefits of managed code to trusted computing. Withthe TLR, developers can build their trusted components withthe productivity benefits of modern high-level languages, such as strong typing and garbage collection. Copyright is held by the owner/author(s).
暂无评论