Programming CAN-based Fieldbus Systems using Java

Size: px
Start display at page:

Download "Programming CAN-based Fieldbus Systems using Java"

Transcription

1 Title Programming CAN-based Fieldbus Systems using Java Manuel Joaquim Pereira dos Santos, Ricardo José Caetano Loureiro Universidade de Aveiro, Aveiro, Portugal, Helmut Dispert Department of Computer Science and Electrical Engineering, Kiel University of Applied Sciences, Kiel, Germany

2 Contents 1. Introduction: Embedded Intelligent Devices 2. Java in Embedded Control: e.g.: Java Servlet Technology (the Embedded Java Controller - EJC) 3. Java and Native Code

3 Evolution The evolution of embedded intelligent devices is driven by technological advancements: low cost microprocessors and peripheral devices Internet Java programming language Examples: new hardware platforms (e.g. Strong ARM architecture) Internet and the HTTP to access devices Development of robust and reliable software using Java.

4 Opportunities Sun Microsystems, Inc.: "Combining the strengths of these (new) technologies, there is a huge market opportunity for companies that discover how to leverage the benefits of Java technology on embedded devices."

5 Java Solution: A New Paradigm: Write once, run anywhere Java

6 Java History of Java (true story) 1990: A small group is formed at Sun Microsystems with the task to think about the future of multimedia in private households. Group Member: James Gosling Idea: develop a generic and simple programming language to implement intelligent electronic devices (household). Embedded Programming

7 Java Why Java? Object-oriented (encapsulation, polymorphism, inheritance), No multiple inheritance, Platform independent bytecode, Java primitive data types have fixed sizes, Automatic run-time bounds-checking, True Boolean type, No pointer programming, Automatic garbage collection, Language support for multithreaded applications.

8 Java in Embedded Systems Java Usage Models: The proposed Java usage models fall into one of four categories: No Java Embedded Web Server Java Embedded Applet Java Application Java

9 Java in Embedded Systems These models are distinguished by two binary variables: location of the stored Java bytecodes the processor on which the bytecodes are executed These variables can take one of two values: target (the embedded system) host (a general-purpose computer attached to the embedded system) Ref.: Michael Barr

10 Java in Embedded Systems Host Host Host Host Java Java Target Target Target Target Java Java No Java Embedded Web Server Embedded Applet Application Ref.: Michael Barr

11 Java 2 Platform Profile Profile Profile Profile Java Java 2 Enterprise Edition (J2EE) Core Core APIs APIs Profile Profile Profile Profile Java Java 2 Standard Edition (J2SE) Core Core APIs APIs Java 2 Platform, Micro Edition (J2ME) encompasses VMs and core APIs specified via Configurations as well as vertical or market-specific APIs specified in Profiles. TV TV Screen Screen Car Profile Profile Phone Phone Profile Car Profile Profile Profile Personal Personal Profile Profile Mobile Information Mobile Device Information Profile Device Profile Java Java 22 Micro Micro Edition Edition Core Core APIs APIs Smart Card Smart Profile Card Profile Java Java Programming Language Java Java HotSpot HotSpot Java Java Virtual Virtual Maschine Maschine (JVM) (JVM) KVM KVM Card Card VM VM

12 Java Application Environments Desktop OS Enterprise Servers Mainframes RTOS Vendors Set-top boxes PDAs ScreenPhones Hi-end mobile phones Internet TV Car navigation Industrial Controllers Intrumentation Automotive Printers Hi-end Pagers Mid-range Phones SmartCards Java Ring Java AE Personal Java AE Embedded Java AE Java Card

13 Java 2 Platform Editions JavaCard Java Technology Enabled Devices Java Technology Enabled Desktop Workgroup Server High-End Server Micro Edition Standard Edition Enterprise Edition

14 Java Application Portability: 1. mechanism for executing Java bytecodes on any processor 2. common set of class libraries

