During my Ph.D. research, I implemented several research tools and demonstrated them during formal research tool demonstrations at various conferences listed below. All these tools include contributions by my Ph.D. advisor, Jonathan Aldrich, and other collaborators.

The following research tools are Eclipse plug-ins and written in Java. They are available, upon request, for research evaluation or use.

SECORIA

 

 ArchDomJ: annotation system and typechecker

  • ArchDomJ: a re-implementation of the ownership domains type system (AliasJava) by Aldrich et al., using Java 1.5 annotations and the Eclipse infrastructure. This implementation also contains additional features such as checking domain links, support for annotating external library code using XML files (AliasXML), among others.
  • Requirements: Eclipse
  • Initially demonstrated at OOPSLA'06: Abi-Antoun, M. and Aldrich, J. Bringing Ownership Domains to Mainstream Java. OOPSLA Companion, 2006.
  • Also demonstrated at ECOOP'07: Abi-Antoun, M. and Aldrich, J. Eclipse Plug-ins for Statically Checking and Visualizing Ownership Domain Annotations, ECOOP Companion, 2007.

ArchRecJ: hierarchical object graph extractor

ArchConf: architectural conformance checker

The conformance checking tool suite supports the extract-abstract-check methodology:

A walkthrough using the conformance tools is available here.

ArchSynch: architectural synchronizer

ArchJ2Acme: Acme and ArchJava synchronizer

  • ArchJ2Acme: extract a built architecture from an ArchJava implementation and incrementally synchronize with a designed architecture in Acme.
  • Requirements: Eclipse and AcmeStudio
  • Initially demonstrated at ICSE'05: Abi-Antoun, M., Aldrich, J., Garlan, D., Schmerl, S., Nahas, N., and Tseng, T. Modeling and Implementing Software Architecture with Acme and ArchJava. ICSE, 2005.

Acme2ArchJ: code generator from Acme to ArchJava

  • Acme2ArchJ: generate ArchJava skeleton code from a specification in the Acme Architecture Description Language.
  • Collaborators: Tony Tseng
  • Requirements: Eclipse and AcmeStudio, an Eclipse plug-in for architectural modeling using Acme
  • Initially demonstrated at OOPSLA'04: Aldrich, J., Garlan, D., Schmerl, B., and Tseng, T. Modeling and Implementing Software Architecture with Acme and ArchJava. OOPSLA Companion, 2004.