170 likes | 302 Vues
The Visual Interface for Promela (VIP) is a GUI-based tool designed for editing and maintaining v-Promela models. Developed at the University of Waterloo, VIP offers a visual notation for representing the structure and behavior of concurrent, object-based systems, ensuring 90% compatibility with UML-RT. It includes a compiler that translates v-Promela into Promela code and supports various features like abstraction, hierarchy, and state machine definitions. Currently in beta, VIP is expected to be publicly available under a GNU-type license this Fall/Winter.
E N D
VIP: A Visual Interface for Promela Stefan Leue University of Waterloo sleue@uwaterloo.ca http://fee.uwaterloo.ca/~sleue September 21, 1999
Joint work with Moataz Kamel
Visual Interface for Promela (VIP) • Based on v-Promela [Holzmann, Leue] • visual notation for describing structure and behaviour of concurrent, object-based systems • 90% compatible with UML-RT (ROOM in UML’s clothes) • incorporates Promela features • supports abstraction and hierarchy • can be compiled into Promela code • VIP • GUI-based tool for editing and maintaining v-Promela models • v-Promela to Promela compiler
Visual Interface for Promela (VIP) v-Promela(UML-RT) VIP (Currently: JAVA Serialization planned: XML)
VIP • Implemented in JAVA, using SDK 1.2 • Approximately 0.5 man-year • Currently beta-beta version 0.8999 • Expected to be publicly available this Fall/Winter (under GNU-type license) • Contact: sleue@uwaterloo.ca m2kamel@uwaterloo.ca
VIP vs. v-Promela/UML-RT • No capsule instance replication • No dynamic instantiation/termination of capsule instances • Only one-directional connectors and protocols • Capacity per connector, not per port
VIP/v-Promela vs. UML-RT • Synchronizers and buffers • Flexible transition priority semantics • Capacities attached to connectors, not ports
Conclusions • Goals for furture research: • definition/implementation of linear form • support for compositional verification • notations for expressing requirements • end states • progress labels • pre-/post conditions, invariants, link to OCL • automata notations • tables • LTL properties • interval logics • Message Sequence Charts • simulation capability inside VIP • synthesizing models in related notations • ROOM/UML-RT (ObjecTime) • UML class diagrams • …