15 Java Development Cycle Compile-time Environment Java Source (.java) Run-Time Environment (Java Platform)Environment Class Loader Bytecode Verifier Java Classes Libraries Java Compiler Java Interpreter Just-in-Time Compiler Virtual Java Machine Java Bytecode (.class) Run-Time System Operating System VM Hardware

16 Java Architecture Java Programming Language Compiled Byte Code The Java Architecture 1. Programming Language 2. Virtual Machine (VM) 3. API Java Runtime System Virtual Machine Java API Operating System Computer Hardware

17 Access Hardware using Java The basic idea of embedded control is to directly access hardware level properties: Registers, I/O-interfaces, sensors, actuators, etc. Problem Basic Properties of Java: Platform independent bytecode, No pointer programming, Automatic garbage collection,

18 Access Hardware using Java Solutions: Use dedicated hardware platform, dedicated OS and dedicated Java VM. Example: Snijder Embedded Java Controller (EJC). see: 1st Int. Workshop, Vaasa, 2002 Use native languages that allow access to hardware level functions.

19 Java - Jbed VM Glue Code VM Browser Glue Code VM OS OS Glue Code RTOS OS and VM Hardware Hardware Hardware Hardware Java in a WWW browser Java on a desktop OS Java on a RTOS Java on the bare metal

20 EJC - Embedded Java Controller I 2 C I 2 C RS485 COM 1 (RS232) RS485 COM 1 EJC System Bus COM 0 (TTL) Ethernet COM 0 ETH. Digital I/O LCD 1-Wire Boot Flash Digital I/O LCD 1-Wire PWR Switch Input LED Output Boot Flash EJC-SK1 carrier board block diagram

21 EJC - EW1A block diagram E 2 PROM Temp. Sensor CPU ARM7TDMI DRAM Flash ISA-like + memory bus COM 1 TTL COM 2 RS232 RS485 I 2 C master Digital I/O LCD Ethern. DIMM connector Embedded Java Controller block diagram

22 EJC Java Level User applications and servlets HTTP server FTP server Telnet server EJC class library + servlet framework JVM Intent JVM + PJAE + javax.comm EJC middleware and system software Kernel Drivers Elate RTOS kernel + low-level libraries (TCP/IP, file system architecture, graphic subsystem, etc.) Serial Ethernet I 2 C Dig I/O Flash NV RAM LCD Overview of the EJC software architecture.

23 EJC - Native Code Access to hardware or peripherals through native code: Special feature of the EJC (the intent JVM): Java classes can be directly written in VP assembler. VP assembler is a high-level assembler language which is targeted at a special Virtual Processor, and that is translated to native code either statically, at sysgen-time, or dynamically, when a class is loaded by the device (happens automatically). Access to hardware is possible without the runtime overhead of JNI or other similar mechanisms.

24 JNI JNI - The Java Native Interface Advantages: Support platform-dependent features. Integration: Make existing libraries or applications written in another programming language available to Java. Speed: Implement time-critical code.

25 JNI Application C Side Functions Libraries JNI Java Side Exceptions Classes VM

26 JNI JNI allows interaction in two directions: Java programs can use native methods written in other languages Native methods can use Java objects and methods out of Java applications

27 JNI Java Libraries C Program Java Classes Java Methods Java VM

28 JNI C Routines Assembly Rout. Java Program C++ Classes Exception Handler C Debugger C Runtime TypeChecker

29 JNI-Example Java-File: HelloWorld.java class HelloWorld { public native void displayhelloworld(); static { System.loadLibrary("hello"); } public static void main(string[] args) { new HelloWorld().displayHelloWorld(); } }

30 JNI-Example Java Code Compilation: javac HelloWorld.java Creating the C header file: javah jni HelloWorld

31 JNI-Example Name of native language function that implements the native methods: prefix + class name + _ + method name java_ + HelloWorld + _ + displayhelloworld JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject);

