| CMU-ISRI-07-121 Institute for Software Research
 School of Computer Science, Carnegie Mellon University
 
    
     
 CMU-ISRI-07-121
 
A Language-based Approach to Specification andEnforcement of Architectural Protocols
 
Kevin Bierhoff, Jonathan Aldrich. Sangjin Han* 
April 2006Reissued December 2007
 
This technical report was drafted under the the numberCMU-CS-06-119 and has been available on the first author's website
 since April 2006. It was officially published, without content changes,
 in December 2007 as CMU-ISRI-07-121.
 
CMU-ISRI-07-121.pdf This report is superceded by Institute for Software Research
 Technical Report CMU-ISR-10-110
 Keywords: Protocol, typestate, software architecture, ArchJava
 Software architecture research has proposed using protocols for 
specifying the interactions between components through ports. 
Enforcing these protocols in an implementation is difficult. This
paper proposes an approach to statically reason about protocol 
conformance of an implementation.
It leverages the architectural guarantees of the ArchJava programming 
language. The approach allows modular reasoning about implementations 
with callbacks, recursive calls, and multiple instances
of component types. It uses a dataflow analysis to check method 
implementations and uses model checking techniques to reason modularly 
about component composition. The approach is limited to static 
architectures but can handle multiple instances for component types 
and arbitrary nesting of components.
 
32 pages 
*Formerly with Carnegie Mellon University.
 |