Leveraging
Cognitive Support and Modern Platforms for
Adoption-Centric
Reverse Engineering (ACRE)
Hausi A.
Müller, University of Victoria, Canada
Contents
Problem
Research tools in software engineering often fail to be adopted and
deployed in industry. Important barriers to adopting these tools include
their unfamiliarity with users, their unpolished user interfaces, their
poor interoperability with existing development tools and practices,
and their limited support for the complex work products required by
industrial software development.
Approach
Office suites, by contrast, are capable, mature, flexible, extensible,
and familiar to many developers. For example, common office suites
are used daily to browse Web content, produce multimedia documents,
pre-pare presentations, and maintain budgets. These suites and other
middleware-based environments can be extended and leveraged to provide
familiar support for software engineering tasks. Developing and deploying
innovative research tools and ideas as extensions to modern, commonly
used desktop environments may ease the barriers to adoption. Users
will more likely adopt tools that work in an environment they use daily
and know intimately. That is, tool adoption will be improved if we
specifically address the issues of cognitive support and interoperability.
The cognitive
support of Software Engineering tools can be improved by exploiting
the deep familiarity and expertise that users already have with their
favorite applications and environments. We believe that building
software engineering tools on top of these platforms will address
the issue of cognitive support effectively.
Also, the interoperability of
these tools can be improved significantly by leveraging recently developed
middleware technologies. By exploiting technologies, such as plug-in
or model-driven architectures and data exchange standards, we can address
the issue of interoperability. Recently, tool builders and standards
bodies have invented effective standards and interfaces for tool extension
and customization.
The advances described above have opened new research avenues on how
innovations in software engineering tools can be made more easily adopted
by inserting them as extensions to commonly used office suites (e.g.,
Microsoft Office XP, Lotus SmartSuite, Sun StarOffice, and Corel WordPerfect
Office) and middleware platforms (e.g., XML standards, SVG, scripting
languages, model-driven architectures, and plug-in platforms). Our
project aims to explore these avenues. Our main hypothesis is that
in order for new tools to be adopted successfully, they must be compatible
with both existing users and other tools. To validate this hypothesis,
we will build prototype software engineering tools using open standards,
popular office suites, and common middleware technology. Using these,
we will conduct industrial case studies and structured tool experiments.
The experience gained will be beneficial for both academic research
and industrial practice.
Benefits
Developing effective techniques and strategies to overcome the software
engineering tool adoption problem will have great value to the software
and information technology sectors. Injecting more of the great software
engineering research results into industrial practice has potentially
a significant impact on the production of quality software. Thus, this
research addresses two diverse markets: the software developers, who
need to understand and document existing software systems, but also
the researchers, who want to inject and validate their research tools
in industrial development processes.
ACRE V1.0
ACRE V1.0 consists of several software visualization engines on top
of various office products, including Lotus Notes, Excel,
PowerPoint, and Visio. The software engineering tools in this ACRE
environment
interoperate using the ACRE persistence engine and SVG
(Scaleable Vector Graphics). The ACRE persistence engine is implemented
using IBM
Websphere software platform, the OMG's
Model Driven Architecture (MDA), and OTI's universal tool platform Eclipse.
SVG is a W3C XML standard and an effective solution for
smart cross-platform graphics.
|