32 JNI-Example Native Methods (C code): #include <jni.h> #include "HelloWorld.h #include <stdio.h> JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *env, jobject obj) { printf("hello World!\n"); return; }

33 JNI-Example HelloWorldImp.c contains three header files: 1.jni.h This file contains information needed by the native language to exchange data with the Java runtime system. 2.HelloWorld.h The generated header file. 3.stdio.h Contains the printf function.

34 JNI-Example 1. Write Java Code HelloWorld.java 4. Write implementation of native method HelloWorldImp.c jni.h stdio.h 2. Compile with javac 5. Compile native code, load shared library HelloWorld.class 3. Generate header file with javah HelloWorld.h hello.dll 6. Run program using java interpreter "Hello World"

35 Java in Embedded Systems Why Embedded Java? Hardware Independence (greater than with C/C++) Downloading capabilities: Software downloaded into device Internet Connectivity Security Better Productivity

36 Application: CAN-Bus CAN-Bus Controller Area Network Serial 2-wire bus system aimed at autombile applications, developed by Bosch. International Standard (ISO 11898)

37 Field Bus Systems Field Bus Organizations Field Bus Systems Sensor/Actuator Bus Process Bus ASI INTERBUS-S PROFIBUS DP CAN DIN-Bus BITBUS PROFIBUS FMS P-NET

38 Field Bus Systems Virtual CAN Interface Control Functions Monitor Functions CAN Analyzer User Application Virtual CAN Interface PCI-card Port Adapter USB-CAN CAN

39 Java based CAN Program class: VCIJNI.java ** Function: VCI2_PrepareBoard ** Native method declaration public native int VCI2_PrepareBoard(CAN_Analyser myapp, int board_type, short board_no, String AddInfo, byte AddInfoLength, JCallback receive, byte [] m_callback_databytes);

40 Dynamic Link Libraries Code in class VCIJNI.java to load DLL (VCIJNI.dll) into memory Operating System Windows Unix Mac OS X Extension.dll.so.dylib ** JNI-function ** for loading of the VCIJNI.DLL static { System.loadLibrary("VCIJNI"); } public VCIJNI() { }

41 Dynamic Link Libraries Java Code Compilation: javac VCIJNI.java Creating the C header file: javah jni VCIJNI

42 Dynamic Link Libraries Generated Header File IXXAT_VCIJNI.h /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class IXXAT_VCIJNI */ #ifndef _Included_IXXAT_VCIJNI #define _Included_IXXAT_VCIJNI #ifdef cplusplus extern "C" { #endif /* * Class: IXXAT_VCIJNI * Method: VCI2_PrepareBoard * Signature: (LIXXAT/CAN_Analyser;ISLjava/lang/String;BLIXXAT/JCallback;[B)I */ JNIEXPORT jint JNICALL Java_IXXAT_VCIJNI_VCI2_1PrepareBoard JNIEnv *, jobject, jobject, jint, jshort, jstring, jbyte, jobject, jbytearray);

43 Dynamic Link Libraries File VCIJNI.cpp implementeing the native code for function Java_IXXAT_VCIJNI_VCI2_1PrepareBoard JNIEXPORT jint JNICALL Java_IXXAT_VCIJNI_VCI2_1PrepareBoard ( JNIEnv * env, jobject jobj, jobject myapp, jint board_type, jshort board_no, jstring AddInfo, jbyte AddInfoLength, jobject JReceiveCallback, jbytearray callback_databytes) { int i_test; jboolean *iscopy = NULL; //Produce a new global reference to Object " JReceiveCallback " g_jobj_jcallback = env->newglobalref(jreceivecallback);

44 Dynamic Link Libraries Create Object: // Object with the Java Native Interface static VCIJNI vci = new VCIJNI(); // prepare board for further configuration i_test = vci.vci2_prepareboard( myapp, BoardConfStruct.board_type, BoardConfStruct.board_no, AddInfo, AddInfoLength, JReceiveCallback, JReceiveCallback.m_a_data);

45 Java/CAN - demo a) CAN Interface: USB-to-CAN Module Intelligent CAN module for the USB-Port

