bluuebunny/crossref_metadata_2025 huggingface dataset:
Real-world evaluation of ring flooding
Authors: Kiess Wolfgang , Tarp Andreas , Mauve Martin
Published: April 2007

Flooding is a basic mechanism frequently used in mobile ad-hoc networks. In its simplest form flooding is realized by letting each node rebroadcast the flooded packet exactly once. To limit the scope of a flooded data packet, the sender of the packet may use
ring flooding
. For this, the packet's time-to-live (TTL) field is initially set to
n
. As the TTL of the packet expires after
n
hops, it only reaches all those nodes that are at most
n
hops away from the original sender. Ring flooding is used, e.g., to distribute information only relevant in a certain area such as emergency messages in car-to-car networks, or to do an expanding ring search during route discovery as in AODV [2].
Modeling static and dynamic behavior of routes in mobile ad hoc networks
Authors: Krop Tronje , Hollick Matthias , Krist Frederik , Mogre Parag , Steinmetz Ralf
Published: April 2007

Ad hoc networking research needs meaningful models to describe the behavior of multihop routes. We survey existing static models to describe the distribution of link and path distances as well as dynamic models describing the lifetime of links, paths, and routes. Next, we enhance and combine selected models to form a combined model describing both, the static and dynamic aspects of multihop ad hoc routes. In particular, our model allows for prediction of lifetimes for single and multipath routes for a bounded and an unbounded modeling area. As a proof-of-concept, the model is applied to analyze the efficiency of different usage strategies of multipath routes: based on the lifetime predictions of our model we estimate the transport capacity of the routes.
Electronic markets hypothesis redux
Authors: Glassberg Bonnie C.
Published: April 2007

A popular theory on IT's impact fails to consider the rich, dynamic, relationship-filled environment in which IT operates.
Web content adaptation for mobile handheld devices
Authors: Zhang Dongsong
Published: April 2007

Creative technologies can help overcome the limitations of mobile handheld devices while maximizing their strengths.
The impact of offshore outsourcing on IT workers in developed countries
Authors: Shao Benjamin B. , David Julie Smith
Published: April 2007

Examining the global implications of outsourcing for IT workers.
Automated documentation
Authors: Berosik Gary , Helseth Kim H.
Published: April 2007

At General Mills, we tried an automated package on the computer main frame, and we participated in the development of an "industry standard" for documentation. Both experiences yielded largely negative results.
Review of "A Guide for Software Documentation, by Dorothy Walsh" Published by Advanced Computer Techniques Corp., 1969
Authors: Durr Patricia
Published: April 2007

I will begin this critique with an evaluation and description of the book's concepts and contents. Its approach and use will be discussed at the end.
SICDOC - a challenge
Authors: Cover Jack
Published: April 2007

Our leader, Joe Rigo, states that a computer system development project is essentially a document-publishing organization for most of its life. While this is perhaps a bit simplistic, the important kernel of truth is there. A systems and programming project which has been properly documented from start to finish is at least one giant step ahead of a typical sear-of-the-pants-we'll-do-the-documentation-later type project.
Some notes on typography in technical documentation
Authors: Sachs Jonathan
Published: April 2007

My intention is to make some observations on how typography -- the physical arrangement of type in a document -- can aid or hinder the document's usefulness.
Errurs
Authors: Weinberg Gerald M.
Published: April 2007

In the previous ERRURS, we wrote of heteronyms--words such as refuse, refuse, and refuse that look alike but don't sound or mean alike. It's possible to extend the entire concept of heteronymous ambiguity (wow!) to larger elements. If we're sufficiently clever, we can even make an entire sentence look and sound like another sentence.
Software parts in Fortran 8x
Authors: Smith Brian T.
Published: April 2007

This paper briefly describes the data abstraction mechanisms that have been proposed by the Fortran Standards Subcommittee X3J3 for Fortran 8x. With the proposed mechanisms, the building of software parts, that is, components of subroutine libraries, data bases, and program packages, is greatly facilitated.
Data structures and algorithms for simplifying reversible circuits
Authors: Prasad Aditya K. , Shende Vivek V. , Markov Igor L. , Hayes John P. , Patel Ketan N.
Published: April 2007

Reversible logic is motivated by low-power design, quantum circuits, and nanotechnology. We develop a compact representation of small reversible circuits to generate and store optimal circuits for all 40,320 three-input reversible functions, and millions of four-input circuits. This allows implementing a function optimally in constant time for use in the peephole optimization of larger circuits produced by existing techniques, and guarantees that every three-bit subcircuit is optimal. To generate subcircuits, we use a graph-based data structure and algorithms for circuit restructuring. Finally, we demonstrate a suboptimal circuit for which peephole optimization fails.
Some delitescent concepts in computer architecture
Authors: Lindamood George E.
Published: April 2007

