The CommUnity Workbench
Abstract
CommUnity proposes a formal approach to software architecture. It uses a parallel program design language in the style of Unity programs (Chandy and Misra, 1988), combining elements from IP (Francez and Forman, 1996). The concepts of software architecture - including configuration, connection, connector, component, instantiation - are clearly defined. CommUnity was initially developed to show how programs fit into Goguen's categorical approach to general systems theory. Since then, the language and its framework have been extended to provide a formal platform for the architectural design of open and reconfigurable systems (Fiadeiro et al., 2003). This paper describes an extension of a previous demo we presented at ICSE'02 (Wermelinger and Oliveira, 2002). This extension concerns: connectors; a graphical mode to visualize and/or update interactions; an expert utility to save the whole architecture or just some connectors as a textual specification which can then be easily read without the tool; the distribution and mobility constructs.