bluuebunny/crossref_metadata_2025 huggingface dataset:
The DARPA TIPSTER project
Authors: Harman Donna
Published: January 2007

This note is the first of four papers in this issue describing the ongoing work connected with the DARPA TIPSTER Project. The note provides an overview of the project, and the next papers by three of the contractors involved in the project provide some details on the systems involved, and some of the initial results.The TIPSTER project is sponsored by the Software and Intelligent Systems Technology Office of the Defense Advanced Research Projects Agency (DARPA/SISTO) in an effort to significantly advance the state of the art in effective document detection (information retrieval) and data extraction from large, real-world data collections. The first two-year phase of the program is concerned with the development of algorithms for document retrieval, document routing, and data extraction that are both domain and language independent. A call for proposals was made in June of 1990, and contracts for the six participating groups were let in the fall of 1991. Three meetings have been held so far, with the first results presented in September of 1992.There are two separate, but connected parts of TIPSTER. The first part of the project, document detection, is concerned with retrieving relevant documents" from very large (3 gigabyte) collections of documents, both in a routing environment, and in an adhoc retrieval environment. The routing environment is similar to the document filtering or profile searches currently done in libraries, where a query topic is constant, and the documents are viewed as the incoming stream of publications. The adhoc part of the project is similar to the standard search done against static collections.The second part of the TIPSTER project is concerned with data extraction. Here it is assumed that there is a much smaller set of documents, presumed to be mostly relevant to a topic, and the goal is to extract information to fill a database. This database could then be used for many applications, such as question-answering systems, report writing, or data analysis. The data extraction part of TIPSTER is being done by groups using natural language understanding techniques, and this part will not be described in this issue.
Ease of learning and using a CASE software tool
Authors: Nosek John , Baram Gary , Steinberg Geoff
Published: January 2007

Computer Aided Software Engineering (CASE) has been receiving increasing attention because of its potential for substantial productivity improvement of software development. Yet only about 24% of companies use these tools. Arguments have been made that CASE tools are difficult to learn and use. We conducted two experiments with subjects who were both students and professional analysts to evaluate how easy it is for first time users to learn and a CASE tools to draw Data Flow Diagrams (DFDs).We found a typical CASE tool was easy to learn and use for developing correct, complete, balanced and readable DFDs. These experiments provide support for providing training in the structured technique before introducing the CASE tool based on the technique. It is proposed that failure to understand the technique may be translated into perceived failure of the CASE technology, and one reason for the limited use of CASE in organizations.
Algorithmic approach to bounding the mean response time of a minimum expected delay routing system
Authors: Lui John C. S. , Muntz Richard R.
Published: January 2007

In this paper we present an algorithmic approach to bounding the mean response time of a multi-server system in which the minimum expected delay routing policy issued, i.e., an arriving job will join the queue which has the minimal expected value of unfinished work. We assume the queueing system to have
K
servers, each with an infinite capacity queue. The arrival process is Poisson with parameter λ, and the service time of server
i
is exponentially distributed with mean 1/μ

i

, 1 ≤
i
≤
K
. The computation algorithm we present allows one to tradeoff accuracy and computational cost. Upper and lower bounds on the expected response time and expected number of customers are computed; the spread between the bounds can be reduced with additional space and time complexity. Examples are presented which illustrate the excellent relative accuracy attainable with relatively little computation.
Performance analysis of “Time Warp” with limited memory
Authors: Akyildiz Ian F. , Chen Liang , Das Samir R. , Fujimoto Richard M. , Serfozo Richard F.
Published: January 2007

The behavior of
n
interacting processes synchronized by the “Time Warp” rollback mechanism is analyzed under the constraint that the total amount of memory to execute the program is limited. In Time Warp, a protocol called “cancelback” has been proposed to reclaim storage when the system runs out of memory. A discrete state, continuous time Markov chain model for Time Warp augmented with the cancelback protocol is developed for a shared memory system with
n
homogeneous processors and homogeneous workload. The model allows one to predict speedup as the amount of available memory is varied. To our knowledge, this is the first model to achieve this result. The performance predicted by the model is validated through direct performance measurements on an operational Time Warp system executing on a shared-memory multiprocessor using a workload similar to that in the model. It is observed that Time Warp with only a few additional message buffers per processor over that required in the corresponding sequential execution can achieve approximately the same or even greater performance than Time Warp with unlimited memory, if GVT computation and fossil collection can be efficiently implemented.
Parallel simulation of stochastic petri nets using recurrence equations
Authors: Baccelli François , Canales Miguel
Published: January 2007

Petri nets provide a powerful modeling formalism, which allows one to describe and study various classes of systems, such as synchronous and asynchronous processes, and/or parallel or sequential ones.

