Department of Electrical and Computer Engineering

 

The Software Concordance Environment v2.0

One of the research results from the Software Concordance project is the prototype of integrated development environment. The Software Concordance (SC) environment bridges the gap between Web-compatible hypermedia (like XML) and program development.

The Software Concordance Environment v2.0 has the following important components:

The Software Concordance editor supports multimedia documentation (audio, images, and text) in the middle of Java program source code. The source code is editable and is analyzed for parsing and type errors, just as in modern IDEs like Sun's Forte and Visual C++. Early version of the editor is based on XML representations of different types of software documents. The recent versions of the SC editor is XML-compatible since it uses a representation that is suitable for version control and configuration management. SC brings program source code out of the dated world of eight-bit character streams by allowing developers to embed inline multimedia documentation such as audio clips, images, graphics, texts, and hyperlinks into their program source code without disrupting the integrated program analysis services, including lexical processing, parsing and type checking. Some software documents (such as source code) will be suitable for specialized analyses (such as compilation), but these analyses will not hinder interoperability.

HTML hyperlinks are supported and can be bound to and point to any fragment of documentation or source code. The developers are able to move seamlessly between source code and the documentation that describes its motivation, design, correctness and use.

It supports multiple views, so that all the distracting embedded multimedia documentation can be hidden and programmers can also see just the interface of a Java class, if they choose. A multiple view presentation system was developed to present a software document including source code in multiple ways. Users define the presentation of a document in a style sheet.

To support for fine-grained version control of software artifacts, the versioning and software configuration management services are constructed from the object-oriented SCM infrastructure, named Molhado. Molhado is an object-oriented and extensible infrastructure to allow for the development of many different types of object-oriented SCM systems and associated SCM-centered development environments. See the Molhado Web site for more details.

Software artifacts and logical relationships are maintained and versioned in a natural manner. Versioned hypermedia services in SC are built based on the Molhado hypertext versioning system. The environment provide analyses and visualizations of the graph of hyperlinks among the software documents so that developers can answer important questions related to such issues as requirements and bug tracing. Conformance analysis among software documents is implemented via our Conformance Analysis Model.

In summary, the important components of SC environment v2.0 are:

  1. Software Concordance (SC) editor
  2. Molhado object-oriented SCM (part of the Molhado project)
  3. Molhado hypertext versioning (part of the Molhado project)
  4. Conformance Analysis Model and Tools
  5. Program Analysis Tools