![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter
Compiling SHIM
Embedded systems demand concurrency for supporting simultaneous actions in their environment and parallel hardware. Although most concurrent programming formalisms are prone to races and non-determinism, some,...
-
Article
Open AccessCode Generation in the Columbia Esterel Compiler
The synchronous language Esterel provides deterministic concurrency by adopting a semantics in which threads march in step with a global clock and communicate in a very disciplined way. Its expressive power co...
-
Book
-
Book
-
Chapter
CoCentric System Studio
CoCentric System Studio (once cailed El Greco—see Buck and Vaid-yanathan [17]) is a graphical design environment for systems built with a combination of dataflow diagrams and hierarchically-nested finite-state...
-
Chapter
Language Basics
Using a language is like operating a marionette. You may not touch the puppet; instead you make it move by manipulating a handle connected to the puppet through strings. Just as a good puppeteer understands ho...
-
Chapter
Verilog
Verilog began life in 1984 as an input language for an event-driven simulator and has since become a key language in chip design because it is succinct, expressive, simulates quickly, and much of it can be aut...
-
Chapter
Software Basics
Software languages describe instructions that will be executed in sequence by a processor. These instructions perform arithmetic on vallies in the processor’s memory or make a decision based on the results. Co...
-
Chapter
Operating Systems
An operating system (os) is a program that provides an environment for executing other programs, often providing facilities for I/O, a filesystem, networking, virtual memory, and multitasking: a way to run mul...
-
Chapter
Java
Sun’s Java programming language is a newer language based on C++, but incompatible with it. Like C++, Java is an object-oriented language that provides classes and inheritance. It is a higher-level language th...
-
Chapter
Synchronous Dataflow
Synchronous Dataflow (sdf) [52] is a dataflow language in which each process (called an actor) produces and consumes a fixed number of tokens per firing. This behavior makes an SDF system’s communication patterns...
-
Chapter
Polis
The Polis hardware/software codesign system [5] is targeted toward the design, synthesis, and verification of control-dominated embedded hardware/software systems. A research project based primarily at the Uni...
-
Chapter
SystemC
SystemC is a subset of C++ combined with a set of libraries aimed at the specification, simulation, and synthesis of digital hardware. It arose as a formal specification of what many designers had been doing f...
-
Chapter
Hardware Basics
Digital systems represent information using discrete values to make them resistant to noise, manufacturing variation, and aging. Consider the challenge of guessing the position of a light dimmer by observing t...
-
Chapter
VHDL
Vhdl was designed to be a general modeling and simulation language for digital systems. Its event-driven semantics can be used for everything from switch- to system-level modeling, and it has been pressed into se...
-
Chapter
C++
C++ is a language built on C that supports object-oriented programming as well as a macro style of polymorphism. Bjarne Stroustrup, who created the language, wanted to provide more mechanisms for structuring l...
-
Chapter
Kahn Process Networks
In 1974, Gilles Kahn wrote a short paper [44] describing a simple language for parallel processing that provides a theoretical basis for dataflow computation. A system in Kahn’s language is a set of sequential...
-
Chapter
Esterel
The synchronous language Esterel [8, 7] can be thought of as a concurrent software language with hardware semantics. It is a textual imperative language whose constructs and syntax resemble a traditional seque...
-
Chapter
SDL
Sdl (Specification and Description Language) evolved from penciland-paper drawings used to describe the structure and behavior of large telecommunications systems. It formally began life in 1976 as a CCITT recomm...
-
Chapter
The C Language
The C language is the most successful software language ever devised. Developed between 1969 and 1973 along with the Unix operating system, it has always been a pragmatic language for solving its developere pr...