LiPS is a system for distributed computing using idle-cycles in networks of workstations. The system provides its user with the tuple space based generative communication paradigm of parallel computing as known from t...
详细信息
LiPS is a system for distributed computing using idle-cycles in networks of workstations. The system provides its user with the tuple space based generative communication paradigm of parallel computing as known from the coordination language LINDA. The core of the LiPS system is the fault-tolerant tuple space machine replicating the tuple space. The implementation, based on the protocols given by Y. Amir et al. (1993), is set up on a mutex token based membership protocol for handling crashing and joining tuple space servers, and a closely related total order protocol which establishes a linear order among all tuples. The linear order on tuples is used to speed up replication of reading tuple space accesses and decreases the memory requirements for message logs. As it is possible to add or remove tuple space servers at runtime, efficiency/reliability can be adjusted to the application needs.
This tutorial explains how to implement a Service-Oriented Architecture (SOA) for reliable systems using Enterprise Service Bus (ESB) technologies. The first half of the tutorial describes terms of Service-Oriented Ar...
详细信息
ISBN:
(纸本)9781450314008
This tutorial explains how to implement a Service-Oriented Architecture (SOA) for reliable systems using Enterprise Service Bus (ESB) technologies. The first half of the tutorial describes terms of Service-Oriented Architectures (SOA) including service, service registry, service provider, service consumer, Simple Object Access Protocol (SOAP), Representational State Transfer (REST), and Web Service Description language (WSDL). Several examples of REST and SOAP web services are provided using the Ada Web Server (AWS). This tutorial also presents principles of SOA including loose coupling, encapsulation, composibility of web services, and statelessness of web services. The tutorial covers the benefits of SOA and organizations that are supporting SOA infrastructure. The second half of the tutorial covers Enterprise Service Bus (ESB) technologies including definitions, capabilities, benefits and drawbacks. The tutorial discusses the difference between SOA and an ESB, as well as some of the commercially available ESB solutions on the market. The Mule ESB is explored in more detail and several examples are given. Several examples of using an ESB in a SOA application are given using AWS as an Ada implementation. An AWS server is built in the examples and connected to the ESB providing REST and SOAP web services. AWS allows the developer to expose services in a high-integrity system using the Ada and SPARK programminglanguages. This tutorial is slightly different than the one given at Ada Europe 2008 in that it will focus more on the application of SOA and ESB technology to reliable, high-integrity systems. All tutorial material will be provided to attendees and the opportunity for hands-on participation in examples will be possible.
There are two trends in the software initiatives of the U. S. Department of Defense which will have direct impact on future software development and which suggest a focus for current basic research in software. These ...
ISBN:
(纸本)9780897912181
There are two trends in the software initiatives of the U. S. Department of Defense which will have direct impact on future software development and which suggest a focus for current basic research in software. These trends are 1) the move toward smart weapons, suggesting the use of Expert Systems to control these weapons, and 2) the directive that all software for embedded computer systems be written in Ada. The research focus suggested by these developments is an analysis of the Ada programminglanguage and its associated programming support environment (APSE) to determine how to design and construct an Expert System for natural implementation in *** is well known that Ada can be used as a language for Expert Systems. There now exist several Expert System Shells written in Ada and more are being developed every day. The issue still open to research is how to do this optimally, making the best use of the expressive power of the language. An absurd example will make this clearer. It is also known that it is possible to write an Expert System in COBOL. Doing such would be a very tedious and error prone task, because the expressive power of the COBOL language is focused on commercial *** possibility for writing an Expert System in Ada would be to take an existing Expert System in LISP and translate the code, line for line into Ada. Admittedly this is a plausible task; this author has done some preliminary investigation in this area. However, it is arguable that such an approach will not result in efficient Ada code, for constructs which are natural to LISP might not translate into constructs natural to *** it is difficult to give a precise definition of an Expert System, it is easy to list characteristics which are usually associated with such a system. This paper presents the results of some preliminary research on the implementation of these features by means of some of the structures in Ada, such as Generic Program Units, Packages and Data
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:
(纸本)9780769514413
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.
We present RustSim, a library for discrete-event process-oriented simulations designed and implemented in the Rust programminglanguage. It includes a broad set of classes to allow the user to implement simulation pro...
ISBN:
(纸本)9798350369663
We present RustSim, a library for discrete-event process-oriented simulations designed and implemented in the Rust programminglanguage. It includes a broad set of classes to allow the user to implement simulation processes and process-oriented primitives. The flexible modular design of RustSim allows users to extend its functionality. In addition, RustSim includes mechanisms to avoid inconsistencies when applying state-changing primitives that other libraries in the language's ecosystem do not provide. We take advantage of Rust generators (coroutine equivalents) to implement process-oriented simulation primitives. Finally, the library's internal process handling structure is discussed in detail, including its implementation, how simulations are executed, and a case study with a highly detailed example of its use.
There are many mathematical algorithms such as Newton's method used to calculate solutions to non-linear equations. This paper will show how easy it is to implement these algorithms in APL2 with a minimum of code ...
详细信息
ISBN:
(纸本)0897916123
There are many mathematical algorithms such as Newton's method used to calculate solutions to non-linear equations. This paper will show how easy it is to implement these algorithms in APL2 with a minimum of code using the defined operator and careful design of its input functions. Although a very powerful and unique approach to solving non-linear equations using APL was described recently [Ne89], the emphasis in this paper is on the method of developing an application using APL2 and the concepts of defined operators and function arrays. This requires that input functions be robustly designed to take arrays as arguments and to produce array results much like primitive scalar functions. In this manner one can minimize the number of calls to the input function and take advantage of APL2's array handling capabilities. Since operators are permitted at most two operands, it is critical to minimize the number of input functions. This requires the input function designer to think in terms of function arrays. While there has been some discussion of the theory [Be84] and implementation [Be91] of function arrays, they can be created in APL2 with defined operators [Bk85]. In fact, function arrays can easily be defined in standard APL.
暂无评论