150 likes | 302 Views
MERIDIAN and RAPIDware (and other SENS projects). Dr. Betty H.C. Cheng Software Engineering and Network Systems Lab Michigan State University www.cse.msu.edu/SENS www.cse.msu.edu/Meridian Project Investigators: Cheng, Dillon, McKinley, Stirewalt, Kulkarni Project Sponsors:
E N D
MERIDIAN and RAPIDware(and other SENS projects) Dr. Betty H.C. Cheng Software Engineering and Network Systems Lab Michigan State University www.cse.msu.edu/SENS www.cse.msu.edu/Meridian • Project Investigators: Cheng, Dillon, McKinley, Stirewalt, Kulkarni • Project Sponsors: • Meridian: National Science Foundation, EIA-0000433, • RAPIDware: Office of Naval Research
Increasing interest fueled by: • The World-Wide Web. • Middleware technology (e.g., CORBA, DCOM, JavaBeans). • New network services and protocols. Interactive Distributed Applications Interact with users; processing/data distributed across network. • Examples: • On-board driver/pilot navigation systems. • Computer-supported collaborative work environments. • Distributed interactive simulation.
Characteristics of IDAs • Interactivity: • Must interact with one or more human users. • Design requires prototyping and experimentation. • Concurrency: • Comprise levels of communicating, concurrent components. • Analysis requires formal reasoning. • Reuse: • IDAs built primarily from reusable components. • E.g., comm. protocols, resource managers, data displays. • Design involves selecting/specializing components.
Research goals • Improve quality of IDAs. • Better IDAs (reliable, maintainable, extensible). • Better development (faster, cheaper). • Advance state of automated software-engineering (ASE) practice. • Incorporate ASE techniques into mainstream development. • Apply various formal methods in a new domain. • Identify end-to-end automation techniques that take advantage of multiple phases of development.
Practical goals • To have techniques adopted in practice: • Must complement existing design methods and notations. • Otherwise, acceptance must overcome stiff economic hurdles. • Implications: • Designers should not reformulate designs in a formal notation. • Designers should not have to view the output of a formal analysis tool. • We chose (UML) for representing IDA designs.
IDA Reuse Repository IDA External Parameters IDA Interface Requirements IDA Models IDA Constraints Refined Specifications Specifications Code Requirements Feedback User Test Cases Meridian Vision Design Processing Specification Analysis Testing/ Simulation Model Editing
Enabling Technologies • Formal representations throughout development process: • facilitates requirements analysis and traceability, • enables reasoning about concurrency properties, and • supports reuse. • Visualization insulates designers from formal representations. • Code generation/selection synthesizes systems from models. • Simulation/prototyping tests non-functional requirements • (e.g., usability, responsiveness, etc.)
Model Editor • Supports editing of UML models. • Incorporates reusable IDA models. • Generates formal representations of the models • Supports automated analysis of graphical models • Minerva: graphical/viz utility • Hydra: generation of formal specifications
Tool suite (cont’d) • Temporal Analyzer: Augments UML models with temporal constraints. • Graphical spec of timing constraints
Tool Suite (cont’d) Design Processor: • How to refine UML models to include design information. • Incorporates architectural assumptions. • Make use of IDA frameworks • Including “meta-frameworks” • Generates code and selects reusable components • Adapts components to satisfy interface constraints • Checks consistency between refinements
Reuse Environment • Supports browsing/selection from reuse repositories. • Component-based: • Index components by formal specs • Search and retrieve based on specs
Tool Suite (cont’d) IDA Simulator: • Executes generated code over network simulator.
Host Host Socket-Level API Socket-Level API OS Module OS Module NIC NIC Process Thread Placement Module Application Code Host/Network Configuration File Network Module (Routing Domains, Wired/Wireless Channels, Routers, Wireless Access Points, etc.) Emulation/Simulation of Synthesized Components • MX simulator being developed to support simulation of code that is identical to that used in experiments • Provides socket-level system call interface • Currently supports C++ and will eventually support Java
Case Studies • Web-based multiparty applications: • WebClass/Pavilion: web-based collaborative environment (Michigan State University) • NetMapper: network management utility. (Texas Instruments) • On-board control systems: • Automotive applications (e.g., cruise control, steering, Siemens Automotive) • Fault protection system (NASA/JPL). • Wireless telecommunication services: • Emergency telecomm services implemented over a digital radio infra-structure. (Motorola)
Contributions • Enable high-quality IDA development. • Extend visual development to encompass formal reasoning. • Support reuse at many levels of abstraction using a common notation: the UML modeling language(s). • Integrate formal analysis and testing/simulation. • Automation techniques that span multiple development phases. • E.g., using formal verification of generated code to validate an informal refinement.