We present below a software package, currently under development, that allows the user to specify a stochastic marked graph [1] using either a graphical interface or a specification language. From this specification a simulation program for a Single Instruction Multiple Data (SIMD) parallel machine is generated. A Connection Machine 2 (CM2) is used as the architecture for running this program.
Converting SAC-2 code to lisp
Authors: Langemyr Lars
Published: January 2007

We describe the implementation of a translator from the algorithm description language ALDES to
Common LISP.
ALDES is the language of the SAC-2 computer algebra system. We indicate why this translation is beneficial. By giving examples we also show how the translation was made.
Numerical conditioning of a system of algebraic equations with a finite number of solutions using Gröbner bases
Authors: Montes Antonio
Published: January 2007

It is known that Gröbner bases approach can be useful to solve systems of algebraic equations with a finite number of solutions. Nevertheless, as stated in [Bu], numerical accuracy attainable when using floating point arithmetic is not yet studied. In this paper we discuss numerical approach, defining conveniently the condition number of every root, and the numerical g.c.d.'s of Buchberger's algorithm. With these instruments we are able to compute confidence-intervals for the roots. We complete the study with two illustrative examples. We also give some insight about the best order of the variables when pure lexicographical order is concerned.
Version 2.0 of the OASIS system available for distribution
Authors: Kozminski Kris , Stuart Carson
Published: January 2007

OASIS (Open Architecture Silicon Implementation Software) is a comprehensive standard cell-based VLSI synthesis system. It comprises four major components: the compiler and logic synthesizer, the simulator and verifier, the automatic test pattern generator, and the automatic layout generator.
Expert systems in government
Authors: Leach Stephen P. , Kandel Abraham
Published: January 2007

The process of redistricting involves the division of a land surface into two or more pieces. In a political setting, the districts thus formed provide groups of voters that elect the same public officials. Other types of redistricting applications include the formation of school districts, transportation districts, or water management districts.

In this work we describe a knowledge-based expert system, Grouper, as a solution to the redistricting problem. A number of key issues are addressed by the solution, including equality of population, contiguity, and graphical display of possible districts. In addition, we outline a method (the Grouper approach) for dramatically reducing the complexity of the redistricting problem by limiting activity to a specific level of detail.

A PC-based, prototype solution, implemented using the M.1 expert system shell, is described with emphasis on techniques for minimizing search. An annotated Grouper session is included. Lastly, there is a discussion of the far-reaching significance of the redistricting problem and promising uses or extensions of the Grouper system in this regard.
Using a Prolog meta-programming approach for a blackboard application
Authors: Schwartz David G. , Sterling Leon S.
Published: January 2007

Substantial integration and control issues arise when developing distributed, heterogeneous blackboard-based systems. We present the design and implementation of a Prolog-based blackboard system for the simulation of portfolio management tasks. The design addresses control and integration issues with an approach based on meta-level architectures and logic problems. A common interface capturing important meta-level knowledge about individual knowledge sources, i.e. the blackboard system components, is described. The interface is structured and can easily accomodate existing knowledge sources. Adaptive control is achieved by a set of control knowledge sources acting at both the object and meta levels. The goal of the application is to provide an environment in which independently developed subsystems used by a portfolio manager can be integrated and controlled without necessitating major modifications to the original code.
Book review: Artificial Intelligence Applications in Manufacturing. Edited by A. Famili, D. S. Nau, and S. H. Kim (AAAI Press/MIT Press, 1992)
Authors: van Dyke Parunak H.
Published: January 2007

This volume grew out of a series of workshops sponsored by the AAAI's Special Interest Group in Manufacturing (SIGMan) at IJCAI-89 and AAAI-90. The editors explicitly target the book "as a reference for senior undergraduate and graduate students." A collection of reports on "AI Applications" for a student audience holds both promise and threat. If it really does relate research-strength technology to industrial-strength problems, it helps prepare students for important industrial contributions. Conversely, if it compromises either the technical integrity of the work or the realism of the application problems, the work may mislead students who look to it for inspiration and direction.
Book review: Intelligent Design and Manufacturing Edited by Andrew Kusiak (John Wiley & Sons, New York, 1992)
Authors: Oh Vincent
Published: January 2007

There has been a recent resurgence of interest in consciousness, resulting in new books by Dennett [Den91], Edelman [Ede92], and Searle [Sea92], just to mention the most prominent. Whereas each of these three has their own theory to expound, Flanagan is content to mediate the philosophical disputes rather than offer his own solution to the mind-body problem. He ends his book by saying that, "despite its extraordinary difficulty, the problem of consciousness is beginning to yield." This purported progress, however, is not so evident in book.
Performance of temporal reasoning systems
Authors: Yampratoom Ed , Allen James F.
Published: January 2007

