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

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

CSE 105 Structured Programming Language (C)
Programming Languages and Paradigms
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Lab#1 (14/3/1431h) Introduction To java programming cs425
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Smart-Sensor Infrastructure in the IPAC Architecture V.Tsetsos 1, V. Papataxiarhis 1, F.Kontos 1, P.Patelis 2, S.Hadjiefthymiades 1, E.Fytros 2, L.Liotti.
Chapter 13 Embedded Systems
Copyright © 2002 Pearson Education, Inc. Slide 4-1 Choosing the Hardware for an E-commerce Site  Hardware platform  Refers to all the underlying computing.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Guide To UNIX Using Linux Third Edition
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
COP4020 Programming Languages
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Java Software Solutions Lewis and Loftus Chapter 2 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Software Concepts -- Introduction.
Software Architecture in Practice (3rd Ed) Introduction
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Chapter Introduction to Computers and Programming 1.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
TRIALOG 25 rue du Général Foy F Paris - France Tel Fax url:
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Chapter 7 Java Server Pages. Objectives Explain how the separation of concerns principle applies to JSP Describe the operation and life-cycle of a JSP.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Page 1 AJACS and HIP/Automotive Antonio Kung - Trialog Copyright (c) 2002 J Consortium ®, Inc. All Rights Reserved.
Porting Implementation of Packet Utilization Standard from ADA to JAVA Annelie Hultman (TEC-EME) Donata Pedrazzani (TEC-EMS) ESA/ESTEC 2004 JPUS de-briefing.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
Chapter 1 : The Linux System Part 1 Lecture 1 10/21/
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Today… “Hello World” ritual. Brief History of Java & How Java Works. Introduction to Java class structure. But first, next slide shows Java is No. 1 programming.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Quick Review of OOP Constructs Classes:  Data types for structured data and behavior  fields and methods Objects:  Variables whose data type is a class.
Brief Version of Starting Out with C++ Chapter 1 Introduction to Computers and Programming.
CLASSES AND OBJECTS Chapter 3 : constructor, Separate files, validating data.
Chapter 1: Introduction to Computers and Programming.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 15: Java Basics Fundamentals of Web Programming.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Operating Systems A Biswas, Dept. of Information Technology.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Computer System Structures
Computer System Structures
Object Oriented Programming in
Before You Begin Nahla Abuel-ola /WIT.
Current Generation Hypervisor Type 1 Type 2.
Introduction to Advanced Java Programming
CASE STUDY 1: Linux and Android
Introduction Enosis Learning.
Introduction Enosis Learning.
Lecture Topics: 11/1 General Operating System Concepts Processes
Analysis models and design models
Introducing Java.
Presentation transcript:

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.

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

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

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

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

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)

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)

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

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

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

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

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

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

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

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)

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

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

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

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

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 evaluation kit –Compiler –AJACS run-time –HIPA run-time –OSEK/VDX –68336 board with CAN interfaces