Adoption-Centric
Software Engineering

Home

Background

ACSE v1.0 Projects




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

Illustration of the architecture of the ACRE Persistence Engine