Real Time Programming: Languages, Specification And Verification


Book Description

The primary aim of this monograph is to present the current research efforts that have gone into/or going on in the systematic design of real-time programs. Such an effort would help researchers and users in the area to get a clear picture of the issues of specification, verification and design of real-time reactive programs. It will clearly enable us to identify languages that can be used for different kinds of applications. Obviously, in an upcoming area like this, this presentation is far from complete.The quintessence of the monograph can be captured by the following question:How can we design and develop Robust Reactive (real-time) Programs?We address this question in this monograph through the various underlying issues listed, such as characteristics of real-time/reactive programs, reactive programming languages, verification and refinements.




Specification and Compositional Verification of Real-Time Systems


Book Description

The research described in this monograph concerns the formal specification and compositional verification of real-time systems. A real-time programminglanguage is considered in which concurrent processes communicate by synchronous message passing along unidirectional channels. To specifiy functional and timing properties of programs, two formalisms are investigated: one using a real-time version of temporal logic, called Metric Temporal Logic, and another which is basedon extended Hoare triples. Metric Temporal Logic provides a concise notationto express timing properties and to axiomatize the programming language, whereas Hoare-style formulae are especially convenient for the verification of sequential constructs. For both approaches a compositional proof system has been formulated to verify that a program satisfies a specification. To deduce timing properties of programs, first maximal parallelism is assumed, modeling the situation in which each process has itsown processor. Next, this model is generalized to multiprogramming where several processes may share a processor and scheduling is based on priorities. The proof systems are shown to be sound and relatively complete with respect to a denotational semantics of the programming language. The theory is illustrated by an example of a watchdog timer.




Real-time Systems and Their Programming Languages


Book Description

A survey of real-time systems and the programming languages used in their development. Shows how modern real-time programming techniques are used in a wide variety of applications, including robotics, factory automation, and control. A critical requirement for such systems is that the software must




Real Time Programming 1983


Book Description

Real Time Programming 1983 contains the proceedings of the 12th IFAC/IFIP Workshop held at Hatfield, UK on March 29-31, 1983. The book organizes the papers of the workshop into four categories: Programming Support Environments; Testing Real-Time Programs; Databases for Real-Time Systems; and Languages and Language Implementations. The papers on Programming Support Environments category cover application-oriented requirements specifications, configuration control, and design description languages of real-time programming. Papers on Databases for Real-Time Systems category talk about wide range of aspects of the problem in the system. Five papers on Testing Real-Time Programs category show importance of structure in producing software; principles in testing and reliability issues; use of separate computer for measuring and tracing real-time software; set of tools and methods for testing real-time software; and set of debugging facilities incorporated into the language Modula. The Languages and Language Implementations category explains the exception handling mechanisms provided by languages; performance of the run-time support to task management in ADA; and implementation of multi-tasking and inter-task message passing for Industrial Real-Time Basic.




Design, Specification and Verification of Interactive Systems ’98


Book Description

Does modelling, formal or otherwise, play a role in designing interactive systems? A proliferation of interactive devices and technologies is used in an ever increasing diversity of contexts and combinations in professional and every-day life. This development poses a significant challenge to modelling approaches used for the design of interactive systems. The papers in this volume discuss a range of modelling approaches, the representations they use, the strengths and weaknesses of their associated specification and analysis techniques and their role in supporting the design of interactive systems.




Real-Time Java Programming


Book Description

The Definitive Guide to Java RTS for Developers and Architects For Java developers and architects moving to real-time, and real-time developers moving to Java Walks through start-to-finish case study applications, identifying their constraints and discussing the APIs and design patterns used to address them Written by the former leader of the real-time Java standards process and one of Wall Street’s top real-time developers Sun Microsystems’ Java Real-Time System (Java RTS) is proving itself in numerous, wide-ranging environments, including finance, control systems, manufacturing, and defense. Java RTS and the RTSJ standard (JSR-001) eliminate the need for complicated, specialized, real-time languages and operating environments, saving money by leveraging Java’s exceptional productivity and familiarity. In Real-Time Java™ Programming, two of Sun’s top real-time programming experts present the deep knowledge and realistic code examples that developers need to succeed with Java RTS and its APIs. As they do so, the authors also illuminate the foundations of real-time programming in any RTSJ-compatible environment. Key topics include Real-time principles and concepts, and the unique requirements of real-time application design and development How Java has been adapted to real-time environments A complete chapter on garbage collection concepts and Java SE collectors Using the Java RTS APIs to solve actual real-time system problems as efficiently as possible Utilizing today’s leading Java RTS development and debugging tools Understanding real-time garbage collection, threads, scheduling, and dispatching Programming new RTSJ memory models Dealing with asynchronous event handling and asynchronous transfer of control




Real-Time Programming 2004


Book Description

This volume contains papers from the IFAC Workshop on Real-Time Programming. The aim of the Workshop was to bring together academic practitioners and industrialists involved in this important and expanding area of interest in order to exchange experiences on recent advances in this field. Contents include: * DEPENDABILITY AND SAFETY FOR REAL TIME SYSTEMS * REAL-TIME PROGRAMMING TECHNIQUES * SOFTWARE REQUIREMENT ENGINEERING * CONTROL SYSTEMS DESIGN * SOFTWARE DESIGN * SOFTWARE ENGINEERING AND COMPLEX ENGINEERINGSYSTEMS




Real-Time Programming 1992


Book Description

The 47 papers in this volume provide a useful reference tool for the state-of-the-art research in real-time programming.




Protocol Specification, Testing and Verification XV


Book Description

This volume presents the latest research worldwide on communications protocols, emphasizing specification and compliance testing. It presents the complete proceedings of the fifteenth meeting on `Protocol Specification, Testing and Verification' arranged by the International Federation for Information Processing.




High-Integrity System Specification and Design


Book Description

Errata, detected in Taylor's Logarithms. London: 4to, 1792. [sic] 14.18.3 6 Kk Co-sine of 3398 3298 - Nautical Almanac (1832) In the list of ERRATA detected in Taylor's Logarithms, for cos. 4° 18'3", read cos. 14° 18'2". - Nautical Almanac (1833) ERRATUM ofthe ERRATUM ofthe ERRATA of TAYLOR'S Logarithms. For cos. 4° 18'3", read cos. 14° 18' 3". - Nautical Almanac (1836) In the 1820s, an Englishman named Charles Babbage designed and partly built a calculating machine originally intended for use in deriving and printing logarithmic and other tables used in the shipping industry. At that time, such tables were often inaccurate, copied carelessly, and had been instrumental in causing a number of maritime disasters. Babbage's machine, called a 'Difference Engine' because it performed its cal culations using the principle of partial differences, was intended to substantially reduce the number of errors made by humans calculating the tables. Babbage had also designed (but never built) a forerunner of the modern printer, which would also reduce the number of errors admitted during the transcription of the results. Nowadays, a system implemented to perform the function of Babbage's engine would be classed as safety-critical. That is, the failure of the system to produce correct results could result in the loss of human life, mass destruction of property (in the form of ships and cargo) as well as financial losses and loss of competitive advantage for the shipping firm.