Two courses on vdm for embedded systems learning by doing
Download
1 / 11

Two courses on VDM++ for Embedded Systems: Learning by Doing - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

Two courses on VDM++ for Embedded Systems: Learning by Doing. Professor Peter Gorm Larsen Engineering College of Aarhus Computer Technology & Embedded Systems ([email protected]). Background of Students. Students at MSc level but with an BSc in Engineering of embedded systems as background

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Two courses on VDM++ for Embedded Systems: Learning by Doing' - jillian


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Two courses on vdm for embedded systems learning by doing l.jpg

Two courses on VDM++ for Embedded Systems: Learning by Doing

Professor Peter Gorm Larsen

Engineering College of Aarhus

Computer Technology & Embedded Systems

([email protected])

August 2006


Background of students l.jpg
Background of Students

  • Students at MSc level but with an BSc in Engineering of embedded systems as background

  • Practically oriented

  • Limited introduction of proof and abstraction

  • Course is meant to provide them skills for precision and abstraction

VDM++ Courses for Embedded Systems


Vienna development method l.jpg
Vienna Development Method

  • Invented at IBM’s labs in Vienna in the 70’s

  • VDM-SL and VDM++

    • ISO Standardisation of VDM-SL

    • VDM++ is an object-oriented extension

  • Model-oriented specification:

    • Simple, abstract data types

    • Invariants to restrict membership

    • Functional specification:

      • Referentially transparent functions

      • Operations with side effects on state variables

      • Implicit specification (pre/post)

      • Explicit specification (functional or imperative)

VDM++ Courses for Embedded Systems


Teaching material l.jpg
Teaching Material

  • John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat and Marcel Verhoef: Validated Designs for Object-oriented Systems. Springer Verlag, 2005.

  • Development Guidelines for Real-Time Systems Using VDMTools, CSK public document 2006

  • Tool used during the course http://www.vdmbook.com/tools.php

  • Rational Rose for UML models

VDM++ Courses for Embedded Systems


Course delivery l.jpg
Course Delivery

  • Contact with the teacher

    • Tuesdays 14:30 – 15:45 (I present theory)

    • Thursdays 13:00 – 15:45 (students present their projects)

    • Students read in advance of each lecture

  • Combination of

    • Strategy for lessons: quick intro to concepts and then usage in larger examples

    • Projects where theory is turned into practice

    • Using VDMTools for projects

  • Exam form

    • 15 minutes oral examination without preparation + 5 minutes for evaluation

    • Oral examination will be centered around projects performed

    • Projects will be reused and extended further in the second course

VDM++ Courses for Embedded Systems


Structure of the first course l.jpg
Structure of the first course

  • Introduction and development process

  • VDMTools and logic

  • Defining data and functionality

  • Modeling using unordered collections

  • Modeling using ordered collections

  • Modeling relationships

  • Course evaluation and revision

VDM++ Courses for Embedded Systems


Projects selected by students l.jpg
Projects selected by students

  • SAFER

  • Production Cell

  • Cash Dispenser

  • CyberRail

  • Car radio navigation system

  • Self navigating vehicle

  • Personal Medical Unit

VDM++ Courses for Embedded Systems


Milestones for projects l.jpg
Milestones for Projects

  • Week 2: Reading existing material about the project and formulating a new requirements definition for the project to undertake with focus on the purpose of the model to develop

  • Week 3: Complete UML class diagram for the project with signatures for operations/functions

  • Week 4+5: Model and validate functionality using VDM++

  • Week 6: Project report is handed in to the teacher

  • Week 7: Evaluation of insight gained by using the model-driven approach combining VDM++ and UML

VDM++ Courses for Embedded Systems


Structure of the second course l.jpg
Structure of the second course

  • Model Structuring and Combining Views

  • Concurrency in VDM++

  • Real-time modelling in VDM++ (over two weeks)

  • Distributed systems in VDM++

  • Model Quality

  • Course evaluation and revision

VDM++ Courses for Embedded Systems


The second course will use new vdm extensions l.jpg
The second course will use new VDM++ extensions

  • Developed by Marcel Verhoef and me

  • Presented at FM’06 conference

  • Enable VDM++ to describe and analyse distributed real time systems

VDM++ Courses for Embedded Systems


Concluding remarks l.jpg
Concluding Remarks

  • It has been possible to extend VDM++ for more embedded and distributed systems

  • “Learning by doing” has been successful

  • Tool support is essential

  • The students have acquired new skills

  • If they don’t use it directly afterwards at least new good principles have been incorporated

  • Fetch course material at http://www.vdmbook.com/teach.php

VDM++ Courses for Embedded Systems


ad