next up previous contents
Next: Conclusion Up: Appnotes Index Previous:5 The RASSP Reuse Data Manager Architecture

Reuse Methodology and Implementation Appnote

6.0 Application of the RASSP Reuse Approach

In order to demonstrate and benchmark the process, the RASSP Reuse Data Manager (RRDM) was implemented for a Satellite Communications Payload application (interim prototype demonstration), and for distributed access to multiple VHDL model repositories (final prototype demonstration). As a result of designing these prototypes, the RASSP reuse classification hierarchy was developed for the respective domains. Extension of the classification hierarchy either in these domains or related areas is planned with additional applications of the reuse manager.

6.1 Satellite Communication Reuse Application

The Satellite Communication Payload application was associated with an internal project at Lockheed Martin Astrospace Company at East Windsor, New Jersey. Our goal was to build a design reuse repository from the legacy data sources at Astrospace, and maintain it over the course of the demonstration period. Two incremental prototype RRDMs demonstrated some of the basic features of the Information Broker in the Astrospace environment, including the object-oriented class hierarchy, attribute-based searches, and web-based access.

The CPC was in a position to provide objects in a wide variety of functional categories which could be used both to augment the RASSP RDOCH and upon which to implement the demonstrations. The metadata about these objects promised to be rich in terms of the variety of naming conventions, data values/enumerations, units, data types, data formats and such. This was considered to be very important from the interoperability perspective. The data also demonstrated the concept of representing multiple implementation levels (e.g., concepts, designs and implementations from components to systems). Use of this diverse data set showcased important ways of accessing information to solve design problems at multiple levels like satellite beam coverage analysis down to communications circuit design. In addition, the ability to access information on concepts, trade studies, rules of thumb and detailed design from distributed sources is extremely useful. This showed how an organization can enhance the engineering process by encouraging reuse.

The CPC problem was a real world case for an integration of interest to Lockheed Martin, the Government and aerospace in general. The CPC had developed potentially reusable components in the past and was about to embark on many more to support the new generation of digital communication satellites. CPC was developing a "configure-to-order" to replace the traditional "design-to-order" concept for satellites. "Configure-to-order" required CPC to maximize the use of reusable components, assemblies and even systems. It required the ability to catalog and easily access information residing in a wide variety of sources including databases, product data managers, component information systems and document management systems. The system would have a wide range of users (e.g., systems engineers, designers, procurement specialists) each requiring a different "view" of the multiple data sources. This demonstration showed the proof-of-concept for providing these views and highlighted the types of features that would be necessary to integrate distributed heterogeneous sources for a engineering reuse application.

The process of building the reuse repository consisted of the following steps:

  1. Interview design engineers at Astrospace to identify sources of legacy reusable design data.
  2. Source the information, which consisted primarily of presentations, drawings, and some documentation from legacy sources and on-going projects
  3. Develop a class hierarchy for the data available in a bottom-up fashion, identifying leaf-level classes and their attributes first, and abstracting common facets to form abstract superclasses
  4. Populate the data in a repository with a web-based front end

The first interim implementation of the RRDM was created with classes and instances stored as static HTML pages. The documents were obtained either in electronic format or were scanned into GIF and PDF formats from paper documents. HTML links were provided from the design object class instances to the data objects (documents) that described the design objects. Documents could be viewed or downloaded as either HTML files, Adobe PDF files, or in their original format -- typically Microsoft Word or Interleaf format. Security was provided using the Netscape Secure Socket Layer (SSL) features. Only people accessing the system from authorized machines (verified by IP addresses), with an authorized user name and password were allowed access to the system.

This interim implementation of the RRDM lacked scalability, as the only means for searching for data was by browsing or doing text searches on the HTML pages. Sophisticated searches using attributes of the classes were not possible. To overcome these limitations, an object-oriented approach was used for the second RRDM prototype engine. An object-oriented database system was selected over a relational database for the following reasons:

  1. The object-oriented reuse classification hierarchy could be mapped directly to C++ classes for implementation purposes, rather than simulating each class as several tables in a relational or object-relational environment (cumbersome and costly).
  2. An object-oriented database system uses pointers to represent relationships between objects rather than object-ids and multiple table joins as in an object-relational DBMS. The RRCH implements numerous relationships between classes and between instances of classes. An object model seemed to be most appropriate from a performance perspective.
  3. The object-oriented model is more expressive than other modeling methodologies such as relational, network, or hierarchical. It allows natural modeling of complex data types such as sets, arrays, and collections, and facilitates the definition of the behavior of the objects using methods derived from the constraints specified in Ontolingua or defined in source applications and repositories.

