Presentation is loading. Please wait.

Presentation is loading. Please wait.

..................................... Page 1 AJACS demonstrator Xavier Cornu, Matthias Hawran - Trialog Copyright (c) 2002 J Consortium ®, Inc. All Rights.

Similar presentations


Presentation on theme: "..................................... Page 1 AJACS demonstrator Xavier Cornu, Matthias Hawran - Trialog Copyright (c) 2002 J Consortium ®, Inc. All Rights."— Presentation transcript:

1 ..................................... Page 1 AJACS demonstrator Xavier Cornu, Matthias Hawran - Trialog Copyright (c) 2002 J Consortium ®, Inc. All Rights Reserved J Consortium is a registered trademark in the United States. Java TM is a trademark of Sun Microsystems in the United States and other countries.

2 ............................................... Page 2J consortium meeting - Rennes, 27/28 June 2002 The AJACS Project n Sponsored by the European Community n Consortium –Trialog –PSA (Peugeot-Citroën) –CRF (Centro Ricerche Fiat) –Mecel (technology centre of Delphi) –University of Karlsruhe n www.ajacs.org

3 ............................................... Page 3J consortium meeting - Rennes, 27/28 June 2002 AJACS Objectives n Specification, Development, Demonstration of –An open technology based on Java –For deeply embedded automotive control systems n Industrial viewpoint –Benefit from object orientation structuring / reusability / dependability –WORA (Write Once Run Anywhere) to some extent, robustness –Support of real-time constraints of today ECUs –Single chip approach - Small footprint

4 ............................................... Page 4J consortium meeting - Rennes, 27/28 June 2002 Project Approach n Define Mechanisms and APIs –Based on existing standards in the automotive industry OSEK/VDX - static versus dynamic –Based on existing/future standards concerning real-time Java J consortium HIPA : High Integrity Profile / Automotive n Native Code n 2 automotive demonstrators

5 ............................................... Page 5J consortium meeting - Rennes, 27/28 June 2002 Demonstrator n Demonstrator based on existing elements from PSA (Peugeot- Citroën) n The goal is to show the possibility to integrate Java modules into an existing architecture light comodo Command box horn Windshield wiper Windshield washer BSI BSM battery Power supply 12V - 50A switch 122 cm 90 cm

6 ............................................... Page 6J consortium meeting - Rennes, 27/28 June 2002 BSI n Boitier de Servitude Intelligent or Integrated System Unit n Central node in the Body network BSI LightsHorn Blinker Windshield washer Body network (VAN)

7 ............................................... Page 7J consortium meeting - Rennes, 27/28 June 2002 BSI Value Chain n Specification, Interfaces and Core software (e.g. Scheduler) are provided and maintained by PSA. n Hardware, low-level layers (drivers, …) are supplied by an OEM n Functional modules are provided by third parties (OEMs)

8 ............................................... Page 8J consortium meeting - Rennes, 27/28 June 2002 BSI Software Architecture n Components –Functional Modules –scheduler –OSEK –... n Components interact through well defined interfaces. F1 Vehicle data ILM = BIOS Network communication drivers P A R T # 1 Scheduler Functional Interfaces F2F3F4F5F6F7 OSEK

9 ............................................... Page 9J consortium meeting - Rennes, 27/28 June 2002 BSI Tasking Structure n Execution of applications is based on a proprietary scheduler : each basic job is run at a statically defined frequency Car driverComodoBSILightsLights lamp 50 ms Input flag is set VAN message Output flag is set off on Lights application is executed on the BSI

10 ............................................... Page 10J consortium meeting - Rennes, 27/28 June 2002 BSI Programming Practice n Code is written in C with annotations splits declarative parts and execution parts ensures strict coding rules (one variable has only one producer and may have several readers, …) n Code is preprocessed and transformed in real C n Code is compiled using standard C compilation tools n Code is linked to libraries supplied by PSA n Code is downloaded and executed on the BSI

11 ............................................... Page 11J consortium meeting - Rennes, 27/28 June 2002 Applying Java to the BSI n First case : Writing functional modules in Java –Suppliers deliver applications written in Java. n Typical behavior (for VAN devices): –reads one or several input flags (state of input devices sent via periodic VAN messages) –internal processing –sets one or several output flags (which will change the content of next VAN messages sent to output devices) n Main constraint : – cast Java code in the mould of PSA applications

12 ............................................... Page 12J consortium meeting - Rennes, 27/28 June 2002 Applying Java to the BSI n Second case : Writing the scheduler in Java –in charge of selecting and running functional modules according to a frequency –protects the system against CPU overrun

13 ............................................... Page 13J consortium meeting - Rennes, 27/28 June 2002 Development chain

14 ............................................... Page 14J consortium meeting - Rennes, 27/28 June 2002 Technical Issues n Accessing system data and constants n Integrating the Java compilation chain into the C compilation chain (pre-processing, C compilation...) n Scheduling functional modules written in C

15 ............................................... Page 15J consortium meeting - Rennes, 27/28 June 2002 Accessing System Data n Use of system variables by the Java world –System variables are gathered in a C array –Java world cannot write directly in this array (no pointer) –Java world stores the address and uses C accessor function Java worldC world Initialisation code ReadAddress() WriteValue() Application code call address ReadValue() call Stores address in an “int” (no pointer)

16 ............................................... Page 16J consortium meeting - Rennes, 27/28 June 2002 Accessing Constants n Constants are declared in a separate C file in the PSA architecture n These files are treated before compilation phase by a specific script and transformed into a Java file n Constants then become final static fields of a Java interface

17 ............................................... Page 17J consortium meeting - Rennes, 27/28 June 2002 Example of Access interface PSAConstante {... int A_DdeLanterne50 = PSATools.nReadAddressDSystem(24); short M_DdeLanterne50 = 0x10;... } Constant (bit mask) System variable address

18 ............................................... Page 18J consortium meeting - Rennes, 27/28 June 2002 Example of Functional Module void MALIGHTS50(void) { if (($DdeLanterne50) != 0) { $Toggle(CdeLanterneAVD50); $Toggle(CdeLanterneAVG50); } … } $ Annotation which allows transparent use of bit mask (replaced by & statement by PSA preprocessor) “annotated” C code

19 ............................................... Page 19J consortium meeting - Rennes, 27/28 June 2002 Java Version class a_lights implements PSAConstante {... void MALIGHTS50() { short varA_DdeLanterne= PSATools.nReadValue(A_DdeLanterne50); if((varA_DdeLanterne & M_DdeLanterne50)!=0) { … } Implicitly extending CoreObject Native interface call Address defined in the PSAConstante interface Explicit use of bit mask

20 ............................................... Page 20J consortium meeting - Rennes, 27/28 June 2002 Technology Availability Two packages to be available for evaluation n PC evaluation –Compiler –Minimal run-time n 68336 evaluation kit –Compiler –AJACS run-time –HIPA run-time –OSEK/VDX –68336 board with CAN interfaces


Download ppt "..................................... Page 1 AJACS demonstrator Xavier Cornu, Matthias Hawran - Trialog Copyright (c) 2002 J Consortium ®, Inc. All Rights."

Similar presentations


Ads by Google