This is joint work with Dr. Gail E. Kaiser of Columbia University.
WPI Personnel include:
EXTRACT/AIDE (PDF, DOC)
SoftViz (PDF, DOC)
Original KX slide (PPT)
We have initiated partnerships with Nathan Combs of BBN.
Columbia University and
Worcester Polytechnic Institute (WPI) jointly propose a standards-based approach
to runtime monitoring - i.e., continual validation – regarding the dynamic
functional and extra-functional properties of component-based systems. In their
proposed kinesthetic gauging model, software probes are inserted or wrapped into
component ports and actualized connector middleware, to report system events
that cross/impact component and connector boundaries. Required and prohibited
properties are defined by domain experts as (potentially complex) patterns over
collections of events. The monitoring infrastructure enables domain- and/or
tool-specific recognizers to detect the occurrence or omission of these patterns
as the target system executes. Properties can be specified as enumerated (e.g.,
true/false) or numerical gauges, or via more sophisticated representations that
provide contextual information about anomalous conditions (e.g., a partial match
against a multi-component communication protocol modeled by a state machine).
Gauges can present to automated decision systems, to ADL toolkits, or to
human-oriented GUIs. Optional (un)desirable properties might identify patterns
that foreshadow impending problems, e.g., to trigger preemptive reconfiguration,
or indicate that intended runtime architectural transformations have
successfully completed. Probes could also insert anomalous events for diagnostic
purposes.
The monitoring probes provide the entry points to the proposed kinesthetic gauging infrastructure, orthogonal to the target system’s architecture, wherein system events and pattern specifications propagate/deploy across “active connectors” whose nodes perform the recognition and processing. Raw events are converted to “smart events” represented in FleXML, a stream-oriented variant of the eXtensible Markup Language (XML) standard. An event stream out of one probe becomes a FleXML stream; event streams from multiple dispersed probes become interleaved into partially ordered sets (posets) on the universal event bus aggregating the active connectors. Active connectors parse the posets and validate against Document Type Definition (DTD) fragments. In addition to heading conventional meta-data (e.g., source host, timestamp), FleXML smart event markup tags are interpreted to package for later data mining, distill according to dynamically adjusted criteria, and notify gauges of updates. Tag attributes may directly carry the (mobile) code, describe where to find it, or – most flexibly - allowing for dynamic lookup via a “known” directory. New event vocabularies and properties – i.e., new tag(set)s (and attributes) along with their DTD fragments and processing modules - can be defined and deployed at runtime. This dynamism enables new event annotations, analyses and gauges to be constructed, and presented and acted upon, while a system is running - with no “down time” or significant reconfiguration solely to retrofit the monitoring infrastructure. (Of course, a human or automated decision agent may respond to measured conditions by reconfiguring the target system or halting its operation.) The interoperability among autonomously devised tagsets neatly addresses components from independent sources, as well as analysis by legacy tools. Columbia and WPI plan to employ existing ADL systems (particularly Acme [GMW97]), build upon existing open source XML tools, retain compatibility with existing component frameworks, and experimentally integrate their prototype Kinesthetics eXtreme (KX, pronounced “kicks”) infrastructure together