In our work with legacy information systems, we have found two prevalent anti-patterns-tight coupling and code pollution-which, if not addressed in replacement systems, could result in today's new systems simply becoming tomorrow's new legacy system. Tight coupling results from Explicit Invocation across collaborating components. Code pollution results from implicit (rather than explicit) reflection of time-ordered collaboration protocols. These anti-patterns diminish component maintainability, flexibility, and reusability. In response, we propose a synthesis of Implicit Invocation (which reduces tight coupling) and Statecharts (which reflect collaboration protocols directly). The paper describes the development of EventPorts, which realize this synthesis and thus encapsulate a novel and promising component collaboration technology.
展开▼