# Presentation: 135465

## STEP Modules Repository Demo

- Josh Lubell
- NIST Manufacturing Systems Integration Division
- International Workshop on Aerospace Product Data Exchange
- Gaithersburg, MD
- April 9, 2003

## Rationale

- Reduce the high cost and lengthy time to develop STEP standards
- Allow implementation of a combination of multiple specifications or extension of implementations with additional capabilities
- Enable application software reuse
- Eliminate duplication and repeated documentation of the same requirements in difference specifications
- Improve interoperability between STEP standards

## Who is doing what?

- PDES, Inc.
- Requirements, content
- NIST (Josh Lubell, Simon Frechette, Allison Barnard Feeney)
- Technical leadership, physical organization, access framework
- Eurostep (contractor to NIST)
- Authoring tools
- Transformation to human-readable formats

## Repository users

- Standards developers
- Repository reduces standards development costs though eliminating unnecessary repetition and better reuse of common resources
- This will lead to improved interoperability
- Implementors
- Repository will make it easier to build implementations containing multiple subsets or extensions

## Technical approach

- Represent STEP modules (mini-standards) using XML
- Captures both natural language and computer-interpretable aspects of STEP
- XML is non-proprietary, blessed by standards bodies and open source developers, etc., etc.
- Use sourceforge.net for development environment
- Facilitates collaboration between organizationally and geographically diverse developers
- Provides CVS (Concurrent Versioning System) for tracking revisions, managing updates
- We're basically tackling STEP standards development as if it were a large software project

## Multiple presentations of XML STEP modules

**<?xml version=“1.0”?>****.****.****.**

- ISO
- blah blahblah blah...

- Publishedstandards

- Hyperlinkedweb pages

- Input tosoftware tools(e.g. EXPRESS)

## Screen shot

## Developer requirements

- A local, up-to-date version of the module repository
- Software requirements
- Ant
- Build tool for Java
- Great for managing XML processing tasks
- Java (needed for Ant)
- CVS client
- XML tools
- XML editor (your choice)
- SAXON XSLT processor
- Windows, IE6
- Navigation features use XSLT extensions not yet supported by Netscape/Mozilla
- Some productivity tools written in Microsoft JScript
- SSH client (developer access to Sourceforge CVS)
- To view an HTML build, all you need is a not-too-out-of-date web browser (IE 5+, Netscape 6+)

## Making a new module

- Create the directory
- Update the repository index
- Create EXPRESS, and mark up in XML
- In any order, add:
- Descriptions for EXPRESS entities and attributes
- Scope
- Mapping specification
- EXPRESS-G
- Other miscellaneous items
- Generate HTML

## How is this better than the old way?

- Files, directory structure automatically created
- Built-in quality assurance
- Cross checks
- Formatting automatic
- Boilerplate automatically inserted
- Multiple views from same XML data
- ISO
- Developer
- Summary

## Demo!

## Benefits

- Presentation in multiple formats
- ISO
- Developer
- Summary
- Ease in navigation and searching
- Improved authoring and quality control
- Infrastructure for secure and traceable collaborative development

## Areas for improvement

- Better integration of utility scripts
- Better platform independence
- Some scripts require Windows
- Updates too slow
- Mostly due to shortcomings of CVS
- Better versioning systems are on the horizon
- More configuration management needed
- Multiple projects, but nobody is managing the project managers

## Plans for the future

- Improve updates process
- Add capability to Ant build files to update designated subsets of modules
- Investigate Subversion, a replacement for CVS
- Finish implementing DTD and stylesheets for modular APs
- Modularize AP203

## For more information...

- Visit the home page
- _[http://stepmod.sourceforge.net](http://stepmod.sourceforge.net/)_
- Or contact me
- lubell@nist.gov