This paper describes the performance evaluation of six temporal reasoning systems. We show that if you are working with large temporal datasets where information is added incrementally throughout the execution of the program, systems using incompletely connected graphs (
i.e.,
TMM, TimeGraph and TimeGraph-II) seem the best option. While they do not offer the constant query time of systems using fully connected graphs (
i.e.
the systems based on constraint satisfaction), the savings at assertion time are so substantial that the relatively small performance penalty for queries is a reasonable tradeoff. Of course, these systems do not offer the expressivity of the interval-based systems as they only handle point-based relations. Of the three, TimeGraph-II offers a wider range of qualitative relations as it handles point inequality. It does not currently handle metric information, however, as do TMM and TimeGraph. Thus decisions between these three may be more determined by the reasoning capabilities required rather than raw performance.
Information systems for organizational productivity
Authors: Akin Gib , Hopelain David
Published: January 2007

No matter what the reason for designing an information system in a particular way or acquiring a sysrtem with particular features, there is always a broader rationale which justifies the introduction of new automated information into the workplace. Inevitably, an executive, manager, or user has decided that the organization will be more productive - that is, its ability to get its work done will be enhanced by making new information available to the organization.
Metric data models and associated search strategies
Authors: Goldfarb Lev
Published: January 2007

I believe that the concept of a metric (or a dissimilarity measure) defined on a set of records is one of the most fundamental concepts related to information retrieval, although historically, the first science to introduce this concept as a basic one was, perhaps, numerical taxonomy. In the metric model the concept of the most relevant record should be interpreted as that of the closest (with respect to the chosen metric) record.
Research into fuzzy extensions of information retrieval
Authors: Kraft Donald H
Published: January 2007

Modern computerized information retrieval systems consist of mechanisms to acquire, describe (e.g., index), and store "documents", and to receive, analyze, and respond to queries for information for users. A key element is the index language, by which the users (or user intermediaries) and indexers can communicate. Modern technology allows natural language processing mechanisms to begin to be incorporated in the sense of matching terms found in the free text specification of the query and the free text within the document.
Standards Factor: A CLOSER LOOK AT ISO 9241
Authors: Billingsley Pat
Published: January 2007

Beginning with this column, I will periodically depart from my usual summary of ISO and ANSI committee activities to present more in-depth information about an individual user interface standard. This change in emphasis reflects the fact that many standards have reached, or are about to reach, a point where their contents and structure are largely stabilized. At the same time, several standards are beginning to have a direct impact on the way computer products are designed, developed, and marketed for European customers.
VIRTUAL BUSINESS
Authors: Bleecker Julian C.
Published: January 2007

The Seattleites who dug deep on their pockets to try out Virtual reality at the Video Tech Pavilion during Bumbershoot '92 walked away reeling from the imaginative, futuristic possibilities of the technology. In fact, the experience of dipping one senses into a three-dimensional computer graphics world had already found an appeal within the radical-chic cyberculture led by '60s icon Timothy Leary. Well-documented by the magazine Mondo 2000, this movement has added more than its share of hype to the technology.
The HCI bibliography project
Authors: Perlman Gary
Published: January 2007

The HCI Bibliography is a free-access online bibliographic database on Human-Computer Interaction. The basic goal of the project is to put an electronic bibliography for most of HCI on the screens of all researchers, developers, educators and students in the field through anonymous ftp access, mail servers, and Macintosh and DOS floppy disks. Through the efforts of over 100 volunteers from 13 nations, the bibliography has grown to a resource of over 7500 entries occupying over 8 megabytes, used by over 300 sites in 23 nations. This notice describes the contents of the bibliography and how to access it.
INTERACTIONS
Authors: Hefley William , Rheinfrank John , Myers Brad A.
Published: January 2007

Interactions
is a timely new quarterly magazine of
applied
human-computer interaction (as it influences system, hardware and software design). It will provide practicing members of the user interface, software, and systems design/development communities with access to the leading practices in the computer-human interface field. The magazine provides timely and useful information about the design, implementation and evaluation of interactive systems and user interface tools, techniques, and products.
Dissertations
Authors: Humphrey Susanne M. , Shneiderman Ben
Published: January 2007

The following abstracts were selected from a computer search using the BRS Information Technologies retrieval services of the Dissertation Abstracts International (DAI) database produced by University Microfilms International.Unless otherwise specified, paper or microform copies of dissertations may be ordered, using the UMI order number, from University Microfilms International, Dissertation Copies, Post Office Box 1764, Ann Arbor, MI 488106; telephone for U.S. (except Michigan, Hawaii, or Alaska): 800/521-3042, for Canada: 800/268-6090. Price lists, ordering, and shipping information are in the introduction to the published DAI. An alternative source for copies is sometimes provided at the end of the abstract.The dissertation titles and abstracts contained here are published with permission of University Microfilms International, publishers of Dissertation Abstracts International (copyright 1985 by University Microfilms International), and may not be reproduced without their prior permission.
End-user programming language
Authors: Gray Wayne D. , Spohrer James C. , Green Thomas R. G.
Published: January 2007