As someone has said, "If things weren't as they are, they would be different." With that in mind, I began to think about why some things are as they are in computer architecture. I tried to imagine what things would be like if something were bigger or smaller or if the reverse or obverse of some situation or concept were operant. What I came up with were a few ideas in the vein of the "COME FROM" statement in programming languages.
1
Perhaps they will set you to thinking, too.
Confer at the ISTA congress
Authors: Zinn Karl L.
Published: April 2007

Computing and telecommunications were used during the Second International Congress of the International Society for Technology Assessment (ISTA) to facilitate the discussion and contribute to the Congress report. In particular, the telecommunications activity was designed to enhance interaction on substantive issues and convergence on conclusions and interpretations. Only incidentally were we conducting an experiment or trial (with support from NSF) for a community of potential users of computer-aided conferencing.
Conserving network processor power consumption by exploiting traffic variability
Authors: Luo Yan , Yu Jia , Yang Jun , Bhuyan Laxmi N.
Published: April 2007

Network processors (NPs) have emerged as successful platforms for providing both high performance and flexibility in building powerful routers. Typical NPs incorporate multiprocessing and multithreading to achieve maximum parallel processing capabilities. We observed that under low incoming traffic rates, processing elements (PEs) in an NP are idle for most of the time but still consume dynamic power. This paper develops a low-power technique to reduce the activities of PEs in accordance with the varying traffic volume. We propose to monitor the average number of idle threads in a time window, and gate off the clock signals to unnecessary PEs when a subset of PEs is enough to handle the network traffic. We solve the difficulties arising from clock gating the PEs, such as redirecting network packets, determining the thresholds of turning on/off PEs, and avoiding unnecessary packet loss. Our technique brings significant reduction in power consumption of NPs with no packet loss and little impact on overall throughput.
Additive form of the inverse
Authors: Haverly C. A.
Published: April 2007

The product form of the inverse is invariably used in the current mathematical programming systems. However, the inverse can also be represented in an additive form and the additive form has some very interesting properties. Among these is a delightful symmetry by which it's as easy to update a row as a column (the product form works well only in updating columns). In fact, it's easy to update single matrix elements.
A new approach to linear programming
Authors: Scolnik Hugo D.
Published: April 2007

This is a preliminary report on a new method which is able to solve the standard LP problem.MIN Z = subject to Ax=b where A is a M-BY-N MATRIXA ≥ 0in a number of operations which is bounded by a polynomial in M and N.
Set of test problems for the minimum length connection networks
Authors: Soukup J. , Chow W. F.
Published: April 2007

The problem of finding the shortest network connection given set of points is often referred to as the Problem of Steiner. The applications of this problem can be found in various engineering fields, typically in the design of telephone networks, in the planning of highway systems or in the design of large mining operations. In the present state of art, for 20 given points or more, one must use a heuristic method to obtain at least a suboptimum solution in a reasonable time.
Mathematical programming applications in the analysis of the deployment and utilization of fire-fighting resources
Authors: Kolesar Peter
Published: April 2007

This paper gives a brief review of some applications of mathematical programming in the analysis of the deployment of fire engines. We discuss a semi-Markov decision process (linear programming) formulation of the problem of deciding how many fire engines to dispatch to a new alarm, a staged integer programming formulation of the problem of relocating fire engines to rebalance city-wide protection when extremely large fires deplete part of the city, and simple non-linear integer programming formulations of strategic resource allocation problems. All analyses have resulted in policy recommendations that have influenced current operations of the New York City Fire Department.
An application of MIP to sector planning for engineering industries
Authors: Westphal Larry E. , Rhee Yung Whee
Published: April 2007

In contrast to the state of the art with respect to the process industries, remarkably little progress has been made in the application of programming models to sector planning for the engineering industries -- non-electrical machinery, electrical products and equipment and transportation equipment. This report summarizes an experimental attempt to construct a sector planning model for appraising prospective investment projects in these industries. It is offered to stimulate interest as well as communication with others working to apply process analysis and programming methods to these industries. Algorithms and experience bearing on the solution of MIP (mixed integer programming) models having the structure of that employed here are also solicited.
The SIGMAP-UW nonlinear programming symposium
Authors: Grigoriadis Michael
Published: April 2007

BALAS, GON:
INTERSECTION CUTS FOR NONCONVEX PROGRAMMING. MONDAY, P.M.:
A new class of intersection cuts is discussed, which is applicable to a large variety of nonconvex programming problems, like linearly constrained quadratic programs, separable programs, linear programs with disjunctive or other logical constraints, and of course integer programs. These cutting planes subsume or dominate many of those proposed earlier, and are easier to generate. When used in a branch and bound context, they yield stronger bounds than the ones currently in use.
Abstracts from math programming symposium
Authors: Grigoriadis Michael
Published: April 2007