46 Java/CAN - demo b) Connected Device: Absolute Rotary Encoders Allows a direct read-out of the angular position

47 Java/CAN - demo Program Code: CAN Code: GUI: Java C++ Java Swing Future Expansion: Internet Connectivity: Java

48 Using Java to Control CAN Some more important applications CAN Bus CAN Device OFF ON Summer Cottage in Vaasa

49 The end Thank you!

50 The End Contact: Prof. Dr. Helmut Dispert University of Applied Sciences Kiel Faculty of Computer Science and Electrical Engineering Grenzstr Kiel, Germany Tel.: /4123 Fax.: helmut.dispert@fh-kiel.de

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution CSE 452: Programming Languages Java and its Evolution Acknowledgements Rajkumar Buyya 2 Contents Java Introduction Java Features How Java Differs from other OO languages Java and the World Wide Web Java

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Contents. Java - An Introduction. Java Milestones. Java and its Evolution

Contents. Java - An Introduction. Java Milestones. Java and its Evolution Contents Java and its Evolution Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering The University of Melbourne http:// www.buyya.com Java Introduction

More information

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Numerical Algorithms Group

Numerical Algorithms Group Title: Summary: Calling C Library Routines from Java Using the Java Native Interface This paper presents a technique for calling C library routines directly from Java, saving you the trouble of rewriting

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

CSC 551: Web Programming. Spring 2004

CSC 551: Web Programming. Spring 2004 CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro

More information

Chapter 1 Fundamentals of Java Programming

Chapter 1 Fundamentals of Java Programming Chapter 1 Fundamentals of Java Programming Computers and Computer Programming Writing and Executing a Java Program Elements of a Java Program Features of Java Accessing the Classes and Class Members The

More information

Introduction to Native Android Development with NDK

Introduction to Native Android Development with NDK Introduction to Native Android Development with NDK Outline Motivation: case study of a real project Android Architecture Simplified Tool chain Diagram Adding 3 rd party modules Adding pdf and encrypted

More information

Java and Real Time Storage Applications

Java and Real Time Storage Applications Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual

More information

CS 294-73 Software Engineering for Scientific Computing. http://www.cs.berkeley.edu/~colella/cs294. Lecture 25:Mixed Language Programming.

CS 294-73 Software Engineering for Scientific Computing. http://www.cs.berkeley.edu/~colella/cs294. Lecture 25:Mixed Language Programming. CS 294-73 Software Engineering for Scientific Computing http://www.cs.berkeley.edu/~colella/cs294 Lecture 25:Mixed Language Programming. Different languages Technical, historical, cultural differences

More information

STM32JAVA. Embedded Java Solutions for STM32

STM32JAVA. Embedded Java Solutions for STM32 STM32JAVA Embedded Java Solutions for STM32 What is STM32Java? Solution to develop and to deploy software applications on STM32F0 to STM32F7 microcontrollers using Java Help to reduce the total cost of

More information

What Perl Programmers Should Know About Java

What Perl Programmers Should Know About Java Beth Linker, blinker@panix.com Abstract The Java platform is by no means a replacement for Perl, but it can be a useful complement. Even if you do not need to or want to use Java, you should know a bit

More information

Java applets. SwIG Jing He

Java applets. SwIG Jing He Java applets SwIG Jing He Outline What is Java? Java Applications Java Applets Java Applets Securities Summary What is Java? Java was conceived by James Gosling at Sun Microsystems Inc. in 1991 Java is

More information