The call for participation for the
Workshop on End User Programming
began with the following statement:In the beginning, every user was a programmer. While that appeared to change forever in the 80's, the 90's are shaping up as the decade of macro-languages, scripting languages, authoring languages, dbase query languages, inter-application communication languages, and event languages. Programming in some form or another will become inescapable and again, every user will be a programmer. The 90's will be the decade of
end-user programming.
Visual interaction design special interest area
Authors: Wadlow Maria G.
Published: January 2007

The theme for this issue is "Getting Started." I've been looking over the list of goals we made at our last meeting at CHI 92 and our Special Interest Area seems to have gotten off to quite a good start, with admirable progress on almost every item.
Learning disabled students' difficulties in learning to use a word processor
Authors: MacArthur Charles A. , Shneiderman Ben
Published: January 2007

Learning disabled students can derive great benefits from using work processors. The ability to produce a neat, printed copy can increase motivation and encourage writing for a wider audience. The editing power makes revision possible without tedious re-copying, thus freeing students and teachers to approach writing as a process involving repeated drafts. Specific problems with handwriting and spelling can also be circumvented. However, learning to use the editing capabilities often presents problems for students, especially those with learning difficulties. Word processors must be designed that are simple, easy to learn, and yet powerful. This study makes software design recommendations based on a study of learning disabled students learning to use word processing.Two groups of four LD students (4th-6th grade) were given twelve hours of word processing instruction using two word processors. Detailed records of progess and errors were made during learning and a final assessment task. Specific design problems are reported and recommendations are made for tasks such as cursor movement, insertion/deletion, use of nulls, blanks, and formatting characters, and overall organization.
You had to be there
Authors: Tognazzini Bruce
Published: January 2007

Sometimes studying a process can be as enlightening as studying the results. But too often, the process is either forgotten or erased in the rush to provide a finely-polished product.
A SMART USER-SYSTEM INTERFACE FOR UNIX
Authors: Jerrams-Smith Jennifer
Published: January 2007

Novice users often have an inaccurate mental model of the UNIX system and are frequently misled by the normal UNIX response to their errors (Hanson et al, 1984). SUSI, a Smart User-System Interface, provides a supportive and intelligent interface between users and the UNIX operating system, so that novices can make full use of facilities which help them to complete their tasks quickly and efficiently.
LEARNING GENERIC, NONGENERIC AND COMPOUND-GENERIC COMPUTER COMMANDS
Authors: Darnell Michael J.
Published: January 2007

Generic commands use the same verb to invoke a given action on different kinds of objects in a computer system. For example, the command "DELETE 3" might delete 3 lines of text and "DELETE/abc/" might delete the character string "abc". In contrast, nongeneric commands use different verbs to invoke a given action on different kind of objects (e.g., ERASE 3, DELETE/cat/). Generic verbs are frequently easier to learn than nongeneric verbs, in part because nongeneric verbs that have meanings appropriate to the same action are frequently poorly differentiated synonyms. Thus, users frequently confuse nongeneric verbs with each other. Although generic verbs are frequently easier to learn than nongeneric verbs, when several different parameter constructions are mapped onto the same generic verb the parameter mappings become difficult to learn. For example, "ADD/abc/xyz/" might be used to insert the characters "abc" following the characters "xyz" in an existing line of text and "ADD abc" might be used to insert the characters "abc" as a new line of text. Generic commands such as these, having several different parameter constructions mapped onto the same verb, make the parameter mappings difficult to learn.
FIELD STUDY OF A VOICE MAIL SYSTEM
Authors: Roemer Joan M. , Pendley Wayne L. , Stempski Mark O. , Borgstrom Mark C.
Published: January 2007

We studied the use of a computer-based voice mail system within an organization, and users' attitudes toward it. This system allowed users to send and receive voice messages using pushbutton telephones. It offered editing, filing, retrieval, distribution, and control functions.
DESIGN STRATEGIES FOR UPGRADING HUMAN PERFORMANCE IN COMPUTER SYSTEMS
Authors: Dubrovsky Vitaly
Published: January 2007

A new approach to errors management has emerged in human factors in computer systems. A slogan for the approach was formulated by Norman (1983): "There are no errors: all operations are iterations toward a goal." At the same time, the reality of human errors---actions that deviate from some standard of desired performance and violate some tolerance limits of the systems-still exists. The new "no-errors" approach needs a new conceptual framework to represent the traditional "errors" reality and the activities equivalent to errors management in a different, non-traditional, way. This paper offers such a conceptual framework and its human/computer interface design implications.
A MODEL FOR AN INTERACTIVE GRAPHICAL INTERFACE TO AN ELECTRONIC OFFICE SYSTEM
Authors: Butcher Michael D.
Published: January 2007

