10518317
Embedded Software
Syntax It is useful to separate syntactic issues from semantic issues. An abstract syntax defines how a design can be decomposed into interconnected components, without being concerned with how a design is represented on paper or in a computer file (that is the concern of the concrete syntax). An abstract syntax is also not concerned with the meaning of the interconnections of components, nor even what a component is. A design is a set of components and relationships among them, where the relationships conform to this abstract syntax. Here, we describe the abstract syntax using informal diagrams that illustrate these sets and relations by giving use cases, although formalizing the abstract syntax is necessary for precision. Port Port Actor Actor
13888487
Hierarchical finite state machines with multiple concurrency models
This paper studies the semantics of hierarchical finite state machines (FSM's) that are composed using various concurrency models, particularly dataflow, discrete-events, and synchronous/reactive modeling. It is argued that all three combinations are useful, and that the concurrency model can be selected independently of the decision to use hierarchical FSM's. In contrast, most formalisms that combine FSM's with concurrency models, such as statecharts (and its variants) and hybrid systems, tightly integrate the FSM semantics with the concurrency semantics. An implementation that supports three combinations is described.
10851913
Taming heterogeneity - the Ptolemy approach
Modern embedded computing systems tend to be heterogeneous in the sense of being composed of subsystems with very different characteristics, which communicate and interact in a variety of ways-synchronous or asynchronous, buffered or unbuffered, etc. Obviously, when designing such systems, a modeling language needs to reflect this heterogeneity. Today's modeling environments usually offer a variant of what we call amorphous heterogeneity to address this problem. This paper argues that modeling systems in this manner leads to unexpected and hard-to-analyze interactions between the communication mechanisms and proposes a more structured approach to heterogeneity, called hierarchical heterogeneity, to solve this problem. It proposes a model structure and semantic framework that support this form of heterogeneity, and discusses the issues arising from heterogeneous component interaction and the desire for component reuse. It introduces the notion of domain polymorphism as a way to address these issues.
5648139
The problem with threads
For concurrent programming to become mainstream, we must discard threads as a programming model. Nondeterminism should be judiciously and carefully introduced where needed, and it should be explicit in programs. In general-purpose software engineering practice, we have reached a point where one approach to concurrent programming dominates all others namely, threads, sequential processes that share memory. They represent a key concurrency model supported by modern computers, programming languages, and operating systems. In scientific computing, where performance requirements have long demanded concurrent programming, data-parallel language extensions and message-passing libraries such as PVM, MPI, and OpenMP dominate over threads for concurrent programming. Computer architectures intended for scientific computing often differ significantly from so-called general-purpose architectures.
9981963
Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing
Large grain data flow (LGDF) programming is natural and convenient for describing digital signal processing (DSP) systems, but its runtime overhead is costly in real time or cost-sensitive applications. In some situations, designers are not willing to squander computing resources for the sake of programmer convenience. This is particularly true when the target machine is a programmable DSP chip. However, the runtime overhead inherent in most LGDF implementations is not required for most signal processing systems because such systems are mostly synchronous (in the DSP sense). Synchronous data flow (SDF) differs from traditional data flow in that the amount of data produced and consumed by a data flow node is specified a priori for each input and output. This is equivalent to specifying the relative sample rates in signal processing system. This means that the scheduling of SDF nodes need not be done at runtime, but can be done at compile time (statically), so the runtime overhead evaporates. The sample rates can all be different, which is not true of most current data-driven digital signal processing programming methodologies. Synchronous data flow is closely related to computation graphs, a special case of Petri nets. This self-contained paper develops the theory necessary to statically schedule SDF programs on single or multiple processors. A class of static (compile time) scheduling algorithms is proven valid, and specific algorithms are given for scheduling SDF systems onto single or multiple processors.
1955659
A framework for comparing models of computation
We give a denotational framework (a "meta model") within which certain properties of models of computation can be compared. It describes concurrent processes in general terms as sets of possible behaviors. A process is determinate if, given the constraints imposed by the inputs, there are exactly one or exactly zero behaviors. Compositions of processes are processes with behaviors in the intersection of the behaviors of the component processes. The interaction between processes is through signals, which are collections of events. Each event is a value-tag pair, where the tags can come from a partially ordered or totally ordered set. Timed models are where the set of tags is totally ordered. Synchronous events share the same tag, and synchronous signals contain events with the same set of tags. Synchronous processes have only synchronous signals as behaviors. Strict causality (in timed tag systems) and continuity (in untimed tag systems) ensure determinacy under certain technical conditions. The framework is used to compare certain essential features of various models of computation, including Kahn process networks, dataflow, sequential processes, concurrent sequential processes with rendezvous, Petri nets, and discrete-event systems.
207225124
A Linear Programming Approach to Discriminant Analysis with a Reserved-Judgment Region
A linear-programming model is proposed for deriving discriminant rules that allow allocation of entities to a reserved-judgment region. The size of the reserved-judgment region, which can be controlled by varying parameters within the model, dictates the level of aggressiveness (cautiousness) of allocating (misallocating) entities to groups. Results of simulation experiments for various configurations of normal and contaminated normal three-group populations are reported for a variety of parameter selections. Results of cross-validation experiments using real data sets are also reported. Both the simulation and cross-validation experiments include comparison with other discriminant analysis techniques. The results demonstrate that the proposed model is useful for deriving discriminant rules that reduce the chances of misclassification, while maintaining a reasonable level of correct classification.
18614557
On Mass-Conserving Least-Squares Methods
Least-squares variational methods have several practical and theoretical advantages for solving elliptic partial differential equations, including symmetric positive definite discrete operators and a sharp error measure. One of the potential drawbacks, especially in three dimensions, is that mass conservation is achieved only in a least-squares sense, and underresolved solutions are especially vulnerable to poor conservation. For the stationary Navier-Stokes equations, which are typically rewritten as a larger system of first-order equations, the loss of mass in the approximate solution is strongly dependent upon the boundary conditions used. A new first-order system reformulation of the Navier-Stokes equations is presented that admits a wider range of mass-conserving boundary conditions. This new formulation is shown to provide both excellent mass conservation and excellent algebraic multigrid performance for three different problems, a square channel, backward-facing step, and branching tubes with two generations of bifurcations.
14828199
When my face is the interface: an experimental comparison of interacting with one's own face or someone else's face
In this paper, we demonstrate that the effects of receiving negative evaluation ITom audio-visual image of oneself on a computer screen am clearly diEerent from that of receiving someone else. When seeing the seKmage, subjects claimed more responsibility for the evaluation, perceived the evaluation to be more valid and objective, and showed higher public self-awareness. Self-image subjects showed less impression management and less negative bias on recognition memory. Implications fi3r using one’s own Ere in virtual reality and other interfaces are discussed.
38798257
A hardware-software codesign methodology for DSP applications
The authors describe a systematic, heterogeneous design methodology using the Ptolemy framework for simulation, prototyping, and software synthesis of systems containing a mixture of hardware and software components. They focus on signal-processing systems in which the hardware typically consists of custom data paths, finite-state machines (FSMs), glue logic and programmable processors. The software is one or more embedded programs running on the programmable components.<<ETX>>
7551391
The Role of Time in Engineering Computer Music Systems
Discussion of time in interactive computer music systems engineering has been largely limited to data acquisition rates and latency. Since music is an inherently time-based medium, we believe that time plays a more important role in both the usability and implementation of these systems. In this paper, we present a time design space, which we use to expose some of the challenges of developing computer music systems with time-based interaction. We describe and analyze the time-related issues we encountered whilst designing and building a series of interactive music exhibits that fall into this design space. These issues often occur because of the varying and sometimes conflicting conceptual models of time in the three domains of user, application (music), and engineering. We present some of our latest work in conducting gesture interpretation and frameworks for digital audio, which attempt to analyze and address these conflicts in temporal conceptual models.