User:Jens/Code generation Using Flow Analysis: Difference between revisions

From Event-B
Jump to navigationJump to search
imported>Jens
New page: == Concurrent Embedded Programs from Event-B Models == We propose a method for concurrent program development in Event-B. The final step of the method, code generation, is fully automati...
 
imported>Jens
 
Line 4: Line 4:
The final step of the method, code generation, is fully automatic  
The final step of the method, code generation, is fully automatic  
so that the user is concerned only with formal Event-B models but  
so that the user is concerned only with formal Event-B models but  
not with code generation. The target architecture is AUTOSAR, a
not with code generation. The target architecture is [http://www.autosar.org/ AUTOSAR], a
cooperative concurrent real-time architecture used in the automotive
cooperative concurrent real-time architecture used in the automotive
industry: programs consist threads that are split into blocks,  
industry: programs consist threads that are split into blocks,  

Latest revision as of 16:46, 20 October 2009

Concurrent Embedded Programs from Event-B Models

We propose a method for concurrent program development in Event-B. The final step of the method, code generation, is fully automatic so that the user is concerned only with formal Event-B models but not with code generation. The target architecture is AUTOSAR, a cooperative concurrent real-time architecture used in the automotive industry: programs consist threads that are split into blocks, called runnables. These runnables are executed concurrently by an embedded operating systems. From this description we see that we immediately face two problems: how to decompose into threads and how to specify runnables.

Following the method of sequential program development proposed by Abrial, the entire development takes place in Event-B only applying a method for thread and runnable decomposition. Our approach uses formal control flow analysis to compose programs from events on the way removing automatically abstract program counters from the Event-B model.

In order for the method to work four techniques need to be developed:

  1. thread decomposition
  2. runnable decomposition
  3. control flow analysis
  4. event composition

Concerning 1. and 2. we can rely on existing work on (concurrent) decomposition. Concerning 3. we have made preliminary experiments that look promising, and 4. has been developed by Abrial.