The ACRE Persistence Engine
Will Kastelic, NRC, Canada
David Zwiers, University of Victoria, Canada
Contents
What is the Persistence Engine?
- A feature-rich, and extensible middleware
system upon which to develop software engineering tools.
- Software engineering tool developers can
build their custom applications on the Engine.
- Build on what is already in place : re-use!
An Example: Software Requirements Engineering
Some of the features that may be found in a Requirements Toolkit include:
Data Repository processing
- Requirements docs
- Import/export docs
- Dictionaries, glossaries
|
Requirements processing
- Support standards
- Requirements tracing
- Sort/analyze metrics
|
Extras
- Whiteboarding
- On-line discussion
- Custom calculations
|
Secure access control
Version control/change mgmt
|
Views
- Graphic output
- User-defined
|
Integration
- with popular IDEs
- with popular SE tools
|
Before the ACRE Persistence Engine
Developers have to write code for all aspects of the tool.from the
basic infrastructure, such as client interfaces, the repository access,
to the code which makes the tool unique. The lack of a standards-based
design leads to more one-of-a-kind implementations.
With the the ACRE Persistence Engine
Tool developers can focus on creating custom code for new required
features, as the Engine provides the basic components. Designers and
developers can focus on creating code in support of the cognitive principles
behind ACRE.
Architecture of the ACRE Persistence
Engine
The ACRE Engine can be extended to provide the functionality needed
in the Software Engineering tool/ application you are developing.
The architecture utilizes
- International standards (e.g., MDA, WSDL,
SOAP, ODBC)
- Common data format (SVG/GXL/XML) for 3rd
party integration
- IBM's WebSphere Application Server
The architecture provides
- Multiple perspectives/views
- Data repository control
- Version control
- Web and e-mail services
- Web authoring toolkit
- XML data interchange
- Java interface
- Debugging and profiling
- End-user programmability
- API for multi-client applications
- Scripting
|