The second prototype for the satellite communications RRDM was implemented using ObjectStore, an object-oriented database management system with a C++ -based API. The class hierarchy was implemented and maintained through a C++ -based programmatic interface. The database was populated manually through a graphical user interface and through scripts with load files once the schema became stable. Complex attribute-based querying was supported in this implementation. Inverse pointers between design objects and the related data objects were implemented to maintain database integrity. Thus when new design objects were added or when a design object was deleted from the repository, the back pointers from the related data objects were automatically updated by the ObjectStore system.

Key lessons learned in the course of this effort are:

6.2 Distributed VHDL Model Repository

The final reuse prototype demonstration featured the integration of two distributed VHDL model repositories. It demonstrated support for uniform user access to source repositories with diverse implementation schema via the information broker.

The focus of the final demonstration was two-fold:

Two databases on separate machines were used to represent a distributed database. Both databases were searched with a single query from the Sandpiper information broker. Corresponding searches were performed on the individual databases using native search methods to verify the correctness of the results.

The first database was developed from Lockheed Martin Advanced Technology Laboratories-developed VHDL models primarily associated with the RASSP benchmark program and other internal libraries. These model libraries include performance and detailed behavior models for the UYS - 2 and SAR benchmark programs, and register transfer level (RTL) models from the RASSP Model Year Architecture effort. Metadata about these models is accessible through a keyword search engine developed by ATL. (The vocabulary for the keyword search engine was significantly enhanced as a side benefit of this effort.)

The second database was developed using VHDL models associated with the RASSP legacy information project managed by SCRA. These models are available through an HTML-link-based search engine developed by SCRA.

The class and attribute definitions for the VHDL data and design objects were developed based on the GILS ontology, the RASSP VHDL Modeling Terminology and Taxonomy document, and the bus attributes table developed under the Model Year Architecture effort. Additional attributes were derived from common datasheet usage.

Productivity gains with the Sandpiper information broker as compared to conventional approaches or current best practices for queries against multiple heterogeneous databases were realized in two areas.

  • Resolution of ambiguities in terms
  • Improved query quality for reduced search time

    An example of the problem with searching in a heterogeneous environment where a word can have multiple meanings clarifies the issue. The SCRA website has models of FPGAs. These are models of the FPGA themselves as opposed to the logic implemented in the FPGA. ATL uses the term FPGA to refer to the logic that is to be modeled and/or implemented in an FPGA. Using the native search engines of each database, one would find both models of FPGAs (on the SCRA site) and things implemented in FPGAs (on the ATL site). Because of a lack of semantics on "FPGA", there is no convenient way to distinguish the FPGA models from the FPGA implementations. Through the common vocabulary, the Information Broker allows the semantics of FPGA to be captured through mapping to the "function" class. The semantics of "FPGA" for ATL are mapped to the "implemented as" attribute. This difference enables Sandpiper to differentiate the two and provide accurate search results.

    The quality and accessibility of the design objects found by the Information Broker is enhanced in two ways. First, when the recommended design-for-reuse approach is used, the information is complete and meta-data about the information significantly more detailed than is traditionally supplied. Being able to search and compare on the meta data and understanding the semantics of meta-data from multiple sources is the value added by the information broker. Second, a special "Info" file and the use of viewers allows the designer to do a quick preview of the model before downloading it. The designer spends less time downloading, unzipping and untarring unwanted models and more time searching for an appropriate model. Although this second aspect was not demonstrated, the information was captured to enable demonstration at a later time.

    As previously mentioned, the RRCH is compliant with the RASSP VHDL Modeling Terminology and Taxonomy. The Virtual Socket Interface Alliance (VSIA) is adopting the RASSP VHDL Modeling Terminology and Taxonomy as the basis for its own taxonomy to describe intellectual property available from multiple vendors, and to act as a clearing house for that information via the Internet. They have also incorporated portions of the bus attributes table in their bus attributes document. The detailed ontology definition and corresponding meta-data templates developed for this prototype are relevant not only to VSIA but to numerous collaborative, concurrent engineering applications.

    One lesson from the Satellite communications reuse application was reinforced and several new lessons were learned in the course of developing this demonstration.


    next up previous contents
    Next: Conclusion Up: Appnotes Index

    Approved for Public Release; Distribution Unlimited Dennis Basara