As the diversity and number of potential users of interactive computer systems increases, there is a greater awareness that the design of the user-machine interface is crucial for their efficiency and acceptability. Systems designers often talk of the fundamental dilemma in dialogue design being the conflict between making an interface easy to use for novices and quick and sophisticated for expert users. This so-called "trade-off" has become so well established that one could be forgiven for believing that the form of dialogue either suits novices
or
expert users, but cannot cater for both.
NAVIGATION ISSUES RELATED TO MENU-BASED SOFTWARE PRODUCTS
Authors: Isa Barbara S. , Ogden William C. , Wolfe Susan J. , Korenshtein Roni
Published: January 2007

Navigation is a term we use to describe the process users employ to access any of several full-screen panels available in a software product interface. We conducted four studies that investigated the navigation design issues related to a product that uses full-screen input/output panels. In the initial release of the product, the I/O panels were mapped to program function (PF) keys which allowed users to navigate from panel to panel in a network organization with one keystroke. When the product added more function and the number of panels exceeded the number of PF keys, navigation had to be arranged in a hierarchy if PF keys were still to be used. As the product evolved, we prototyped and empirically studied new methods of navigation. Navigating commands and a selection menu were studied, in addition to PF keys.
Separating the user interface from the functionality of application programs
Authors: Szekely Pedro
Published: January 2007

Constructing graphical user interfaces for interactive applications is a difficult and time consuming task, typically requiring extensive programming and experimentation with many prototypes. Thus, the ability to package portions of the specification of user interfaces into components that can be reused in the construction of many interfaces, and the ability to change an application's user interface without impacting the implementation of the functionality are crucial. These abilities can be realized in the measure that the dependencies between the implementation of an application's functionality and the user interface can be minimized.
The 1985 Fredkin competition
Authors: Berliner Hans
Published: January 2007

We have now been running Fredkin competitions designed to find out how good the best computer chess entities really are, since 1980. These have always taken the form of computer-human competition, as this seems to be the way to bring reality to the subject.
Sometimes an FEXPR is better than a macro
Authors: Lichtman Z
Published: January 2007

Common Lisp, which is becoming THE Lisp standard, does not support call by text (FEXPR mechanism in Mac/Franz Lisp). This effect can be obtained using macros. Based on the experience of converting an OPS5 implementation from Franz Lisp to Common Lisp, it is argued that sometimes call by text is needed for efficiency, despite its negative aspects.In the case of languages embedded in a Lisp system, using the macro alternative for call by text can cause marco expansion at execution time. This leads to a some-what less efficient implementation of the embedded language.
RiTSE: The reactor trip simulation environment
Authors: Epstein S
Published: January 2007

Management Analysis Company, located in San Diego, is a general consulting corporation dealing almost exclusively with nuclear power generation.
International Perspectives: DEFINING ROLES IN INTERNATIONAL COMMUNICATION WITHIN HCI
Authors: Karat John
Published: January 2007

ACM is an international organization. In October of 1992 ACM opened its European Service Center in Brussles to better serve the needs of the European community. The ACM administration would like to enhance the level of technical activity in Europe and increase the interaction with European computing societies (there is a large number of such societies throughout Europe and indeed throughout the world). INTERCH '93 is viewed by ACM as a leading example of the sort of conference that can lead to increasing such activity and communication.
Report of the fifth IFIP WG2.7 working conference
Authors: Larson James A.
Published: January 2007

Forty user interface experts from Europe, North America, Australia, and Asia participated in this working conference with the aim of investigating the nature, concepts, and construction of user interfaces for software systems. For five days, we held formal presentations, small working groups, and informal discussions about UIMS architecture, user studies, user interface adaptability, multimodality, and design guidelines. Under the direction from the athletic Finns, we also sweated in saunas, jumped into lakes, jogged in the rain, and rowed what seemed to be halfway to Great Britain.
Creating well formed class inheritance schemes in C++
Authors: Wild Frederic H.
Published: January 2007

How do we know when we have a well formed inheritance scheme? What are the criteria that we can use to judge? These are important questions that we must consider. For most people, inheritance is a rather new design discipline, and its implementation in C++ allows ample opportunity to create both good and bad examples of its use. In this paper we explore how the design criteria for inheritance is both similar to, and different from, conventional design considerations. We also discuss a set of anomalies that should be removed from proposed C++ inheritance schemes [1], which can be used to judge whether inheritance constructs are well formed or not.
Towards a discipline of class composition
Authors: Weber Franz
Published: January 2007

