Next: Conclusion
Up: Appnotes Index
Previous:5 The RASSP Reuse Data Manager Architecture
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:
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:
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:
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.
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.
We developed the following naming convention for packages. Put all the widely used packages at the top of the hierarchy. Any packages derived from these (copied and modified) should be renamed in some standard way and reside in the same directory as the model that they are used with. If a package is at the top of the hierarchy, no other package in the hierarchy should have that name. The names of packages specific to models which reside in a particular model directory should include the name and the source of the model. Since models are copied flat into the user's local space, this will reduce the chances of packages being overwritten. Run all "extract" and "compile" scripts to verify proper execution.
References in the VHDL code to designer-created libraries need to be handled appropriately.
Provide the developers with templates defining the type of data that needs to be collected.
B. Database schema
Clearly, if the models are already in a database, the schema is defined. However, if the legacy data is not in a database, this is a good opportunity to do a good job creating the schema. In particular, staying close to the common vocabulary will reduce the time it takes to integrate to the Information Broker.
C. Functional and domain specific schema
Finally, when creating a functional schema, create it in the context of the world of engineering functions. That is, separate out general functionality such as arithmetic functions, filters and multiplexers, from the domain specific functionality. Look at the common vocabulary: chances are, the more general functionality has already been classified. The careful development of the domain specific schema will ensure good search results while minimizing the effort required to define the schema.
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
6.2 Distributed VHDL Model Repository
This reduces the risk that portions of models will be missing or modified due to uncontrolled reuse. It also increases the retained design knowledge should a designer leave the organization. The quality of the information will be significantly higher if it is developed while it is fresh, and not recreated by someone else after the fact.
Designate a reuse area and define its structure. The following suggestions may help:
Next: Conclusion
Up: Appnotes Index
Approved for Public Release; Distribution Unlimited
Dennis Basara