Programming CAN-based Fieldbus Systems using Java
|
|
- Alice Briggs
- 8 years ago
- Views:
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 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 informationTopics. 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 informationContents. 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 informationCharacteristics 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 informationNumerical 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 informationSystem 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 informationMobile 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 informationFachbereich 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 informationCSC 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 informationChapter 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 informationIntroduction 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 informationJava 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 informationCS 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 informationSTM32JAVA. 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 informationWhat 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 informationJava 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 informationLesson 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 informationAn 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 informationDeveloping 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 informationINTRODUCTION 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 informationSE 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 informationBuilding 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 informationMobile 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 informationMultithreading 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 informationThe 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 informationProgramming 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 informationCS 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 informationLast 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 informationCS 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 informationJava 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 informationExample 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 information2 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 informationResearch 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 informationCSC230 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 informationCGI-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 informationTechnical 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 informationJava 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 informationJava 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 informationThe 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 informationChapter 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 information1. 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 informationJonathan 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 informationCrash 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 informationVOL. 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 informationInstalling 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 informationFall 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 informationComputer 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 informationChapter 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 informationSoftware. 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 informationJPURE - 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 informationUsing 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 informationEffective 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 informationOnline 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 informationChapter 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 informationChapter 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 information02 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 informationGETTING 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 informationSoftware: 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 informationHandout 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 informationHYBRID 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 informationChapter 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 informationpicojava 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 informationJava 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 informationInstalling 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 informationSmart 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 informationNokia 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 informationJapan 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 informationAgent 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 informationJava 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 informationHow 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 informationTYLER 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 informationDigitale 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 information12. 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 informationC# 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 informationSIP 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 informationChapter 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 informationJavaPOS 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 informationEmbedded 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 informationJapan 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 informationReminders. 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 informationStar 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 information12/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 informationOperator 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 informationOperating 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 informationLecture 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 informationPonto 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 informationCloud 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 informationJava 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 informationExperimental 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 informationOPERATING 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 informationJava 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 informationWays 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 informationHow 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 informationCan 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 informationSTLinux 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 informationHow 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 informationJava 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 informationObjectives. 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 informationChapter 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 informationFRONT 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