Lesson 06: Basics of Software Development (W02D2

Lesson 06: Basics of Software Development (W02D2 Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

Developing Embedded Software in Java Part 1: Technology and Architecture

Developing Embedded Software in Java Part 1: Technology and Architecture Developing Embedded Software in Java Part 1: Technology and Architecture by Michael Barr Embedded Systems Conference Europe The Netherlands November 16-18, 1999 Course #300 Sun s introduction of the Java

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

SE 450 Object-Oriented Software Development. Requirements. Topics. Textbooks. Prerequisite: CSC 416

SE 450 Object-Oriented Software Development. Requirements. Topics. Textbooks. Prerequisite: CSC 416 SE 450 Object-Oriented Software Development Instructor: Dr. Xiaoping Jia Office: CST 843 Tel: (312) 362-6251 Fax: (312) 362-6116 E-mail: jia@cs.depaul.edu URL: http://se.cs.depaul.edu/se450/se450.html

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the

More information

Multithreading and Java Native Interface (JNI)!

Multithreading and Java Native Interface (JNI)! SERE 2013 Secure Android Programming: Best Practices for Data Safety & Reliability Multithreading and Java Native Interface (JNI) Rahul Murmuria, Prof. Angelos Stavrou rmurmuri@gmu.edu, astavrou@gmu.edu

More information

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 The Java Virtual Machine and Mobile Devices John Buford, Ph.D. buford@alum.mit.edu Oct 2003 Presented to Gordon College CS 311 Objectives Review virtual machine concept Introduce stack machine architecture

More information

Programming Languages

Programming Languages Programming Languages In the beginning To use a computer, you needed to know how to program it. Today People no longer need to know how to program in order to use the computer. To see how this was accomplished,

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

CS 209 Programming in Java #1

CS 209 Programming in Java #1 CS 209 Programming in Java #1 Introduction Spring, 2006 Instructor: J.G. Neal 1 Topics CS 209 Target Audience CS 209 Course Goals CS 209 Syllabus - See handout Java Features, History, Environment Java

More information

Java Embedded Applications

Java Embedded Applications TM a One-Stop Shop for Java Embedded Applications GeeseWare offer brings Java in your constrained embedded systems. You develop and simulate your Java application on PC, and enjoy a seamless hardware validation.

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

Research and Design of Universal and Open Software Development Platform for Digital Home

Research and Design of Universal and Open Software Development Platform for Digital Home Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China cfcao@126.com Abstract. With the development

More information

CSC230 Getting Starting in C. Tyler Bletsch

CSC230 Getting Starting in C. Tyler Bletsch CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly

More information

CGI-based applications for distributed embedded systems for monitoring temperature and humidity

CGI-based applications for distributed embedded systems for monitoring temperature and humidity CGI-based applications for distributed embedded systems for monitoring temperature and humidity Grisha Spasov, Nikolay Kakanakov Abstract: The paper discusses the using of Common Gateway Interface in developing

More information

Technical Note. Micron Flash Data Integrator (FDI) Support for Java Applications. Introduction. Definition

Technical Note. Micron Flash Data Integrator (FDI) Support for Java Applications. Introduction. Definition Technical Note TN-13-09: FDI Support for Java Applications Introduction Micron Flash Data Integrator (FDI) Support for Java Applications Introduction This document provides an instructional reference to

More information

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

More information

Java Card. Smartcards. Demos. . p.1/30

Java Card. Smartcards. Demos. . p.1/30 . p.1/30 Java Card Smartcards Java Card Demos Smart Cards. p.2/30 . p.3/30 Smartcards Credit-card size piece of plastic with embedded chip, for storing & processing data Standard applications bank cards

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

Crash Course in Java

Crash Course in Java Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is

More information

VOL. 3, NO.10 Oct, 2012 ISSN 2079-8407 Journal of Emerging Trends in Computing and Information Sciences 2009-2012 CIS Journal. All rights reserved.

VOL. 3, NO.10 Oct, 2012 ISSN 2079-8407 Journal of Emerging Trends in Computing and Information Sciences 2009-2012 CIS Journal. All rights reserved. Java and C/C++ Interoperability: Java Integration to Windows Event Log 1 Aleksandar Bulajic, 2 Slobodan Jovanovic 1, 2 Faculty of Information Technology, Metropolitan University, 11000 Belgrade, Serbia

More information

Installing Java. Table of contents

Installing Java. Table of contents Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...

More information

Fall 2009. Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Fall 2009. Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu. Fall 2009 Lecture 1 Operating Systems: Configuration & Use CIS345 Introduction to Operating Systems Mostafa Z. Ali mzali@just.edu.jo 1-1 Chapter 1 Introduction to Operating Systems An Overview of Microcomputers

More information

Computer and Set of Robots

Computer and Set of Robots Lesson 11:DESIGN PROCESS EXAMPLES Mobile-Phone, Mobile- Computer and Set of Robots 1 Mobile Phone 2 Mobile phone SoC (System-on-Chip) Hardware units Microcontroller or ASIP (Application Specific Instruction

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Software. Programming Language. Software. Instructor Özgür ZEYDAN. Bülent Ecevit University Department of Environmental Engineering

Software. Programming Language. Software. Instructor Özgür ZEYDAN. Bülent Ecevit University Department of Environmental Engineering Computer Bülent Ecevit University Department of Environmental Engineering Case & Inside units Hardware Peripherals Operating Systems Application : Instructions for the computer. A series of instructions

More information

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1 Danilo Beuche, Lars Büttner, Daniel Mahrenholz, Wolfgang Schröder-Preikschat, Friedrich Schön* University of Magdeburg * GMD-FIRST

More information

Using the Java Native Interface to Introduce Device Driver Basics

Using the Java Native Interface to Introduce Device Driver Basics Paper No. 102 Using the Java Native Interface to Introduce Device Driver Basics James K. Brown, Indiana University-Purdue University at Indianapolis ABSTRACT Teaching students to merge the real-world necessity

More information

Effective Java Programming. efficient software development

Effective Java Programming. efficient software development Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of

More information

Online Recruitment System 1. INTRODUCTION

Online Recruitment System 1. INTRODUCTION 1. INTRODUCTION This project Online Recruitment System is an online website in which jobseekers can register themselves online and apply for job and attend the exam. Online Recruitment System provides

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Chapter 1 Introduction to Computers, Programs, and Java

Chapter 1 Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1.1 Introduction The central theme of this book is to learn how to solve problems by writing a program. This book teaches you how to create programs

More information

02 B The Java Virtual Machine

02 B The Java Virtual Machine 02 B The Java Virtual Machine CS1102S: Data Structures and Algorithms Martin Henz January 22, 2010 Generated on Friday 22 nd January, 2010, 09:46 CS1102S: Data Structures and Algorithms 02 B The Java Virtual

More information

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java

More information

HYBRID JINI FOR LIMITED DEVICES

HYBRID JINI FOR LIMITED DEVICES HYBRID JINI FOR LIMITED DEVICES VINCENT LENDERS, POLLY HUANG AND MEN MUHEIM ETH Zürich E-mail: lenders, huang @tik.ee.ethz.ch, men@ife.ee.ethz.ch We envision a future of heterogeneous mobile devices collaborating

More information

Chapter 5: System Software: Operating Systems and Utility Programs

Chapter 5: System Software: Operating Systems and Utility Programs Understanding Computers Today and Tomorrow 12 th Edition Chapter 5: System Software: Operating Systems and Utility Programs Learning Objectives Understand the difference between system software and application

More information

picojava TM : A Hardware Implementation of the Java Virtual Machine

picojava TM : A Hardware Implementation of the Java Virtual Machine picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer

More information

Java Programming. Binnur Kurt binnur.kurt@ieee.org. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.

Java Programming. Binnur Kurt binnur.kurt@ieee.org. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0. Java Programming Binnur Kurt binnur.kurt@ieee.org Istanbul Technical University Computer Engineering Department Java Programming 1 Version 0.0.4 About the Lecturer BSc İTÜ, Computer Engineering Department,

More information

Installing Java (Windows) and Writing your First Program

Installing Java (Windows) and Writing your First Program Appendix Installing Java (Windows) and Writing your First Program We will be running Java from the command line and writing Java code in Notepad++ (or similar). The first step is to ensure you have installed

More information

Smart Cards a(s) Safety Critical Systems

Smart Cards a(s) Safety Critical Systems Smart Cards a(s) Safety Critical Systems Gemplus Labs Pierre.Paradinas Paradinas@gemplus.com Agenda Smart Card Technologies Java Card TM Smart Card a specific domain Card Life cycle Our Technical and Business

More information

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development Nokia 9210i/9290 Communicators and Personal TM Application Development 05-03-2002 Nokia 9210i/9290 Communicators and PersonalTM Application Development Table of contents 1. DIFFERENT JAVA TECHNOLOGIES...

More information

Japan Communication India Skill Development Center

Japan Communication India Skill Development Center Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2b Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server

More information

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)

More information

Java Real-Time Distributed Processing over Chorus/OS

Java Real-Time Distributed Processing over Chorus/OS Java Real-Time Distributed Processing over Chorus/OS Christophe Lizzi CS Technologies Informatiques lizzi@csti.fr CNAM, CEDRIC lab. lizzi@cnam.fr Outline Motivations Our vision Real-time Java Operating

More information

How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)

How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint) TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions

More information

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX 75701 1.800.298.5226 www.tjc.edu/continuingstudies/mycaa

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX 75701 1.800.298.5226 www.tjc.edu/continuingstudies/mycaa TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX 75701 1.800.298.5226 www.tjc.edu/continuingstudies/mycaa Education & Training Plan Java Programming Specialist Program Student

More information

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah (DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation

More information

12. Introduction to Virtual Machines

12. Introduction to Virtual Machines 12. Introduction to Virtual Machines 12. Introduction to Virtual Machines Modern Applications Challenges of Virtual Machine Monitors Historical Perspective Classification 332 / 352 12. Introduction to

More information

C# and Other Languages

C# and Other Languages C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List

More information

SIP Protocol as a Communication Bus to Control Embedded Devices

SIP Protocol as a Communication Bus to Control Embedded Devices 229 SIP Protocol as a Communication Bus to Control Embedded Devices Ramunas DZINDZALIETA Institute of Mathematics and Informatics Akademijos str. 4, Vilnius Lithuania ramunas.dzindzalieta@gmail.com Abstract.

More information

Chapter 1. Introduction to Computers, Programs, and Java

Chapter 1. Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1.1 Introduction Java is the Internet program language Why Java? The answer is that Java enables user to deploy applications on the Internet for

More information

JavaPOS TM FAQ. What is an FAQ? What is JavaPOS?

JavaPOS TM FAQ. What is an FAQ? What is JavaPOS? JavaPOS TM FAQ What is an FAQ? An FAQ is a list of frequently asked questions. In addition to supplying background material, this document will provide answers for the most frequently asked questions about

More information

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software 1 1. Linker 2 Linker Links the compiled codes of application software, object codes from library and OS kernel functions.

More information

Japan Communication India Skill Development Center

Japan Communication India Skill Development Center Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server

More information

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

More information

Star System. 2004 Deitel & Associates, Inc. All rights reserved.

Star System. 2004 Deitel & Associates, Inc. All rights reserved. Star System Apple Macintosh 1984 First commercial OS GUI Chapter 1 Introduction to Operating Systems Outline 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 Introduction What Is an Operating System?

More information

12/22/11. } Android. 1992-2012 by Pearson Education, Inc. All Rights Reserved. 1992-2012 by Pearson Education, Inc. All Rights Reserved.