Assembling classes to form systems is a key concept in object-oriented software development. However, in order to be composed, classes have to be compatible in a certain way. In current object-oriented languages the compatibility with a specific behaviour is expressed by inheritance from a class which describes this behaviour. Unfortunately inheritance is neither intended to express compatibility nor does it enforce compatibility. This deficiency may lead to inconsistent systems. Therefore, in the Project “10–14” inheritance is restricted to express compatibility between classes. Two kinds of compatibilities are distinguished: compatibility required for the integration of subsystems (conformance) and compatibility required for reuse (imitation). A formal basis for the discipline is developed in order to get mathematically precise notions and to enable the verification of object-oriented systems. A design strategy is built on top of these compatibility notions. In actual case studies the discipline has already shown to support a clean design and to promote the reusability of class hierarchies.
Integrating analysis and design methods (abstract)
Authors: Coleman Derek , Jeremaes Paul
Published: January 2007

Most of those who practice object-oriented analysis and design do not follow any standard method exactly, but combine different techniques to suit their own unique requirements. Each method employs its own set of models, notations, and processes, so it can be difficult to combine them. This tutorial shows how to design a method by providing a framework for understanding and evaluating current methods, applying it to three recent methods (OMT (Rumbaugh et al), Responsibility Driven Design/CRC cards, Booth 91 Method), and combining them to produce a new method, FUSION, that builds on their best aspects.

The tutorial introduces a set of criteria for evaluating methods from the viewpoint of the object-oriented concepts they support, the kinds of models and notations they employ and the process steps that they recommend. The criteria provides a way to understand the underlying similarities and differences between methods.

The criteria were developed as part of a program to assess what kind of method should be made available to HP engineers, which led to the development of the FUSION method. The tutorial ends with a brief account of the usefulness of FUSION in practice.
Object-oriented concurrent programming (abstract)
Authors: Briot Jean-Pierre
Published: January 2007

This tutorial treats object-oriented concurrent programming (OOCP) as the natural generalization of object-oriented programming. OOCP decomposes a large program into a collection of small modules that run and interact concurrently and are capable of exploiting parallel hardware. The tutorial describes various levels of integration between object-oriented programming and concurrency, leading to the notion of an active object, which unifies object and activity, message passing and synchronization.

The tutorial introduces Concurrent Smalltalk to describe concepts, constructs, and methodology. Examples include programming with continuations, divide and conquer, and pipelining. It also shows how to implement active objects, and uses Actalk as an example. Finally, it compares various OOP models and languages, with a special focus on the Actor computation model.

Although the tutorial uses Smalltalk for examples, you dont need to know Smalltalk to understand it; a quick introduction to Smalltalk syntax is included. It assumes that you understand object-oriented programming well, but little more about concurrency than intuitive concepts of processes and synchronization.
Simulation with DEVS-CLOS (abstract)
Authors: Sevinc Suleyman
Published: January 2007

This tutorial has two purposes: to show how the features of CLOS affect a design and to describe the design of a general-purpose simulation system. The tutorial is designed for those who want to understand the practical importance of the unique features of CLOS and also those who would like to learn how to use or build object-oriented simulation systems.

The tutorial emphasizes the underlying model of object-oriented programming in CLOS and distinguishes it from other models. It also describes the requirements of a simulation system and the design of DEVS-CLOS, a publicly available simulation system. DEVS-CLOS is an extension to CLOS that supports modeling and simulation. It supports visualization, supports hierarchical design of simulations, allows first-order logic in models, and supports adaptive system simulation. The tutorial shows how a system like DEVS-CLOS can be used to solve typical simulation problems, and how CLOS concepts like multimethods, multiple inheritance, pre- and post-methods and dispatching algorithms were used in the design of DEVS-CLOS.
Object-oriented user interfaces (abstract)
Authors: Collins Dave
Published: January 2007

The principles of objects, polymorphism, classes, and inheritance can apply to the end users external view of a user interface, just as it can apply to the language that is used to implement it. This tutorial shows how to design (not implement) a user interface that is truly object-oriented. It gives guidance on the design of the externals of object-oriented user interfaces, and shows how developers can capitalize on the isomorphism between the users conceptual model of the interface and the constructs provided by object-oriented programming languages. The tutorial exposes a (perhaps surprisingly) deep analogy between object-oriented programming languages and object-oriented user interfaces. This analogy is valuable because it can be used to map external user interface design in a clear and natural way onto object-oriented application frameworks. The tutorial is illustrated with historical examples, many on videotape.
Object-oriented project management (abstract)
Authors: Rubin Kenneth , Goldberg Adele
Published: January 2007

Object-oriented projects have to be managed properly to obtain the most benefits from object-oriented technology. This tutorial explains the effect of object-oriented technology on costs, staffing and choice of methodology. It describes the pitfalls that attend object-oriented projects so that you can avoid them, and explains the key processes, including development style, use of prototyping, and reuse. It gives specific guidelines for organizing projects, managing a reuse library, estimating the size and cost of projects, and introducing object-oriented technology into an organization.
Writing efficient C++ programs (abstract)
Authors: Meyers Scott
Published: January 2007