About half of the abstracts were published in the last Newsletter. In this issue we present the remaining ones. Each author was invited to update his abstract following his oral presentation to include the latest ideas. The updated abstracts were used when available, otherwise the original abstracts were used. Where an abstract are multiple authors to a paper, the one giving the paper is underlined and the address refers to that author.
Range reduction and infeasibility testing using surrogate equalities
Authors: Dembo Ron S.
Published: April 2007

Methods are given for combining linear equalities in integer variables into surrogate equalities in such a way as to obtain the strongest information regarding the implicit bounds on these variables. Testing for infeasibility of the original system is also discussed and the strongest such tests identified. The tests given here may be used as part of a preprocessing routine for linear integer programming problems.
The incredible shrinking bug separation model
Authors: Woolsey Gene
Published: April 2007

While working at Sandia Corporation some years ago, there was a need for a mathematical model that would give the minimum number of tests that would detect the presence of certain undesirable microbes or "bugs". We assume that there exists a number of tests that will react in certain ways to the presence of individual "bugs". Unfortunately, there exist bugs for which the tests will react in exactly the same way. Therefore we must find, not just the minimum set of tests that will determine if a bug is present or not, but rather the minimum set of tests such that we can separate and detect all the bugs that are present. To illustrate the problem, assume that we have five "bugs" that could be present on a piece of equipment. Say that we have six tests that either react or do not react in some way when certain bugs are present. Further we have the problem that some tests react with certain probability to the presence of certain bugs. If we arbitrarily establish a confidence limit on this probability, and the probability falls below this level we say that the reaction is "unknown". Therefore for six tests and five bugs we could have the reaction matrix (t
ij
) shown below.
A purchasing problem solved by CAPFLO
Authors: Fieldhouse Martin
Published: April 2007

The Chief Buyer has to decide from which suppliers he will buy containers. He wants 10 containers of type 1, 5 of type 2 and 20 of type 3.
Two beads for Saint Jude
Authors: Woolsey Gene
Published: April 2007

In a note of Rustagi and Doub [1], it was asserted that: "Whether it is a fighter airplane, a ship, or a tank, the basic structure of the optimal armor allocation decision process seems to be the same:. This statement was then followed by an excellent formulation of the optimal armor allocation problem as a dynamic program for a tank. It was strongly implied that the same formulation, or a similar one, using dynamic programming in any case could be extended to a ship or a plane. However, it should be considered that the optimal armoring of a fighter plane may introduce additional constraints to a level where dynamic programming may become computationally infeasible.
Interpreting rate analysis
Authors: Greenberg Harvey J.
Published: April 2007

Since rate analysis has been discovered by mathematical programmers, it has been misused in recommending one algorithm over another. The primary purpose of this note is to demonstrate this assertion and provide some insight into interpretative rate analysis. Further, I shall describe important uses of rate analysis, namely for acceleration and design of cut-off rules.
Project mole or burrowing from within for fun & profit
Authors: Woolsey Robert E. D.
Published: April 2007

For some years now it has been the custom of the operations research and the management science societies to invite me for comic relief---that is, I talk about applications. I realize this is a new idea, but I keep hoping it will catch on. I teach at the Colorado School of Mines, and since we are not a university, we do not have to pretend to educate anyone. Our job is to turn out a product for which there is some demand. This also is a new idea in American education which I hope will catch on.
An annotated bibliography on microprogramming II
Authors: Jones Louise H. , Carvin Kenneth
Published: April 2007

This bibliography contains an annotated list of publications (excluding patents) related to microprogramming. Our objective was to prepare a supplement to existing, generally available bibliographies such as those previously published in the SIGMICRO Newsletter ("An Annotated Bibliography on Microprogramming I, Late 1969-Early 1972" by L.H. Jones et al and the Mitre Bibliography by J.A. Clapp et al) and the bibliographies in Husson, S.S., "Microprogramming: Principles and Practices," Prentice-Hall, Englewood Cliffs (1970). We have attempted to identify papers which have appeared in earlier versions by giving references to entries in "An Annotated Bibliography on Microprogramming I" abbreviated simply as I.
A microprogram notation resembling statements of higher-level languages
Authors: Berndt von H.
Published: April 2007

Despite high degrees of sophistication, present microprogramming languages still appear difficult to use outside the hardware-oriented development laboratories. An ever increasing user interest demands - and justifies - other forms of micro-programming.
The role of instruction sequencing in structured microprogramming
Authors: Jones Louise H.
Published: April 2007