12/22/11. } Android. 1992-2012 by Pearson Education, Inc. All Rights Reserved. 1992-2012 by Pearson Education, Inc. All Rights Reserved. The name is derived from Linus and UNIX an operating system developed by Bell Labs in 1969. Favorable response led to the creation of a community that has continued to develop and support Linux. Developers

More information

Operator Touch Panel PC OTP/57V esom2586 / x86

Operator Touch Panel PC OTP/57V esom2586 / x86 Operator Touch Panel PC OTP/57V esom2586 / x86 3U Operator Touch Panel Device with 5.7 VGA LCD, Touch Screen, Embedded PC and Java 6 Product Information Description The OTP/57V is a compact PC-based open

More information

Operating System Structures

Operating System Structures COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

Ponto Series. A new concept for automation

Ponto Series. A new concept for automation Ponto Series A new concept for automation Programmable Controller Remote I/O for Field Buses Special models of I/O modules Web connection Ponto Series Programmable Controller High connectivity CPUs Direct

More information

Cloud Computing. Up until now

Cloud Computing. Up until now Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines

More information

Java on z/os. Agenda. Java runtime environments on z/os. Java SDK 5 and 6. Java System Resource Integration. Java Backend Integration

Java on z/os. Agenda. Java runtime environments on z/os. Java SDK 5 and 6. Java System Resource Integration. Java Backend Integration Martina Schmidt martina.schmidt@de.ibm.com Agenda Java runtime environments on z/os Java SDK 5 and 6 Java System Resource Integration Java Backend Integration Java development for z/os 4 1 Java runtime

