An infrastructure for the rapid development of XML-based architecture description languages
Research and experimentation in software architectures over the past decade have yielded a plethora of software architecture description languages (ADLs). Continuing innovation indicates that it is reasonable to expect more new ADLs, or at least ADL features. This research process is impeded by the difficulty and cost associated with developing new notations. An architect in need of a unique set of modeling features must either develop a new architecture description language from scratch or undertake the daunting task of modifying an existing language. In either case, it is unavoidable that a significant effort will be expended in building or adapting tools to support the language. To remedy this situation, we have developed an infrastructure for the rapid development of new architecture description languages. Key aspects of the infrastructure are its XML-based modular extension mechanism, its base set of reusable and customizable architectural modeling constructs, and its equally important set of flexible support tools. This paper introduces the infrastructure and demonstrates its value in the context of several real-world applications.

title: Complexity of analyzing the synchronization structure of concurrent programs
abstract: SummaryFoundational to verification of some aspects of communicating concurrent systems is knowledge of the synchronization which may occur during execution. The synchronization determines the actions that may occur in parallel, may determine program data flow, and may also lead to inherently erroneous situations (e.g. deadlock). This paper formalizes the notion of the synchronization structure of concurrent programs that use the rendezvous (or similar) mechanism for achieving synchronization. The formalism is oriented towards supporting verification as performed by automated static program analysis. Complexity results are presented which indicate what may be expected in this area and which also shed light on the difficulty of correctly constructing concurrent systems. Specifically, most of the analysis tasks considered are shown to be intractable.

title: The Role of Middleware in Architecture-Based Software Development
abstract: Software architectures promote development focused on modular functional building blocks (components), their interconnections (configurations), and their interactions (connectors). Since architecture-level components often contain complex functionality, it is reasonable to expect that their interactions will be complex as well. Middleware technologies such as CORBA, COM, and RMI provide a set of predefined services for enabling component composition and interaction. However, the potential role of such services in the implementations of software architectures is not well understood. In practice, middleware can resolve various types of component heterogeneity — across platform and language boundaries, for instance — but also can induce unwanted architectural constraints on application development. We present an approach in which components communicate through architecture-level software connectors that are implemented using middleware. This approach preserves the properties of the architecture-level connectors while leveraging the beneficial capabilities of the underlying middleware. We have implemented this approach in the context of a component- and message-based architectural style called C2 and demonstrated its utility in the context of several diverse applications. We argue that our approach provides a systematic and reasonable way to bridge the gap between architecture-level connectors and implementation-level middleware packages.

title: Rethinking the taxonomy of fault detection techniques
abstract: The conventional classification of software fault detection techniques by their operational characteristics (static vs. dy- namic analysis) is inadequate as a basis for identifying useful relationships between techniques. A more useful distinction is between techniques which sample the space of possible ex- ecutions, and techniques which fold the space. The new dis- tinction provides better insight into the ways different tech- niques can interact, and is a necessary basis for considering hybrid fault detection techniques.

title: Chimera: hypertext for heterogeneous software environments
abstract: Emerging software development environments are characterized by heterogeneity: they are composed of diverse object stores, user interfaces, and tools. This paper presents an approach for providing hypertext services in this heterogeneous setting. Central notions of the approach include the following. Anchors are established with respect to interactive views of objects, rather than the objects themselves. Composable, n-ary links can be established between anchors on different views of objects stored in distinct object bases. Viewers (and objects) may be implemented in different programming languages afforded by a client-server architecture. Multiple, concurrently active viewers enable multimedia hypertext services. The paper describes the approach and presents an architecture which supports it. Experience with the Chimera prototype and its relationship to other systems is described.

title: Anomaly Detection in Concurrent Software by Static Data Flow Analysis
abstract: Algorithms are presented for detecting errors and anomalies in programs which use synchronization constructs to implement concurrency. The algorithms employ data flow analysis techniques. First used in compiler object code optimization, the techniques have more recently been used in the detection of variable usage errors in dngle process programs. By adapting these existing algorithms, the sane classes of variable usage errors can be detected in concurrent process programs. Important classes of errors unique to concurrent process programs are also described, and algorithms for their detection are presented.

