Contemporary software systems comprise many heteroge- neous artifacts; some expressed in general programming languages, some in visual and textual domain-specific languages and some in ad hoc textual formats. During construction of a system diverse artifacts are interrelated. Only few formats, typically general programming languages, provide an interface description mechanism able to specify software com- ponent boundaries. Unfortunately, these interface mechanisms can not express relations for components containing heterogeneous artifacts. We introduce Tengi, a tool that allows for the definition of software components containing heterogeneous artifacts. Tengi interfaces link components containing different textual and visual software development artifacts ranging from high-level specification documents to low-level implementation documents. We formally define and implement Tengi interfaces, a component algebra and operations on them and present a case study demonstrating Tengi’s capabilities.
Lecture Notes in Computer Science, 2012, Vol 7680, p. 431-447