We extend live sequence charts (LSCs), a highly expressive variant of sequence diagrams, and provide the extension with an executable semantics. The extension involves support for instances that can bind to multiple o...
详细信息
ISBN:
(纸本)9781581134711
We extend live sequence charts (LSCs), a highly expressive variant of sequence diagrams, and provide the extension with an executable semantics. The extension involves support for instances that can bind to multiple objects and symbolic variables that can bind to arbitrary values. The result is a powerful executable language for expressing behavioral requirements on the level of inter-object interaction. The extension is implemented in full in our play-engine tool, with which one can execute the requirements directly without the need to build or synthesize an intra-object system model. It seems that in addition to many advantages in testing and requirements engineering, for some kinds of systems this could lead to the requirements actually serving as the final implementation.
Previous plasma simulations have used Fortran or other computer languages in which it is difficult to directly express the underlying physics. In a plasma, each particle - electron, ion, or dust - interacts with the e...
详细信息
ISBN:
(纸本)9781581135992
Previous plasma simulations have used Fortran or other computer languages in which it is difficult to directly express the underlying physics. In a plasma, each particle - electron, ion, or dust - interacts with the external fields and with other particles in ways that can be readily and effectively mimicked by object oriented programming. Thus, we have used JAVA's strong object design to rewrite traditional plasma simulation codes. By using coarse grain and fine grain object design, we incorporate the power of object oriented design for programming and for making the physics clear while paying only a small cost in increased computational time. The JAVA implementation has also the advantage that changes in the underlying physical model can be easily completed swapping or adding objects without large scale revisions of the code.
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 proceedings contain 20 papers. The special focus in this conference is on Generative programming and Component Engineering. The topics include: Program generation, termination, and binding-time analysis;generative...
ISBN:
(纸本)3540442847
The proceedings contain 20 papers. The special focus in this conference is on Generative programming and Component Engineering. The topics include: Program generation, termination, and binding-time analysis;generative programming for embedded systems;a specification and scripting language for binary data;memoization in type-directed partial evaluation;a protocol stack development tool using generative programming;building composable aspect-specific languages with logic metaprogramming;architectural refactoring in framework evolution;towards a modular program derivation via fusion and tupling;generative programming for embedded software;a framework for the detection and resolution of aspect interactions;bridging the gap between implementation and design;program termination analysis in polynomial time;generators for synthesis of qos adaptation in distributed real-time embedded systems;optimizing content management system pipelines;component-based programming for higher-order attribute grammars;altering java semantics via bytecode manipulation;meta-programming with concrete object syntax and managing dynamic changes in multi-stage program generation systems.
GCspy is an architectural framework for the collection, transmission, storage and replay of memory management behaviour. It makes new contributions to the understanding of the dynamic memory behaviour of programming l...
详细信息
ISBN:
(纸本)9781581134711
GCspy is an architectural framework for the collection, transmission, storage and replay of memory management behaviour. It makes new contributions to the understanding of the dynamic memory behaviour of programminglanguages (and especially object-oriented languages that make heavy demands on the performance of memory managers). GCspy's architecture allows easy incorporation into any memory management system: it is not limited to garbage-collected languages. It requires only small changes to the system in which it is incorporated but provides a simple to use yet powerful data-gathering API. GCspy scales to allow very large heaps to be visualised effectively and efficiently. It allows already-running, local or remote systems to be visualised and those systems to run at full speed outside the points at which data is gathered. GCspy's visualisation tool presents this information in a number of novel ways. Deep understanding of program behaviour is essential to the design of the next generation of garbage collectors and explicit allocators. Until now, no satisfactory tools have been available to assist the implementer in gaining an understanding of heap behaviour. GCspy has been demonstrated to be a practical solution to this dilemma. It has been used to analyse production Java virtual machines running applications of realistic sizes. Its use has revealed important insights into the interaction between application program and JVM and has led to the development of better garbage collectors.
We introduce SSJ, an organized set of software tools implemented in the Java programminglanguage and. offering general-purpose facilities for stochastic simulation programming. It supports the event view, process vie...
详细信息
ISBN:
(纸本)0780376145
We introduce SSJ, an organized set of software tools implemented in the Java programminglanguage and. offering general-purpose facilities for stochastic simulation programming. It supports the event view, process view, continuous simulation, and arbitrary mixtures of these. Performance, flexibility, and extensibility were key criteria in its design and implementation. We illustrate its use by simple examples and discuss how we dealt with some performance issues in the implementation.
Interactive scientific visualization applications require both high performance graphics and numerical computation capabilities. C/C++ programs are able to take direct advantage of specialized graphics rendering hardw...
详细信息
Interactive scientific visualization applications require both high performance graphics and numerical computation capabilities. C/C++ programs are able to take direct advantage of specialized graphics rendering hardware (referred to as a Graphics Processing Unit or GPU) for display and special SIMD instructions within the CPU for computation. The former using for example the OpenGL library and latter using compiler extensions. Software developed in Java offers portability, robustness and security. However, the graphics rendering performance, memory efficiency, and computational speed of Java for visualization of large scientific data sets has not been well characterized. Benchmarking experiments were done using the JLoop (Java) and Loop (C/C++) visualization software for animation of 2D datasets. Preliminary results for six different hardware platforms showed that compared to the C/C++ version, the Java implementation was four to five times slower for graphics image animation, used on average 2.5 to three times more memory, and was up to 3.6 times slower using a pure numerical benchmark that simulated image pixel operations. Such benchmarks should be used to improve the Java VM performance across platforms, similar to JIT-compiler design.
Agent-oriented programming is a programming model proposed to design complex programs. To simplify the implementation of agent systems, several new agent-oriented programminglanguages (AOPL) have been proposed. Usual...
详细信息
ISBN:
(纸本)9781581134803
Agent-oriented programming is a programming model proposed to design complex programs. To simplify the implementation of agent systems, several new agent-oriented programminglanguages (AOPL) have been proposed. Usually, these languages are developed using informal techniques and implemented in an "ad hoc" manner. The lack of formal methods and adequate analysis tools makes the design of these languages a hard and error prone task. This paper shows the advantages of using action semantics and related tools in the project of new AOPLs. Action semantics is a formalism used to describe programminglanguages that produces specifications that can be easily extended and reused in new projects. To demonstrate this action semantics approach, we have developed a specification of some basic agent concepts as well as a tool that aids the validation and execution of action semantics specifications. Using this approach, the programminglanguagedesigner obtains a powerful design environment to propose and test new kinds of agent concepts, components and constructors.
Satisfiability of complex word-level formulas often arises as a problem in formal verification of hardware designs described at the register transfer level (RTL). Even though most designs are described in a hardware d...
详细信息
ISBN:
(纸本)0769514413
Satisfiability of complex word-level formulas often arises as a problem in formal verification of hardware designs described at the register transfer level (RTL). Even though most designs are described in a hardware description language (HDL), like Verilog or VHDL, usually, this problem is solved in the Boolean domain, using Boolean solvers. These engines often show a poor performance for data path verification. Instead of solving the problem at the bit-level, a method is proposed to transform conjunctions of bitvector equalities and inequalities into sets of integer linear arithmetic constraints. It is shown that it is possible to correctly model the modulo semantics of HDL operators as linear constraints. Integer linear constraint solvers are used as a decision procedure for bitvector arithmetic. In the implementation we focus on verification of arithmetic properties of Verilog-HDL designs. Experimental results show considerable performance advantages over high-end Boolean SAT solver approaches. The speed-up on the benchmarks studied is several orders of magnitude.
暂无评论