This tutorial teaches the competing meanings of high performance; the characteristics of object-oriented systems that can decrease performance; how to locate and eliminate computational bottlenecks in C++ programs; and the trade-offs between high performance and system reusability, maintainability, and portability. It describes in detail the factors that affect the performance of C++ software. Whether your primary concern is high system speed, small system size, fast recompilation, or a combination of these, this tutorial provides you with the tools necessary to come up with an appropriate object- oriented design, to implement it efficiently in C++, and to fine-tune it for maximum performance.

The reasons for bottlenecks in C++ programs are often surprising. Contrary to popular belief, virtual functions usually exact a negligible performance cost, while unexpected calls to constructors and destructors frequently hamstring applications. This tutorial teaches you what is really important if you want to deliver high performance, and the techniques you need to achieve it.
Visual programming languages from an object-oriented perspective (abstract)
Authors: Ambler Allen L. , Burnett Margaret M.
Published: January 2007

Visual programming language research has evolved greatly since its early days. At first, attempts at visual programming mostly took the form of flowchart-like diagrams. But in recent years, a wide number of innovative approaches have been incorporated into visual languages, including object-oriented programming, form-based programming, programming by demonstration, and dataflow programming. Unfortunately, while many of these systems represent important ideas, only a few have been successful as complete visual programming languages. This tutorial explains why this is true, and describes ways in which the problem can be addressed.

This tutorial explores the issues behind the successes and failures of earlier approaches from a design perspective. It identifies characteristics of successful visual programming languages, and explains how to design an object-oriented language that maintains those characteristics. It shows solutions to a number of problems by looking at existing visual programming languages, including Prograph.
Sniff (abstract)
Authors: Bischofberger Walter R.
Published: January 2007

Sniff is a pragmatic C++ programming environment which has been
implemented during the last fifteen months. Sniff is implemented in
C++ with the ET++ application framework. It runs on a large number
of UNIX workstations under several window management systems such
as OSF-Motif, OpenWindows, and Sunview. Sniff is an open
environment providing browsing, cross-referencing, design
visualization, documentation, and editing support. It delegates
compilation and debugging to any C++ compiler and debugger of
choice. Sniff has been in internal use at UBS (Union Bank of
Switzerland) since August 1991. Since then several developers have
applied Sniff in developing non- trivial software systems as well
as in evolving Sniff. Public domain distribution off Sniff will
commenced in May 1992.

The main goal in developing Sniff was to create an efficient
portable C++ programming environment which makes it possible to
edit and browse large software systems textually and graphically
with a high degree of comfort, without wasting huge amounts of RAM
or slowing down in an annoying way. A further goal was to achieve
applicable results within one person year.
Multiple-view CASE support for object-oriented design (abstract)
Authors: Chyou Shang-cheng
Published: January 2007

Object-Oriented Programming (OOP) has been recognized to have
great potential in producing high quality, large reusable software.
However, we often find it difficult to write good C++ or Smalltalk
programs. Without good program designs we will not reap the
benefits of OOP. On the other hand, Object-Oriented Design (OOD) is
considerably more complex than that of the traditional design
disciplines such as Structured Design. Therefore, without the help
of powerful CASE tools, we may not achieve the benefits of OOD and
OOP.

This demonstration will present TurboCASE, a multi-methodology
supporting CASE tool that supports both Object-Oriented Analysis
(OOA) and OOD. TurboCASE provides multiple views to help software
designers create good OOD models.

TurboCASE allows you to create and maintain Class Hierarchy,
Class Collaboration, Class Definition, and Class Design Diagrams.
The Class Hierarchy Diagram not only shows the class hierarchy, but
also helps resolve how polymorphism works. The class Collaboration
Diagram gives three levels of abstraction showing how objects
communicate with each other. The Class Definition Diagram shows the
methods and instance variables of the class, as well as providing
the ability to browse the capabilities of the class inherited from
the class hierarchy. The Class Design Diagram allows you to design
a class similar to that of the Structured Chart with full support
of the method signature specification. These diagrams are
integrated through a project database, thereby providing multiple
views of the software design.

TurboCASE also provides intelligent help to refine the design
such as abstracting the common behaviors of classes into an
abstracted class. Subsystems can be designed top-down as well as
bottom-up by abstracting from system components. These capabilities
greatly reduce the complexities of the designs and help achieve
optimal solutions.
Audition (abstract)
Authors: Drinnan Andrew , Morton David
Published: January 2007

This demonstration presents Audition, an object-oriented
language and environment designed to allow the easy creation of
visual and interactive programs.