The current literature is filled with descriptions of various microprogrammed processors and discussions of the improvements in performance that can be realized through microprogramming. Thus, Tucker and Flynn [1] describe a dynamically microprogrammed processor and give several examples of problem-oriented programming in which the performance of the microcode was much better than that of assembly language code (System/360, normalized technology). Recently, Abd-alla and Karlgaard [2] have developed an algorithm for the synthesis of applications-oriented microcode for a dynamically microprogrammed computer. Their paper gives examples of problem-oriented architectures (realized through specialized instruction sets) which have much better performance than the corresponding general purpose architectures. This trend toward realizing specialized computer systems by means of writable control store probably means that more people will be writing microcode in the future. In particular, it seems worthwhile to consider the relation of the instruction sequencing functions of a given machine to both the ease of writing correct microcode and the size of control memory required for that machine. So far there seems to have been little or no discussion of this topic in the literature [3].
Notes from journals
Authors: Habib Stanley
Published: April 2007

COMPUTER DESIGN - July 1973 - "A Compatible MOS/LSI Microprocessor Device Family" - William E. Wickes, Rockwell International Corporation, Microelectronics Division, Anaheim, California - Reprinted with permission from COMPUTER DESIGN, July 1973 issue.
Notes from journals
Authors: Habib Stanley
Published: April 2007

Incorporating user-oriented features usually found only in much larger computers, the first models of the Eclipse line, the $100 and $200, use a high speed micro-programmed central processor, and can run with either; core or semiconductor memories, or both. The core and semiconductor memories are available with an error detection and correction feature that can find and correct; single bit errors caused by the computer. The semiconductor memories use a high-speed cache to increase memory speed. The Eclipse $100, the smaller of the two computers, will be used by oems or by end users who need a smaller system to meet their requirements. The Eclipse $100 is 5-1/4 inches high, and holds six standard Data General printed circuit boards. It costs $9200, with 16k bytes of core memory, and $10,700 with 16k bytes of semiconductor memory. Eclipse $100 deliveries will begin in December. The Eclipse $200, a system-oriented
computer that can hold 16 printed circuit
boards, will be used by system builders or end users who will build large scale computing systems around it. The Eclipse $200 is 10-1/2 inches high, and costs $16,300 with 32k bytes of core memory, and $19,300 with 32k bytes of semiconductor memory. Deliveries of the Eclipse $200 will begin in February. The instruction set of both Eclipse computers is microprogrammed in the central processor. There are over 40 new instruction in the Eclipse computers. Programs written on Nova computers will run on either the Eclipse $100 or $200. The central processor includes a Writeable Control Store
making up
to 256, 56-bit words available to write specialized micro-programmed instructions. The instruction set is enhanced to help programmers writing in assembly language or high-level language programs. Hardware memory stacks, supported by comprehensive instructions, make programming more efficient, while block, word, byte and bit manipulation instructions improve system performance. Instructions are both single word and double word instructions.
Some classical mathematical results related to the problems of the firmware/hardware interface
Authors: Wesselkamper T. C.
Published: April 2007

The paper reviews the Shannon and Reed-Muller Decomposition Theorems and notes the relationship of the former to machine instruction set. It hypothesizes an instruction set based on Galois field operations and applies the divided difference methods of Newton to the automatic generation of a polynomial representation of an arbitrary function. Some numeric results are given for the fields GF(9) and GF(16). An extension of the methods to the representation of functions by rational forms is suggested.
Theoretical aspects of microprogramming
Authors: Chroust G.
Published: April 2007

Despite the fact that there is nothing as practical as a good theory such theories seem to lag behind practical applications. The reason is that theoretical investigations need a certain distance and maturity in order to produce good theories. They provide, however, valuable guidelines, even if, due to the necessary simplifications, the results are not directly applicable: they play a valuable role as signal posts.
A generalized virtual memory package for B1700 interpreter writers
Authors: Belgard Richard A.
Published: April 2007

This paper relates to the implementation of MBALM/1700 by Mark Swanson during the summer of 1976 at the University of Utah. The MBALM/1700 report is discussed under separate cover (SWA76).During this implementation effort, it was found that an insufficient amount of main storage hampered the effectiveness of the MBALM/1700 machine. To create a more useful abstract machine, some sort of virtual memory scheme was needed. The scheme reported here was a modification of a scheme introduced by Belgard (BEL74). It illustrates the effectiveness of a modular VM subroutine package.
Report on a microprogramming workshop
Authors: Berg Helmut K. , Schloms Udo
Published: April 2007

In connection with the annual conference of the Gesellschaft für Informatik (the German association of professional computer scientists), GI, a microprogramming workshop was held October 6 in Berlin. The workshop was organized by the GI interest group for Firmware and Microprogrammed Computer Structures. It was intended to provide, in the professional domain, a forum for the exchange of research experiences and results, and to promote, in the public domain, the knowledge of the current status and future trends in microprogramming and firmware engineering. The initiative taken by the GI interest group was honored by an unexpectedly high attendance of over 100 practitioners.
What’s on Your Hard Drive?
Authors: Stanik John
Published: April 2007

