Modeling and Implementing Software Architecture with Acme and ArchJava
Courtyard, Demo room 2
Tuesday, 12:30, 45 minutes
This event is also being given Wednesday at 15:30.
Jonathan Aldrich, Carnegie Mellon University
Demonstration number: 3
Software architecture describes the high-level organization of a software system, and is essential both for reasoning about system properties and for implementing and evolving code. This demonstration will describe two architecture-related tools: AcmeStudio for architectural modeling and analysis, and ArchJava for ensuring consistency between architecture and implementation.
AcmeStudio is an architectural design tool based on Eclipse, supporting graphical and textual descriptions of software architecture as well as various forms of architectural analysis. We will show how to create an architecture in Acme and check it against the constraints of an architectural style such as pipe-and-filter.
ArchJava extends the Java language to include explicit architectural modeling constructs, and uses type system techniques to ensure that the implementation conforms to the architecture. We will show how AcmeStudio can generate skeleton ArchJava code, how developers can fill in this architecture with an implementation using an Eclipse-based ArchJava IDE, and how ArchJava's type system can help the developer to maintain consistency between code and architecture.
Additional information about ArchJava and AcmeStudio is available at http://www.archjava.org/ and http://www.cs.cmu.edu/~acme/AcmeStudio/.