Adoption-Centric
Software Engineering

Home

Background

ACSE v1.0 Projects




Leveraging Cognitive Support in Lotus Notes to build ACRE Tools

Jun Ma, University of Victoria, Canada

Contents

What is ACRENotes?

ACRENotes is an adoption-centric reverse engineering (ACRE) tool that is developed with the popular groupware product Lotus Notes. It has the following components:

  • Data Repository
  • Data Visualization
  • End-User Programming
  • Team Cooperation

Why Lotus Notes?

Leverage GUI and metaphors familiar to users

As a successful groupware product, Lotus Notes has been used by millions of users all over the world. Consequently, Lotus Notes users have become familiar with its GUI, metaphors, and operation processes. Building on Lotus Notes, ACRENotes can save users a lot of time and effort compared to learning a stand-alone software egineering tool.

Utilize built-in document database to efficiently manage data

Both documents and data in Lotus Notes are managed in its own document database. Documents can be easily selected, browsed, filtered, and categorized. Furthermore, they can be handled by predefined Agents and Actions. ACRE leverages Lotus Notes' database: By converting reverse engineering data (e.g., from GXL) into documents, the users' capability to directly manipulate reverse engineering data can be maximized. Moreover, all kinds of artifacts generated by the development team can be managed easily in this database.

Integrate CSCW support in reverse engineering tools

Lotus Notes' groupware features facilitate cooperation between team members. They can easily exchange project information in the form of Lotus Notes documents. Project managers can access information to coordinate and direct the team's effort. Therefore, people can work on a large reverse engineering project effectively and efficiently.

Enable end-user programming

Users can access and manipulate their data with the help of scripting languages embedded in Lotus Notes (e.g., JavaScript). Therefore, tedious and complex tasks can be efficiently automated.

The ACRENotes Architecture