Over the past couple of years we’ve sorted through thousands of your submissions and developed a keen sense of which tools our readers love and loathe most. What’s interesting is that our data says nothing about the overall popularity of any one product: some of the most-lauded products are used by very few developers, while some of the most-loathed tools are ubiquitous.
A Conversation with Jamie Butler
Authors: Stanik John
Published: April 2007

Rootkit technology hit center stage in 2005 when analysts discovered that Sony BMG surreptitiously installed a rootkit as part of its DRM (digital rights management) solution. Although that debacle increased general awareness of rootkits, the technology remains the scourge of the software industry through its ability to hide processes and files from detection by system analysis and anti-malware tools.
Review of “Model Driven Architecture and Ontology Development by Dragan Gasevic, Dragan Djuric, Vladan Devedzic”, Springer, 2006, $59.95, ISBN: 3540321802
Authors: Putnam Jeffrey
Published: April 2007

Review of “Model Driven Architecture and Ontology Development by Dragan Gasevic, Dragan Djuric, Vladan Devedzic”, Springer, 2006, $59.95, ISBN: 3540321802
Incorporating embedded programming skills into an ECE curriculum
Authors: Ricks Kenneth G. , Jackson David J. , Stapleton William A.
Published: April 2007

In this paper, the typical electrical and computer engineering (ECE) curriculum is examined to determine its effectiveness at presenting embedded programming skills. The software concepts and programming techniques necessary for embedded systems are somewhat different than those seen in other engineering domains. Thus, it makes sense to specifically address embedded programming needs within the formal programming education ECE students receive. Several topical areas of concern are identified, and two possible ways to incorporate these areas into an ECE curriculum are presented. The experiences gained within the ECE curriculum at The University of Alabama are presented and are used to develop recommendations for incorporating these topics into typical ECE curricula.
Hardware platform design decisions in embedded systems
Authors: Salewski Falk , Kowalewski Stefan
Published: April 2007

Designers of embedded systems can choose between a large variety of different hardware platforms. The question often arising is which hardware platform is suited best for a certain application. This decision is usually made by an expert in industry being familiar with a variety of hardware platforms. Therefore, it is of major interest how this expert knowledge and the skills necessary for such a selection process can be taught to students. In this paper a systematic hardware platform selection process based on hardware attributes is presented. Moreover, it is proposed how to integrate this approach in the embedded systems education.
Practice and analysis of an extension course for training trainers of embedded software
Authors: Yamamoto Masaki , Honda Shinya , Takada Hiroaki , Agusa Kiyoshi , Tomiyama Hiroyuki , Mase Kenji , Kawaguchi Nobuo , Kaneko Nobuyuki
Published: April 2007

The embedded system industry in Japan needs more and more embedded software engineers. In 2004, Nagoya University has started an extension course program for embedded software engineers, called NEXCESS (Nagoya university EXtension Courses for Embedded Software Specialists). In the first year of NEXCESS, we have got aware of the tremendous need for the introductory-level courses. With this demand, in the second year, we have started a new course to train future trainers of embedded software. After completion of the trainer course, they are expected to train introductory-level embedded software engineers at their companies. This paper reports our practice and analysis of the extension course for embedded software trainers.
An approximation scheme for stochastic linear programming and its application to stochastic integer programs
Authors: Shmoys David B. , Swamy Chaitanya
Published: April 2007

Stochastic optimization problems attempt to model uncertainty in the data by assuming that the input is specified by a probability distribution. We consider the well-studied paradigm of 2-stage models with recourse: first, given only distributional information about (some of) the data one commits on initial actions, and then once the actual data is realized (according to the distribution), further (recourse) actions can be taken. We show that for a broad class of 2-stage linear models with recourse, one can, for any ϵ > 0, in time polynomial in 1/ϵ and the size of the input, compute a solution of value within a factor (1+ϵ) of the optimum, in spite of the fact that exponentially many second-stage scenarios may occur. In conjunction with a suitable rounding scheme, this yields the first approximation algorithms for 2-stage stochastic integer optimization problems where the underlying random data is given by a “black box” and no restrictions are placed on the costs in the two stages. Our rounding approach for stochastic integer programs shows that an approximation algorithm for a deterministic analogue yields, with a small constant-factor loss, provably near-optimal solutions for the stochastic generalization. Among the range of applications, we consider are stochastic versions of the multicommodity flow, set cover, vertex cover, and facility location problems.
Designing and explaining programs with a literate pseudocode
Authors: Roy Geoffrey G
Published: April 2007

