MERIDIAN and RAPIDware (and other SENS projects)Interactive Distributed ApplicationsCharacteristics of IDAsResearch goalsPractical goalsMeridian VisionEnabling TechnologiesModel EditorTool suite (cont’d)Tool Suite (cont’d)Reuse EnvironmentSlide 15Emulation/Simulation of Synthesized ComponentsCase StudiesContributions1MERIDIAN and RAPIDware(and other SENS projects)Dr. Betty H.C. ChengSoftware Engineering and Network Systems LabMichigan State Universitywww.cse.msu.edu/SENSwww.cse.msu.edu/MeridianProject Investigators: Cheng, Dillon, McKinley, Stirewalt, KulkarniProject Sponsors: Meridian: National Science Foundation, EIA-0000433, RAPIDware: Office of Naval Research3Increasing interest fueled by:•The World-Wide Web.•Middleware technology (e.g., CORBA, DCOM, JavaBeans).•New network services and protocols.Interactive Distributed ApplicationsExamples:On-board driver/pilot navigation systems.Computer-supported collaborative work environments.Distributed interactive simulation.Interact with users; processing/data distributed across network.4 Characteristics of IDAsInteractivity: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.6 Research goalsImprove 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.7 Practical goalsTo 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.8Meridian VisionModel EditingSpecificationAnalysisDesignProcessingTesting/SimulationIDA Models IDA ConstraintsIDA Interface RequirementsIDA ReuseRepositoryIDA ExternalParametersSpecificationsRefinedSpecificationsCodeFeedbackUserRequirementsTest Cases9 Enabling TechnologiesFormal representations throughout development process:facilitates requirements analysis and traceability,enables reasoning about concurrency properties, andsupports 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.)11Model EditorSupports editing of UML models.Incorporates reusable IDA models.Generates formal representations of the modelsSupports automated analysis of graphical modelsMinerva: graphical/viz utilityHydra: generation of formal specifications12 Tool suite (cont’d)Temporal Analyzer: Augments UML models with temporal constraints.Graphical spec of timing constraints13Tool Suite (cont’d)Design Processor: How to refine UML models to include design information.Incorporates architectural assumptions.Make use of IDA frameworksIncluding “meta-frameworks”Generates code and selects reusable componentsAdapts components to satisfy interface constraintsChecks consistency between refinements14Reuse Environment Supports browsing/selection from reuse repositories.Component-based: Index components by formal specsSearch and retrieve based on specs15Tool Suite (cont’d)IDA Simulator: Executes generated code over network simulator.21Emulation/Simulation of Synthesized ComponentsHost/NetworkConfigurationFileApplicationCode ProcessThreadPlacementModuleOS ModuleSocket-LevelAPIHostNICNetwork Module (Routing Domains, Wired/Wireless Channels,Routers, Wireless Access Points, etc.)OS ModuleSocket-LevelAPIHostNICMX simulator being developed to support simulation of code that is identical to that used in experimentsProvides socket-level system call interfaceCurrently supports C++ and will eventually support Java23 Case StudiesWeb-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)26 ContributionsEnable 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
View Full Document