title: Comparison of conformer distributions in the crystalline state with conformational energies calculated by ab initio techniques
abstract: SummaryThe conformational preferences of 12 molecular substructures in the crystalline state have been determined and compared with those predicted for relevant model compounds by ab initio molecular orbital calculations. Least-squares regression shows that there is a statistically significant correlation between the crystal-structure conformer distributions and the calculated potential-energy differences, even though the calculations relate to a gas-phase environment. Torsion angles associated with high strain energy (>1 kcal mol-1) appear to be very unusual in crystal structures and, in general, high-energy conformers are underrepresented in crystal structures compared with a gas-phase, room-temperature Boltzmann distribution. It is concluded that crystal packing effects rarely have a strong systematic effect on molecular conformations. Therefore, the conformational distribution of a molecular substructure in a series of related crystal structures is likely to be a good guide to the corresponding gas-phase potential energy surface.

title: Authenticating Pollock paintings using fractal geometry
abstract: Jackson Pollock's paintings are currently valued up to US$75M, triggering discussions that attributation procedures featuring subjective visual assessments should be complimented by quantitative scientific procedures. We present a fractal analysis of Pollock's patterns and discuss its potential for authenticity research.

title: Multi-modal Interface for Fluid Dynamics Simulations Using 3-D Localized Sound
abstract: Multi-modal capabilities can be added to a simulation system in order to enhance data comprehension. We describe a system for adding sonification capabilities to a real-time computational fluid dynamics (CFD) simulator. Our system uses Max/MSP modules to add sonic properties to CFD solutions. The enhancements described in this paper allow users to locate sound sources in a 3---D environment using stereo auditory cues to identify data features.

title: Interference-Free Insertion of a Solid Body Into a Cavity: An Algorithm and a Medical Application
abstract: This article presents a novel algorithm for efficiently computing an interference-free insertion path of a body into a cavity and shows its practical use in the insertability analysis of custom orthopedic hip implants. The algorithm is designed to handle tightly fit, very complex three-dimensional bodies requiring fine, complex, coupled six-degree-of-freedom motions in a preferred direction. It provides a practical method for efficiently handling the geometric complexity of tight-fit insertions. The algorithm computes an insertion path consisting of small interference-free body motion steps. It formulates local, linearized configuration space constraints derived from the shapes and computes suc cessive motion steps by solving a series of linear optimization problems whose solution corresponds to the maximum allowed displacement in a preferred direction satisfying the constraints. It either finds a successful insertion path or a stuck conftgura tion. We demonstrate the algorithm with EXTRACT, a program for analyzing the insertability of cementless custom orthopedic hip implants. EXTRACT computes interference-free insertion paths for tightly fit implant and canal shapes described with 10,000 facets to an accuracy of 0.01 inch in 30 minutes on a workstation. It has been successfully tested on 30 real cases provided by a medical equipment manufacturer.

title: A High-Performance Flexible Architecture for Cryptography
abstract: Cryptographic algorithms are more efficiently implemented in custom hardware than in software running on general-purpose processors. However, systems which use hardware implementations have significant drawbacks: they are unable to respond to flaws discovered in the implemented algorithm or to changes in standards. In this paper we show how reconfigurable computing offers high performance yet flexible solutions for cryptographic algorithms. We focus on PipeRench, a reconfigurable fabric that supports implementations which can yield better than custom-hardware performance and yet maintains all the flexibility of software based systems. PipeRench is a pipelined reconfigurable fabric which virtualizes hardware, enabling large circuits to be run on limited physical hardware. We present implementations for Crypton, IDEA, RC6, and Twofish on PipeRench and an extension of PipeRench, PipeRench+. We also describe how various proposed AES algorithms could be implemented on PipeRench. PipeRench achieves speedups of between 2x and 12x over conventional processors.