370 likes | 387 Views
Explore the methodology for autonomizing legacy systems and building autonomic systems-of-systems. Learn about decision controllers, four-tiered infrastructure, and architectural model-based analysis for efficient system upgrades.
E N D
Autonomizing Legacy Systems Gail Kaiser Programming Systems Lab Columbia University
The Legacy We Want The Legacy We Get Gail Kaiser/Columbia University
Not Just Systems But System of Systems
Systems of Legacy Systems • Methodologies and technologies are being devised for building new autonomic systems, but these often do not apply so nicely to legacy components • Autonomic capabilities are needed in “systems of systems” assembled from existing components • We propose one approach to autonomizing legacy systems and assembling autonomic systems-of-systems Gail Kaiser/Columbia University
Who is “We”? • Bob Balzer and Dave Wile, Teknowledge • Nathan Combs, BBN • David Garlan and Bradley Schmerl, CMU • George Heineman, WPI • Gail Kaiser, Columbia University • David Wells and Paul Pazandak, OBJS • And colleagues and students Others welcome to Join! Gail Kaiser/Columbia University
Outline • Retrofitting Autonomicity • Common Infrastructure • Probes • Gauges • Coordinated Effectors • Architectural Model-based Analysis & Decision • Progress & Contributions • Other PSL projects towards Autonomic Computing Gail Kaiser/Columbia University
Retrofitting Autonomicity • Inserting adaptation (self-xyz) mechanisms into existing application code is difficult, error-prone and costly, and hard to reuse or reason about • We seek to enable autonomic properties through a solution orthogonal to the legacy systems’ main business logic and communication framework • Introduce common external infrastructure • This infrastructure becomes an integral part of the system-of-systems’ “self”, co-existing and cooperating with the systems’ functional mechanisms Gail Kaiser/Columbia University
Decision Controllers Gauge Bus Interpretation Gauges Architectural Models Collection Probe Bus Probes Running System Configuration Effectors Gail Kaiser/Columbia University
Four-tiered Infrastructure • Data is collected from a running system instrumented with non-invasive probes • Gauges map the probe data into the system architectural model as well as into a metric model • The “decision & control” layer analyzes implications of the interpreted data on overall system functionality and performance, and determines whether/when/how to • Deploy new (or disable existing) gauges and probes, and/or • Deploy software effectors to reconfigure or adapt individual components and/or major substructures of the system • Effectors make the actual changes Gail Kaiser/Columbia University
Key Point • Augment system-of-systems with a decentralized decision & control mechanism that can specify and manage both local optimizations and full-system reconfigurations • Decentralized process/workflow definition and enactment Gail Kaiser/Columbia University
Kinesthetics eXtreme (KX) • Columbia PSL’s implementation of Common Infrastructure • Currently missing architectural modeling, so usable but limited • Most of KX can be downloaded from http://www.psl.cs.columbia.edu/software.html • KX is being applied for load balancing, etc. in Telecom Italia Lab’s heterogeneous instant messaging and ISI’s open information geographical analysis system (GeoWorlds) Gail Kaiser/Columbia University
Probes & Gauges • Active Interfaces Development Environment (AIDE, WPI) inserts callback probes into Java source code • Probelets are Worklets mobile agents, so only WVM needs to be pre-installed • Smart Events proposed standard XML Schema (with OBJS) for infrastructure communication • XUES (XML-based Universal Event Service) • Event Packager transforms legacy probe output, logs & replays event streams • Event Distiller recognizes complex temporal event patterns, interfaces to decision and to gauge visualizers Gail Kaiser/Columbia University
Coordinated Effectors • Workflakes structures decentralized workflow through plugins on top of Cougaar blackboard (with BBN) • Selects, customizes, instantiates, dispatches and coordinates Worklets mobile agents, to make local adaptations and more global reconfigurations • Currently missing workflow notation, now just Java Gail Kaiser/Columbia University
Adding Architectural Model-based Analysis & Decision Capabilities • Acme is a proposed standard architecture description language (CMU, Teknowledge, et al) • Extensible with various annotation schemes, e.g., for architectural styles and constraints • Dynamic Acme will explicitly model architectural changes and monitor style/constraint compliance • Infer architectural descriptions from observed application behavior • Map architectural model repairs into implementation level modifications • Construct architecture-based repair strategies and translate into repair tactics managed by workflow engine and accomplished by effectors Gail Kaiser/Columbia University
Progress • Multiple probe technologies interchangeable with common API • ProbeMeister (OBJS) instruments Java byte code • Instrumented Connectors (Teknowledge) instruments DLLs • Currently integrating multiple gauge technologies with common API Gail Kaiser/Columbia University
Next Steps • Define strawman decision & control API, disseminate, iterate • Architectural modeling throughout • Architecture-based probe placement • Generate Gauge templates from Acme • Augment Acme with “architecturally significant implementation-level events” (ASILEs) • Choose or develop workflow interchange language between Tailor (CMU) and Workflakes Gail Kaiser/Columbia University
Expected Contributions • Approach to autonomizing legacy systems and systems of systems • Common autonomic infrastructure that can easily be internalized • Standard schemas and APIs for probe, gauge and decision layers • Reference implementation Gail Kaiser/Columbia University
Conclusions • Peek at what the software engineering research community is doing towards Autonomic Computing • Focus on legacy systems and systems of systems as well as methodologies and technologies for building new systems from scratch Gail Kaiser/Columbia University
Common Themes Across PSL’s Other Related Research • Decentralized Processes (Workflows) • “Contextualization” • Alliances (Treaties and Summits) • Survivability and Multi-Level Security Gail Kaiser/Columbia University
Air-Force Army Navy Sharedservices DISCUS Higher Security Summit Imposing Treaties Transportation Lower Security Summit to alert News-Media
Decentralized Information Spaces for Composition and Unification of Services (DISCUS) • Successor to OzWeb • Builds on WebServices • (Relatively) Static Service Spaces • Dynamic Summits • Gatekeepers impose Treaties as to whether/how Summits can use Service Space services • Workflow coordinates services
Survivor 007 Gail Kaiser/Columbia University
Survivor 007 • Successor to Survivor NG (Next Generation) built by modifying the Naval Research Lab’s MLS Workflow System • Uses Worklets mobile agents to locate and recruit task processors dynamically and deliver tasks (including pumping, synchronization, compensating tasks) • Multi-mirrored workflow state and data • Considers possibilities of network partitioning and disabling of rogue task processors Gail Kaiser/Columbia University
Memento • Successor to CHIME (Columbia Hypermedia IMmersion Environment) and AI2TV (Adaptive Interactive Internet Team Video) • Project physical meeting spaces into 3D Collaborative Virtual Environment • Project CVE information spaces into Large Displays & other devices in physical spaces • Continually augmented and reorganized contextbase using NLP and video summarization and clustering technologies Gail Kaiser/Columbia University