180 likes | 291 Views
Potential thesis projects. Peter Gorm Larsen Professor (ingeniørdocent) at Engineering College of Aarhus. Research Areas. The Vienna Development Method Precise specification notations (VDM-SL and VDM++ Supported by semantic analysis Semantic clarifications combined with tool building
E N D
Potential thesis projects Peter Gorm Larsen Professor (ingeniørdocent) at Engineering College of Aarhus Potential thesis projects
Research Areas • The Vienna Development Method • Precise specification notations (VDM-SL and VDM++ • Supported by semantic analysis • Semantic clarifications combined with tool building • Overture on top of Eclipse • Open source community • International angle • Lots of students can experiment with deltas • In case you are interested TIVDM1 is recommended for Q3. Potential thesis projects
Overture versus VDMTools • VDMTools (http://www.vdmtools.jp/en) • Closed source, proprietary (available under NDA) • Monolithic architecture (single binary), C++ • Optimized for performance, industry strength • Overture Tool project (http://www.overturetool.org) • Open source, GPL license • Plug-in architecture, Eclipse, Java • Optimized for flexibility, targets academic use • (partly) developed using VDMTools Potential thesis projects
The Rose-VDM++ Link Document Generator Code Generators- C++, Java Syntax & Type Checker API (Corba), DL Facility Interpreter (Debugger) Integrity Checker Java to VDM++ VDMTools Overview Potential thesis projects
Connection to standard development environments Code Generators- C++, Java Reverse Engineering support JML coupling UML, SysML AADL Visualisation Support Overture Architecture Overview Validation support Basic automatic checks and GUI Refactoring support OML editor With syntax highlighting Syntax Check Type Check Interpreter (Debugger) With API capabilities Test Generation support AST Eclipse Visualization Support for Execution traces Verification support Pretty Printing With coverage Model Checking support Interactive Proof support Automatic Proof support Proof Obligation generation Currently under development Planned Not yet available Potential thesis projects
Basic automatic checks and GUI External files Eclipse Source GUI Eclipse error GUI Syntax Check Type Check OML editor With Literate programming Refactoring support AST Potential thesis projects
Validation support Eclipse Debugger GUI Eclipse coverage GUI Eclipse visualization GUI External Formats pdf,XML,tex Test Generation support Interpreter (Debugger) With API capabilities Visualization Support for Execution traces Pretty Printing With coverage logfile AST Potential thesis projects
Verification support Eclipse Counter example GUI Eclipse Interactive proof GUI External Prover HOL4 Eclipse Proof obligation GUI Model Checking support Interactive Proof support Automatic Proof support Proof Obligation generation POGs AST Potential thesis projects
Other development environments External Source Code External Development Environment External Visualisation Tools Code GeneratorsC++, Java Reverse Engineering support JML coupling UML, SysML AADL Visualisation Support AST Potential thesis projects
modified java classes JAVA interfaces sed script ASTGEN sed VDM++ classes java classes VDMTools Automatic AST generation • specified in VDM++ • code generated “implements” OVERTURE AST spec (VDM-SL subset) other users can use these specs to specify their own OVERTURE extensions (in VDM++) Potential thesis projects
Support for language experiments • Generic recipe to follow: • Change the AST definition • Re-generate the AST (AstGen & VDMTools) • Modify the scanner / parser (jflex, byaccj) • Recompile java code • Turn-around time: • 2 hours (minor changes) • 1 day (larger changes) Potential thesis projects
Support for tool development (1) • The (preferred) VDM++ recipe • Take the AST VDM++ “interfaces” (IOml*) as is • Take VDM++ class “OmlVisitor” • Refactor (rename) this class • Specify the required functionality directly in VDM++ • Validate the specification using VDMTools • Generate the Java implementation using VDMTools • Compile and integrate into Eclipse plug-in Potential thesis projects
Support for tool development (2) • Alternate Java recipe • Take the AST Java interface classes • Take the OmlVisitor.java code template • Refactor (rename) this class • Write your tool directly in Java • Compile and integrate into Eclipse plug-in Potential thesis projects
The Active VDM Community • VDM Portal (http://www.vdmportal.org/) • The CSK VDM Group • The Overture Open-Source Initiative • On top of Eclipse platform (http://www.overturetool.org) • Regular net meetings • Academic collaboration • MSc theses: (DK) type checker (DK), interpreter (Por), proof support (NL), test automation (Portugal), JML combination (Portugal), proof obligation generation (Portugal) • Pacemaker grand challenge Potential thesis projects
Front-end GUI VDMTools Proof Support Overview VDMTools Proof obligation generator Translator PROSPER proof-engine VDM-SL Theories VDM-SL Proof support Potential thesis projects
Potential Test Automation • VDMTools modeling and testing process • executable model designed • test cases for the model developed • the model verified Interfaces designed and verified • VDM++TesK process • constraints specified • test suite designed • Regression testing infrastructure built VDM model design iterations The target software is evolving Potential thesis projects
The Pacemaker Challenge • A Safety-Critical Application • Report over project made by Hugo Macedo • 4 different models made in VDM • High-level VDM-SL model • Sequential VDM++ model • Concurrent VDM++ model • Real-time distributed VDM++ model • Follow VICE Guidelines + new validation conjectures over timed traces • http://www.cas.mcmaster.ca/sqrl/pacemaker.htm Potential thesis projects
Jasper Nygaard and Rasmus Sørensen Analyzing VDM++ Real-Time modeling precision in a Distributed System using a Proof Of Concept Implementation Potential thesis projects