More information

Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment

Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment Experimental Evaluation of Distributed Middleware with a Virtualized Java Environment Nuno A. Carvalho, João Bordalo, Filipe Campos and José Pereira HASLab / INESC TEC Universidade do Minho MW4SOC 11 December

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

Java Crash Course Part I

Java Crash Course Part I Java Crash Course Part I School of Business and Economics Institute of Information Systems HU-Berlin WS 2005 Sebastian Kolbe skolbe@wiwi.hu-berlin.de Overview (Short) introduction to the environment Linux

More information

Ways to Use USB in Embedded Systems

Ways to Use USB in Embedded Systems Ways to Use USB in Embedded Systems by Yingbo Hu, R&D Embedded Engineer and Ralph Moore, President of Micro Digital Universal Serial Bus (USB) is a connectivity specification that provides ease of use,

More information

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

Can You Trust Your JVM Diagnostic Tools?

Can You Trust Your JVM Diagnostic Tools? Can You Trust Your JVM Diagnostic Tools? Isaac Sjoblom, Tim S. Snyder, and Elena Machkasova Computer Science Discipline University of Minnesota Morris Morris, MN 56267 sjobl014@umn.edu, snyde479@umn.edu,

More information

STLinux Software development environment

STLinux Software development environment STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer

More information

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For Projet Java Responsables: Ocan Sankur, Guillaume Scerri (LSV, ENS Cachan) Objectives - Apprendre à programmer en Java - Travailler à plusieurs sur un gros projet qui a plusieurs aspects: graphisme, interface

More information

Java and JCA. Rok Sabjan 09/01/2008. Based on presentation by Ken Evans. www.cosylab.com

Java and JCA. Rok Sabjan 09/01/2008. Based on presentation by Ken Evans. www.cosylab.com Java and JCA Rok Sabjan 09/01/2008 Based on presentation by Ken Evans www.cosylab.com Outline Java Java and EPICS Overview of JCA Examples - SimpleJCAGet - SimpleJCAMonitor - JProbe 2 Java Java is designed

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems. Chapter 8 Objectives Chapter 8 s and Utility Programs Describe the two types of software Understand the startup process for a personal computer Describe the term user interface Explain features common

More information

FRONT FLYLEAF PAGE. This page has been intentionally left blank

FRONT FLYLEAF PAGE. This page has been intentionally left blank FRONT FLYLEAF PAGE This page has been intentionally left blank Abstract The research performed under this publication will combine virtualization technology with current kernel debugging techniques to

More information