It uses a metaphor of Performers and Stages, as first inspired
by the XEROX Pam Rehearsal World project. Performers are the main
interaction units. They are visible and mouse or message activated;
sample types include DisplayPerformers, Turtles, Graphs, and
Gauges. Performers are grouped on Stages; stages maintain local
name spaces so that Performers can be named and intercommunicate
using their local names. While Performers are members of a class,
they may also be specialised through the addition of
instance-specific behaviour and structure; this may also be
inherited from other performers.

Just as inheritance models is-kind-of relationships, performers
collected on a stage visibly and logically model is-part-of
relationships, in a more flexible way than instance variables. An
application is usually just a specialised stage and its specialised
performers. The performer-stage paradigm gives rise to models that
are at once well factored across their participating performers and
yet are fully encapsulated within a stage. Audition is a threaded
interpreted language implemented in itself. At present we are using
Audition to investigate planning aids and simulations for
industrial situations.
Demeter Tools/C++ (abstract)
Authors: Lieberherr Karl , Holland Ian , Hursch Walter , Silva-Lepe Ignacio , Xiao Cun
Published: January 2007

We are demonstrating the Demeter Tools/C++, a CASE research prototype developed at Northeastern University, including the latest tools described in papers presented at ECOOP 91, ER 90, CSM 89 and OOPSLA 89 and in the Software Engineering Journal (1991).

The Demeter system has been under development since 1985 and has been regularly used and refined with support from companies such as IBM, Mettler- Toledo and SAIC.

Demeter Tools/C++ consists of the following tools:

1. Design level (programming language independent):

cddraw: to draw a class dictionary

learn: Learns class dictionary for object examples

optimize: Optimizes class dictionary

sem-check: Checks class dictionary for violations and proposes changes to the class dictionary

parse-generate, run-parser: Checks conformance between class dictionary and objects

cd-compare: Compares two class dictionaries

cd-abstract: Finds the largest class dictionary

common to both input class dictionaries

xref: Draws a graphical representation of a class dictionary

2. Generation level (C++ specific):

generate: Generates C++ class library from input class dictionary

propagate: Generates C++ member functions from propagation pattern

headers: Generate C++ function interfaces from implementation

3. Implementation level (C++ specific):

Class library of predefined member functions for object manipulation (e.g., reading, writing, drawing, accessing, etc.)
Finding an educational perspective for object-oriented development
Authors: Northrop Linda M.
Published: January 2007

The object-oriented model has become exceedingly attractive as the best answer to the increasingly complex needs of the software development community. The initial boasts regarding quality, reuse, concurrency, and scalability are now being substantiated by documented software development experience. It is certainly appropriate, then, for educators who teach computer science (the current preparation for emerging software developers) to examine where object-oriented development best fits into the computer science curriculum. How much of the paradigm—language, analysis, design, management—ought to be addressed? At what level in an undergradute program are object-oriented techniques appropriate? What are the risks involved? How is the object-oriented approach effectively taught?
Book review: Automatic Natural Language Parsing. Edited by Karen Sparck Jones and Yorick Wilks (Ellis Horwood and John Wiley and Sons 1983)
Authors: Ward Nigel
Published: January 2007

Automatic Natural Language Parsing
is based on papers presented at a workshop in Essex, England, in 1982. There is nothing new and exciting, but there are plenty of interesting observations, ideas, and critiques, many of which I have not seen elsewhere (perhaps because two-thirds of the authors are British). The typical article is clear, chatty, and concise (less than 10 pages). As claimed, the book gives "research students and research workers" some "current views on the problems and techniques of automatic NLP". The focus is on research problems, not past progress, so this book is primarily of interest to specialists.
The number of offspring as strategy parameter in hierarchically organized evolution strategies
Authors: Herdy Michael
Published: January 2007

The evolution strategy, an algorithm imitating the effect of the biological evolution, has already been presented in this journal [Bäck92]. The basic algorithm described there uses a single population with a fixed number of parents and offspring. The present paper shows an extended algorithm with a higher imitative level of biological evolution. In this hierarchically organized evolution strategy there exist several populations being in competition with each other. These populations differ from each other by varied strategy parameters. The number of offspring is such a strategy parameter which is different in each population and it is shown that it can be adjusted adaptively with the proposed algorithm.After derivating the theoretical values for the optimal number of offspring for the two exemplary testfunctions hyperplane and hypersphere the simulation results for these testfunctions are shown.
Phase coupling for horizontal microcode generation
Authors: Allen Vivki H. , Mueller Robert A.
Published: January 2007

Microcode for mass produced architectures is still predominantly generated by hand. Yet, as speed dictates the vertical migration of commonly executed functions to microcode, the demand for automated code generation increases.Though considerably more complex than phase-decoupled methods, phase-coupled methods for the generation of horizontal microcode have the potential to produce more highly optimized microcode. Results of the retargetable phase-coupled microcode compiler, Horizon, are presented and directions suggested.