Using modeling techniques, the structure of an application domain can be captured in an easy and highly expressive way. However, while the use of meta models for the definition of modeling languages is a common and we...
详细信息
The design of an appropriate test suite for software testing is a challenging task. It requires a suitable tradeoff between effectiveness, e.g., a suficient amount of test cases to satisfy the test goals of a given co...
详细信息
Fully automated test-based grading is crucial to cope with large numbers of student homework code. AuDoscore extends JUnit and keeps the task of creating exercises and corresponding grading tests simple. Students have...
详细信息
Fully automated test-based grading is crucial to cope with large numbers of student homework code. AuDoscore extends JUnit and keeps the task of creating exercises and corresponding grading tests simple. Students have a set of public smoke tests available. Grading also uses additional secret tests that check the submission more intensely. AuDoscore ensures that submissions cannot call libraries if the lecturer explicitly forbids them. Grading is not susceptible to the problem of consecutive faults by partially replacing student code with cleanroom code provided by a lecturer. AuDoscore can be run as a stand-alone application or integrated into our Exercise Submission Tool (EST). This paper briefly describes how both tools interact, depicts AuDoscore from the point of view of the lecturer, and describes some key technical aspects of its implementation.
Indeterminism is typical for concurrent computation. If several concurrent actors compete for the same resource then at most one of them may succeed, whereby the choice of the successful actor is indeterministic. As a...
Indeterminism is typical for concurrent computation. If several concurrent actors compete for the same resource then at most one of them may succeed, whereby the choice of the successful actor is indeterministic. As a consequence, the execution of a concurrent program may be nonconfluent. Even worse, most observables (termination, computational result, and time complexity) typically depend on the scheduling of actors created during program execution. This property contrast concurrent programs from purely functional programs. A functional program is uniformly confluent in the sense that all its possible executions coincide modulo reordering of execution steps. In this paper, we investigate concurrent programs that are uniformly confluent and their relation to eager and lazy functional programs. We study uniform confluence in concurrent computation within the applicative core of the π-calculus which is widely used in different models of concurrent programming (with interleaving semantics). In particular, the applicative core of the π-calculus serves as a kernel in foundations of concurrent constraint programming with first-class procedures (as provided by the programming language Oz). We model eager functional programming in the λ-calculus with weak call-by-value reduction and lazy functional programming in the call-by-need λ-calculus with standard reduction. As a measure of time complexity, we count application steps. We encode the λ-calculus with both above reduction strategies into the applicative core of the π-calculus and show that time complexity is preserved. Our correctness proofs employs a new technique based on uniform confluence and simulations. The strength of our technique is illustrated by proving a folk theorem, namely that the call-by-need complexity of a functional program is smaller than its call-by-value complexity.
Semantic Business Process Management is an emerging research area to support enterprises achieving economic and strategic objectives and improving their daily business. However, the magnitude of changes which are requ...
详细信息
In this paper, we develop a compositional denotational semantics for prioritized real-time distributed programming languages. One of the interesting features is that it extends the existing compositional theory propos...
详细信息
In this paper, we develop a compositional denotational semantics for prioritized real-time distributed programming languages. One of the interesting features is that it extends the existing compositional theory proposed by Koymans et al (1988) for prioritized real-time languages preserving the compositionality of the semantics. The language permits users to define situations in which an action has priority over another action without the requirement of preassigning priorities to actions for partially ordering the alphabet of actions. These features are part of the languages such as Ada designed specifically keeping in view the needs of real-time embedded systems. Further, the approach does not have the restriction of other approaches such as prioritized internal moves can preempt unprioritized actions etc. Our notion of priority in the environment is based on the intuition that a low priority action can proceed only if the high priority action cannot proceed due to lack of the handshaking partner at that point of execution. In other words, if some action is possible corresponding to that environment at some point of execution then the action takes place without unnecessary waiting. The proposed semantic theory provides a clear distinction between the semantic model and the execution model - this has enabled us to fully ensure that there is no unnecessary waiting.
A rotating alias register file is a scalable hardware support to detect memory aliases at run-time. It has been shown that it can enable instruction-level parallelism to be effectively exploited from sequential code. ...
详细信息
The application of both classical and state of the art tools of quality control to the software development process are described. These tools and methods use actual test results and determine the range of failure rat...
详细信息
Dependency-based representations of natural language syntax require a fine balance between structural flexibility and computational complexity. In previous work, several constraints have been proposed to identify clas...
详细信息
This paper presents generic pickling and minimization mechanisms that are provided as services similar to garbage collection. Pickling is used to externalize and internalize data. Minimization means to maximize the sh...
详细信息
暂无评论