Designing and explaining programs are often difficult tasks, especially when novices are involved. It also concerns more experienced programmers when complex algorithms need to be carefully explained and documented as part of software development.Good practice suggests that code and documentation be tightly coupled; but there are only a few support tools specifically targeted at novices that require this as an integral part of the programming process. We propose a new tool design with this objective in mind: P-Coder gives a flexible descriptive view of the program via pseudocode notation within a graphical tree-structured model, from which the complete algorithm can be specified to retain the informal description integrated with the final code. Thus the code meets some of the key requirements for realizing a literate program.
A performance index for emulation environments in digital systems
Authors: Akonteh Ayola N.
Published: April 2007

This study develops a formal representation of an emulation environment and defines an emulator in terms of a transformation process τ(x,y) equivalent to an environment Mxycreated by imbedding the state image of a target machine y into a host machine x. A performance index ρxyof the emulator is developed to indicate its relative versatility.
DGCAS as a microprogram development tool
Authors: Skordalakis E.
Published: April 2007

User microprogramming has entered a new phase nowadays. This is due first to the availability of "microcircuits" with the help of which one can build, easily, microprogrammable digital systems and secondly to the availability of "microprogram software support systems" with the help of which one can develop the microprograms he needs. A home made Generalized Cross Assembly System, named "DGCAS", which can be used as a component in a microprogram software support system, is described in this paper.
News about Euromicro
Authors: Wallach Walter
Published: April 2007

[Information in this feature has been obtained from Microprocessing and Microprogramming, the Euromicro Journal. Microprocessing and Microprogramming is copyrighted by North-Holland Publishing Company. Abstracts reproduced in this feature are used with permission of the Editors and publisher of Microprocessing and Microprogramming.]
Other recent papers
Authors: Wallach Walter
Published: April 2007

The June, 1981 issue of the IEEE Transactions on Computers (vol. C-30, no. 6) contains a paper by Alice Parker and John Wallace entitled "SLIDE: An I/O Hardware Descriptive Language" (pp. 423--439).
Recent articles from "Microprocessing and Microprogramming"
Authors: Wallach Walter A.
Published: April 2007

The following articles have appeared recently and may be of interest to the microprogramming community. If you discover an article which you feel might be of interest, please submit a reference and short summary to the editor,
SIGMICRO Newsletter
. [Portions of
Microprocessing and Microprogramming
,
The Euromicro Journal
are reprinted with permission.]
Where to start?
Authors: Chroust G.
Published: April 2007

The newcomer, when entering into the field of microprogramming and firmware, is often at a loss as to where to start reading. The selected sources are a good starting point for further reading. Only those publications are listed which predominantely discuss microprogramming/firmware. Naturally most journals in the area of software and many introductory books on computer science also devote some space to this subject.
Microprogram documentation with design in mind
Authors: Stevens C. R.
Published: April 2007

This paper discusses the dilemmas of microcode documentation. It discusses the traditional relationship between
"designing"
microcode and
"documenting"
microcode. It establishes a different relationship between designing and documenting, one where the primary emphasis is shifted to documentation. The activities of documenting become the
"process"
by which a quality design can be achieved. A strategic documentation framework combined with a high-level design language to form and test the proper solution is suggested as a means of achieving quality designs.
LSODE and LSODI, two new initial value ordinary differential equation solvers
Authors: Hindmarsh Alan C.
Published: April 2007

Two new packages are available for the numerical solution of the initial value problem for stiff and nonstiff systems of ordinary differential equations (ODE's). LSODE solves explicitly given ODE systems, while LSODI solves systems given in linearly implicit form, including differential-algebraic systems. Both are based on older packages that have proved highly popular, but both reflect a wide variety of improvements in the design of the user interface, algorithms, and program structure.
Fireflies
Authors: Johansen Håvard , Allavena André , van Renesse Robbert
Published: April 2007

This paper describes and evaluates
Fireflies
, a scalable protocol for supporting intrusion-tolerant network overlays. While such a protocol cannot distinguish Byzantine nodes from correct nodes in general,
Fireflies
provides correct nodes with a reasonably current view of which nodes are live, as well as a pseudo-random mesh for communication. The amount of data sent by correct nodes grows linearly with the aggregate rate of failures and recoveries, even if provoked by Byzantine nodes. The set of correct nodes form a connected submesh; correct nodes cannot be
eclipsed
by Byzantine nodes.
Fireflies
is deployed and evaluated on PlanetLab.
Practical taint-based protection using demand emulation
Authors: Ho Alex , Fetterman Michael , Clark Christopher , Warfield Andrew , Hand Steven
Published: April 2007

Many software attacks are based on injecting malicious code into a target host. This paper demonstrates the use of a well-known technique, data tainting, to track data received from the network as it propagates through a system and to prevent its execution. Unlike past approaches to taint tracking, which track tainted data by running the system completely in an emulator or simulator, resulting in considerable execution overhead, our work demonstrates the ability to dynamically switch a running system between virtualized and emulated execution. Using this technique, we are able to explore hardware support for taint-based protection that is deployable in real-world situations, as emulation is only used when tainted data is being processed by the CPU. By modifying the CPU, memory, and I/O devices to support taint tracking and protection, we guarantee that data received from the network may not be executed, even if it is written to, and later read from disk. We demonstrate near native speeds for workloads where little taint data is present.
The SMART way to migrate replicated stateful services
Authors: Lorch Jacob R. , Adya Atul , Bolosky William J. , Chaiken Ronnie , Douceur John R. , Howell Jon
Published: April 2007

Many stateful services use the replicated state machine approach for high availability. In this approach, a service runs on multiple machines to survive machine failures. This paper describes SMART, a new technique for changing the set of machines where such a service runs, i.e.,
migrating
the service. SMART improves upon existing techniques in three important ways. First, SMART allows migrations that replace non-failed machines. Thus, SMART enables load balancing and lets an automated system replace failed machines. Such autonomic migration is an important step toward full autonomic operation, in which administrators play a minor role and need not be available twenty-four hours a day, seven days a week. Second, SMART can pipeline concurrent requests, a useful performance optimization. Third, prior published migration techniques are described in insufficient detail to admit implementation, whereas our description of SMART is complete. In addition to describing SMART, we also demonstrate its practicality by implementing it, evaluating our implementation's performance, and using it to build a consistent, replicated, migratable file system. Our experiments demonstrate the performance advantage of pipelining concurrent requests, and show that migration has only a minor and temporary effect on performance.
Tashkent
Authors: Elnikety Sameh , Dropsho Steven , Pedone Fernando
Published: April 2007

In stand-alone databases, the functions of ordering the transaction commits and making the effects of transactions durable are performed in one single action, namely the writing of the commit record to disk. For efficiency many of these writes are grouped into a single disk operation. In replicated databases in which all replicas agree on the commit order of update transactions, these two functions are typically separated. Specifically, the replication middleware determines the global commit order, while the database replicas make the transactions durable.The contribution of this paper is to demonstrate that this separation causes a significant scalability bottleneck. It forces some of the commit records to be written to disk
serially
, where in a standalone system they could have been grouped together in a single disk write. Two solutions are possible: (1) move durability from the database to the replication middleware, or (2) keep durability in the database and pass the global commit order from the replication middleware to the database.We implement these two solutions. Tashkent-MW is a pure middleware solution that combines durability and ordering in the middleware, and treats an unmodified database as a black box. In Tashkent-API, we modify the database API so that the middleware can specify the commit order to the database, thus, combining ordering and durability inside the database. We compare both Tashkent systems to an otherwise identical replicated system, called
Base
, in which ordering and durability remain separated. Under high update transaction loads both Tashkent systems greatly outperform
Base
in throughput and response time.
Understanding user behavior in large-scale video-on-demand systems
Authors: Yu Hongliang , Zheng Dongdong , Zhao Ben Y. , Zheng Weimin
Published: April 2007

Video-on-demand over IP (VOD) is one of the best-known examples of "next-generation" Internet applications cited as a goal by networking and multimedia researchers. Without empirical data, researchers have generally relied on simulated models to drive their design and developmental efforts. In this paper, we present one of the first measurement studies of a large VOD system, using data covering 219 days and more than 150,000 users in a VOD system deployed by China Telecom. Our study focuses on user behavior, content access patterns, and their implications on the design of multimedia streaming systems. Our results also show that when used to model the user-arrival rate, the traditional Poisson model is conservative and overestimates the probability of large arrival groups. We introduce a modified Poisson distribution that more accurately models our observations. We also observe a surprising result, that video session lengths has a weak inverse correlation with the video's popularity. Finally, we gain better understanding of the sources of video popularity through analysis of a number of internal and external factors.
Scalable logical coordinates framework for routing in wireless sensor networks
Authors: Cao Qing , Abdelzaher Tarek
Published: April 2007

In this article, we present logical coordinates based routing (LCR), a novel framework for scalable and location-independent routing in wireless sensor networks. LCR assigns each node a logical coordinate vector, and routes packets following these vectors. We demonstrate that LCR (i) guarantees packet delivery with a high probability, (ii) finds good paths, and (iii) exhibits robust performance in the presence of network voids and node failures. We systematically evaluate the performance of LCR through simulations and compare it with other state-of-the-art protocols. We also propose two extensions of LCR, one for three-dimensional node deployments and the other for unreliable wireless links.
Software process improvement uncut
Authors: Brooks Andy
Published: April 2007

Publication in software engineering usually means materials are highly sanitized and readers, whether they be students, educators, or professional engineers, are not exposed often to the full underlying detail. To address this lack of exposure, an interview guide and the interview results on a software process improvement (SPI) project are presented uncut.
Measurement theory and validation criteria for software complexity measures
Authors: Misra Sanjay , Kilic Hurevren
Published: April 2007

The relation between measurement theory and evaluating criteria for software complexity measure is well established by several researchers. A new software complexity measure should also be satisfied by measurement theory criteria. However, most of the developers of new complexity measures do not care about measurement theory. In this paper, we evaluate measurement theory and point out why measurement theory is not well applicable for evaluating complexity measure.
Testing across configurations
Authors: Cohen Myra B. , Snyder Joshua , Rothermel Gregg
Published: April 2007

User configurable software systems allow users to customize functionality at run time. In essence, each such system consists of a family of potentially thousands or millions of program instantiations. Testing methods cannot test all of these configurations, therefore some sampling mechanism must be applied. A common approach to providing such a mechanism has been to use combinatorial interaction testing. To date, however, little work has been done to quantify the effects of different configurations on a test suites' operation and effectiveness. In this paper we present a case study that investigates the effects of changing configurations on two types of test suites. Our results show that test coverage and fault detection effectiveness do not vary much across configurations for entire test suites; however, for individual test cases and certain types of faults, configurations matter.
Property relevant software testing with model-checkers
Authors: Fraser Gordon , Wotawa Franz
Published: April 2007

Verification is applied to software as a proof method with respect to its requirements. Software testing is necessary due to the fact that verification is often infeasible. Automation is desirable since the complexity and the effort involved are significant. However, automated software testing is commonly used to ensure confidence in the conformance of an implementation to an abstract model, not to its requirement properties. In this paper, we introduce the notion of property relevance of test-cases. Property relevant test-cases can be used to determine property violations. It is shown how to detect the properties relevant to a test-case. New coverage criteria based on property relevance are introduced. Automated generation of test-suites satisfying these criteria is also presented. Finally, feasibility is illustrated with an empirical evaluation.
A relationship-driven approach to view merging
Authors: Sabetzadeh Mehrdad , Nejati Shiva , Easterbrook Steve , Chechik Marsha
Published: April 2007

A key problem in view-based software development is merging a set of disparate views into a single seamless view. To merge a set of views, we need to know how they are related. In this extended abstract, we discuss the methodological aspects of describing the relationships between views. We argue that view relationships should be treated as first-class artifacts in the merge problem and propose a general approach to view merging based on this argument. We illustrate the usefulness of our approach by instantiating it to the state-machine modelling domain and developing a flexible tool for merging state-machines.
Automated requirements-based test case generation
Authors: Rajan Ajitha
Published: April 2007

Black-box testing is a technique in which test cases are derived from requirements without regard to the internal structure of the implementation. In current practice, the black-box test cases are derived manually from requirements. Manually deriving test cases from requirements is a costly and time consuming process. In this paper, we present the notion of
autogenerating
black-box test cases from requirements, that can result in dramatic time and cost savings.To accomplish this, we use requirements formalized as temporal logic properties. We define coverage metrics directly on the structure of the formalized requirements, and use an automated test case generation tool, like the model checker, to generate test cases from formal requirements that satisfy the desired criteria. To evaluate the effectiveness of black-box test suites generated in this manner, we measure the implementation coverage achieved by the test suites, and their fault-finding effectiveness. In [11], we conducted a preliminary investigation using a close to production model of a Flight Guidance System developed at Rockwell Collins Inc. We autogenerated requirements-based test suites for three different requirements coverage criteria and evaluated them by measuring the implementation coverage achieved.
Burt add numbers
Authors: Wing Michael
Published: April 2007

One day, an agent from the government asked Burt, a software engineer of great renown, who lives near the realm of possibility, to write a program to add up the numbers from 1 to 10. Apparently, the government adds numbers quite often, and when the government wants to automate their processes they consult with the best and the brightest. On the grounds that there is nothing quite so banal as the answer to a question, Burt turned down the commission, which would have rewarded him with one hour of time on the government's biggest iron: a super duper computer. Besides, other commissions kept him busy.
Book review: The First Book of PC-Write by Rebecca Kenyon (Howard W. Sams & Co., 1990)
Authors: Cigas John
Published: April 2007

The First Book of PC-Write
, covers the full range of PC-Write topics, from installation, to formatting paragraphs and pages, to checking spelling, to merging documents, and much more. The book provides explanations of the essential features of this word processor. It includes an appendix of questions, with explanations, that are asked when first installing the program.
The role of workstations in the information utility
Authors: Slonim Jacob , Bauer Michael A.
Published: April 2007

This paper describes the central role that personal workstations were foreseen to play in future generation of information systems. The particular project, the Information Utility, was meant to form the foundation for libraries of the future. The paper describes the components and layered structure of a nationwide information utility. The focal point of this information system is the personal workstation. Intimately tied to this is the local computing environment, supported by powerful microcomputers dedicated as servers in the local environment and supporting workstations. Relationships between the workstation, its local environment and regional/national environments are also described.