JOP Reference Handbook: Building Embedded Systems with a Java Processor

Total Page:16

File Type:pdf, Size:1020Kb

JOP Reference Handbook: Building Embedded Systems with a Java Processor Downloaded from orbit.dtu.dk on: Sep 30, 2021 JOP Reference Handbook: Building Embedded Systems with a Java Processor Schoeberl, Martin Publication date: 2009 Document Version Publisher's PDF, also known as Version of record Link back to DTU Orbit Citation (APA): Schoeberl, M. (2009). JOP Reference Handbook: Building Embedded Systems with a Java Processor. http://www.jopdesign.com/ General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. JOP Reference Handbook JOP Reference Handbook Building Embedded Systems with a Java Processor Martin Schoeberl Copyright c 2009 Martin Schoeberl Martin Schoeberl Strausseng. 2-10/2/55 A-1050 Vienna, Austria Email: [email protected] Visit the accompanying web site on http://www.jopdesign.com/ and the JOP Wiki at http://www.jopwiki.com/ Published 2009 by CreateSpace, http://www.createspace.com/ All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, recording or otherwise, without the prior written permission of Martin Schoeberl. Library of Congress Cataloging-in-Publication Data Schoeberl, Martin JOP Reference Handbook: Building Embedded Systems with a Java Processor / Martin Schoeberl Includes bibliographical references and index. ISBN 978-1438239699 Manufactured in the United States of America. Typeset in 11pt Times by Martin Schoeberl Foreword This book is about JOP, the Java Optimized Processor. JOP is an implementation of the Java virtual machine (JVM) in hardware. The main implementation platform is a field- programmable gate array (FPGA). JOP began as a research project for a PhD thesis. In the mean time, JOP has been used in several industrial applications and as a research platform. JOP is a time-predictable processor for hard real-time systems implemented in Java. JOP is open-source under the GNU GPL and has a growing user base. This book is written for all of you who build this lively community. For a long time the PhD thesis, some research papers, and the web site have been the main documentation for JOP. A PhD thesis focus is on research results and implementation details are usually omitted. This book complements the thesis and provides insight into the implementation of JOP and the accompanying JVM. Furthermore, it gives you an idea how to build an embedded real-time system based on JOP. V Acknowledgements Many users of JOP contributed to the design of JOP and to the tool chain. I also want to thank the students at the Vienna University of Technology during the four years of the course “The JVM in Hardware” and the students from CBS, Copenhagen at an embed- ded systems course in Java for the interesting questions and discussions. Furthermore, the questions and discussions in the Java processor mailing list provided valuable input for the documentation now available in form of this book. The following list of contributors to JOP is roughly in chronological order. Ed Anuff wrote testmon.asm to perform a memory interface test and BlockGen.java to con- vert Altera .mif files to Xilinx memory blocks. Flavius Gruian wrote the initial version of JOPizer to generate the .jop file from the application classes. JOPizer is based on the open source library BCEL and is a substitute to the formerly used JavaCodeCompact from Sun. Peter Schrammel and Christof Pitter have implemented the first version of long bytecodes. Rasmus Pedersen based a class on very small information systems on JOP and invited my to co-teach this class in Copenhagen. During this time the first version of the WCET analysis tool was developed by Rasmus. Rasmus has also implemented an Eclipse plugin for the JOP design flow. Alexander Dejaco and Peter Hilber have developed the I/O interface board for the LEGO Mindstorms. Christof Pitter designed and implemented the chip-multiprocessor (CMP) version of JOP during his PhD thesis. Wolfgang Puffitsch first contribution to JOP was the finalization of the floating point library SoftFloat. Wolfgang, now an active de- veloper of JOP, contributed several enhancements (e.g., exceptions, HW field access, data cache,...) and works towards real-time garbage collection for the CMP version of JOP. Alberto Andriotti contributed several JVM test cases. Stefan Hepp has implemented an op- timizer at bytecode level during his Bachelor thesis work. Benedikt Huber has redesigned the WCET analysis tool for JOP during his Master’s thesis. Trevor Harmon, who imple- mented the WCET tool Volta for JOP during his PhD thesis, helped me with proofreading of the handbook. Furthermore, I would like to thank Walter Wilhelm from EEG for taking the risk to ac- cept a JOP based hardware for the Kippfahrleitung project at a very early development stage of JOP. The development of JOP has received funding from the Wiener Innova- tionsfoderprogram¨ (Call IKT 2004) and from the EU project JEOPARD. Contents Foreword v Acknowledgements vii 1 Introduction 1 1.1 A Quick Tour on JOP ............................. 1 1.1.1 Building JOP and Running “Hello World” .............. 1 1.1.2 The Design Structure ......................... 2 1.2 A Short History ................................ 3 1.3 JOP Features ................................. 4 1.4 Is JOP the Solution for Your Problem? .................... 6 1.5 Outline of the Book .............................. 6 2 The Design Flow 9 2.1 Introduction .................................. 9 2.1.1 Tools ................................. 9 2.1.2 Getting Started ............................ 10 2.1.3 Xilinx Spartan-3 Starter Kit ..................... 11 2.2 Booting JOP — How Your Application Starts ................ 12 2.2.1 FPGA Configuration ......................... 12 2.2.2 Java Download ............................ 12 2.2.3 Combinations ............................. 13 2.2.4 Stand Alone Configuration ...................... 14 2.3 The Design Flow ............................... 15 2.3.1 Tools ................................. 15 2.3.2 Targets ................................ 16 2.4 Eclipse ..................................... 18 2.5 Simulation ................................... 19 2.5.1 JopSim Simulation .......................... 19 2.5.2 VHDL Simulation .......................... 20 X CONTENTS 2.6 Files Types You Might Encounter ...................... 21 2.7 Information on the Web ............................ 23 2.8 Porting JOP .................................. 23 2.8.1 Test Utilities ............................. 23 2.9 Extending JOP ................................ 24 2.9.1 Native Methods ............................ 25 2.9.2 A new Peripheral Device ....................... 25 2.9.3 A Customized Instruction ...................... 26 2.9.4 Dependencies and Configurations .................. 27 2.10 Directory Structure .............................. 28 2.10.1 The Java Sources for JOP ...................... 30 2.11 The JOP Hello World Exercise ........................ 30 2.11.1 Manual build ............................. 30 2.11.2 Using make .............................. 31 2.11.3 Change the Java Program ....................... 31 2.11.4 Change the Microcode ........................ 31 2.11.5 Use a Different Target Board ..................... 32 2.11.6 Compile a Different Java Application ................ 32 2.11.7 Simulation .............................. 33 2.11.8 WCET Analysis ........................... 33 3 Java and the Java Virtual Machine 35 3.1 Java ...................................... 35 3.1.1 History ................................ 37 3.1.2 The Java Programming Language .................. 38 3.2 The Java Virtual Machine ........................... 39 3.2.1 Memory Areas ............................ 40 3.2.2 JVM Instruction Set ......................... 40 3.2.3 Methods ............................... 42 3.2.4 Implementation of the JVM ..................... 43 3.3 Embedded Java ................................ 44 3.4 Summary ................................... 45 4 Hardware Architecture 47 4.1 Overview of JOP ............................... 47 4.2 Microcode ................................... 49 4.2.1 Translation of Bytecodes to Microcode ............... 49 CONTENTS XI 4.2.2 Compact Microcode ......................... 51 4.2.3 Instruction Set ............................ 52 4.2.4 Bytecode Example .......................... 53 4.2.5 Microcode Branches ......................... 54 4.2.6 Flexible Implementation of Bytecodes ................ 54 4.2.7 Summary ............................... 55 4.3 The Processor Pipeline ............................ 55 4.3.1 Java Bytecode Fetch ......................... 56 4.3.2 Microcode Instruction Fetch ..................... 57 4.3.3 Decode and Address Generation ................... 59 4.3.4 Execute ................................ 60 4.3.5 Interrupt Logic ............................ 61 4.3.6 Summary ..............................
Recommended publications
  • JCP at Javapolis 2007
    Javapolis News ❙ 14 December 2007 ❙ Nr 5 ❙ Published by Minoc Business Press 54 www.nonillion.com Parleys Want to become a NONILLIONAIRE ? mail us at : [email protected] Building Rich Internet Applications with Flex and JavaFX “There’s a well thought out com- an online environment using Adobe AIR. “Even when you ponent model for Flex”, he said. are offl ine, you still can update data. When the connec- “And there’s a thriving market tion comes back on, the system synchronizes automati- for components out there, both cally.” Open Source and commercial. So there are literally hundreds JavaPolis founder Stephan Janssen was next to explain of components available to how he decided to have Parleys.com rewritten using Flex. use in Flex.” And no, Flex isn’t Parleys.com offers a massive amount of Java talks – from there for fun and games only. JavaPolis, JavaOne and other Java events from all over “There are already a great the world – combining video images with the actual pres- number of business applica- entation slides of the speakers. Janssen programmed the tions running today, all built application for fun at fi rst, but with over 10 TB of streamed with Flex.” Eckel backed up video in just under a year, it’s clear Parleys.com sort of his statement with an ex- started to lead its own life. “The decision to write a new ample of an interface for an version was made six months ago”, he said. “It was still intranet sales application. too early to use JavaFX. And Silverlight? No thanks.” “Some people think Flex Flex allowed him to leverage the Java code of the earlier isn’t the right choice to version of Parleys.com and to resolve the Web 2.0 and make for business applica- AJAX issues he had en- countered while programming tions, because the render- the fi rst version.
    [Show full text]
  • IP Log for Eclipse.Platform Release 4.0, July 2010 Licenses
    IP Log for eclipse.platform Release 4.0, July 2010 Licenses • Eclipse Public License v1.0 Third-Party Code CQ Third-Party Code License Use ICU4J (core and extended ICU4J License (X License, 1065 function) and ICU4J MIT Style) Replacement plug-in Version: 3.6 ICU4J License (X License, 1116 ICU4J Version: 3.4.5.20061213 MIT Style) 1153 JSch 0.1.31 Version: 0.1.31 New BSD license Apache Lucene Version: 1.9.1 243 (Core+Contrib Analyzers Apache License, 2.0 Analysis Src) 257 APT Version: 1 New BSD license Mozilla Public License 1.1 (MPL), MIT Style with No 262 Cairo Version: 1.0.2 Endorsement Clause, Historical Permissive Notice & Disclaimer ICU4J License (X License, 280 ICU4J Version: 3.4 MIT Style) ICU4J License (X License, 281 ICU4J Version: 3.4.3 MIT Style) 293 jsch Version: 0.1.28 New BSD license 308 PNG unload Version: 1 MIT license 1232 Apache Ant Version: 1.7.0 Apache License, 2.0 ICU4J and ICU4J Replacement ICU4J License (X License, 1367 Version: 3.6.1 MIT Style) Olsen time zone data Version: 1368 Public Domain 2007e Work derived from IJG JPEG 1596 IJG License Version: Release 6b,337 unmodified 1826 JSch 0.1.35 New BSD license source & binary ICU4J and ICU4J replacement MIT License with "no unmodified 1919 Version: 3.8.1 edorsement" clause source & binary unmodified 2014 jsch Version: 0.1.37 New BSD license source & binary XHTML DTDs Version: unmodified 2044 W3C Document License Versions 1.0 and 1.1 (PB CQ331) source org.apache.ant Version: 1.6.5 2404 (ATO CQ1013) (using Orbit Apache License, 2.0 CQ2209) org.apache.lucene Version: 1.4.3 2405 (Core Source Only) (ATO Apache License, 2.0 CQ1014) (using Orbit CQ2210) Junit Version: 3.8.2 (ATO 2406 Common Public License 1.0 CQ299) (using Orbit CQ2206) Historical support for Java SSH modified 2410 Applet + Blowfish Version - v.
    [Show full text]
  • Cost-Effective Compilation Techniques for Java Just-In-Time Compilers 3
    IEICE TRANS. ??, VOL.Exx–??, NO.xx XXXX 200x 1 PAPER Cost-Effective Compilation Techniques for Java Just-in-Time Compilers Kazuyuki SHUDO†, Satoshi SEKIGUCHI†, Nonmembers, and Yoichi MURAOKA ††, Fel low SUMMARY Java Just-in-Time compilers have to satisfy a policies. number of requirements in conflict with each other. Effective execution of a generated code is not the only requirement, but 1. Ease of use as a base of researches. compilation time, memory consumption and compliance with the 2. Cost-effective development. Less labor and rela- Java Virtual Machine specification are also important. We have tively much effect. developed a Java Just-in-Time compiler keeping implementation 3. Adequate quality and performance for practical labor little. Another important objective is developing an ad- equate base of following researches which utilize this compiler. use. The proposed compilation techniques take low compilation cost and low development cost. This paper also describes optimization Compiler development involves much work on a methods implemented in the compiler, for instance, instruction parser, intermediate representations and a number of folding, exception handling with signals and code patching. optimizations. Because of it, we have to consider those key words: Runtime compilation, Java Virtual Machine, Stack human and engineering factor seriously in addition to caching, Instruction folding, Code patching technical requirements like performance. Our plan on the development of the JIT compiler was to have a prac- 1. Introduction tical compiler with work several man-month. Our an- other goal was specifically having a research base on Just-in-Time (JIT) compilers for Java bytecode have which we do following researches with less labor while to satisfy a number of requirements, which are differ- developing it with less work.
    [Show full text]
  • Anpassung Eines Netzwerkprozessor-Referenzsystems Im Rahmen Des MAMS-Forschungsprojektes
    Anpassung eines Netzwerkprozessor-Referenzsystems im Rahmen des MAMS-Forschungsprojektes Diplomarbeit an der Fachhochschule Hof Fachbereich Informatik / Technik Studiengang: Angewandte Informatik Vorgelegt bei von Prof. Dr. Dieter Bauer Stefan Weber Fachhochschule Hof Pacellistr. 23 Alfons-Goppel-Platz 1 95119 Naila 95028 Hof Matrikelnr. 00041503 Abgabgetermin: Freitag, den 28. September 2007 Hof, den 27. September 2007 Diplomarbeit - ii - Inhaltsverzeichnis Titelseite i Inhaltsverzeichnis ii Abbildungsverzeichnis v Tabellenverzeichnis vii Quellcodeverzeichnis viii Funktionsverzeichnis x Abkurzungen¨ xi Definitionen / Worterkl¨arungen xiii 1 Vorwort 1 2 Einleitung 3 2.1 Abstract ......................................... 3 2.2 Zielsetzung der Arbeit ................................. 3 2.3 Aufbau der Arbeit .................................... 4 2.4 MAMS .......................................... 4 2.4.1 Anwendungsszenario .............................. 4 2.4.2 Einführung ................................... 5 2.4.3 NGN - Next Generation Networks ....................... 5 2.4.4 Abstrakte Darstellung und Begriffe ...................... 7 3 Hauptteil 8 3.1 BorderGateway Hardware ............................... 8 3.1.1 Control-Blade - Control-PC .......................... 9 3.1.2 ConverGate-D Evaluation Board: Modell easy4271 ............. 10 3.1.3 ConverGate-D Netzwerkprozessor ....................... 12 3.1.4 Motorola POWER Chip (MPC) Modul ..................... 12 3.1.5 Test- und Arbeitsumgebung .......................... 13 3.2 Vorhandene
    [Show full text]
  • Embedded Java with GCJ
    Embedded Java with GCJ http://0-delivery.acm.org.innopac.lib.ryerson.ca/10.1145/1140000/11341... Embedded Java with GCJ Gene Sally Abstract You don't always need a Java Virtual Machine to run Java in an embedded system. This article discusses how to use GCJ, part of the GCC compiler suite, in an embedded Linux project. Like all tools, GCJ has benefits, namely the ability to code in a high-level language like Java, and its share of drawbacks as well. The notion of getting GCJ running on an embedded target may be daunting at first, but you'll see that doing so requires less effort than you may think. After reading the article, you should be inspired to try this out on a target to see whether GCJ can fit into your next project. The Java language has all sorts of nifty features, like automatic garbage collection, an extensive, robust run-time library and expressive object-oriented constructs that help you quickly develop reliable code. Why Use GCJ in the First Place? The native code compiler for Java does what is says: compiles your Java source down to the machine code for the target. This means you won't have to get a JVM (Java Virtual Machine) on your target. When you run the program's code, it won't start a VM, it will simply load and run like any other program. This doesn't necessarily mean your code will run faster. Sometimes you get better performance numbers for byte code running on a hot-spot VM versus GCJ-compiled code.
    [Show full text]
  • Picojava-II™ Programmer's Reference Manual
    picoJava-II™ Programmer’s Reference Manual Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 Part No.: 805-2800-06 March 1999 Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303 U.S.A. All rights reserved. The contents of this document are subject to the current version of the Sun Community Source License, picoJava Core (“the License”). You may not use this document except in compliance with the License. You may obtain a copy of the License by searching for “Sun Community Source License” on the World Wide Web at http://www.sun.com. See the License for the rights, obligations, and limitations governing use of the contents of this document. Sun, Sun Microsystems, the Sun logo and all Sun-based trademarks and logos, Java, picoJava, and all Java-based trademarks and logos are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. THIS PUBLICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THE PUBLICATION.
    [Show full text]
  • Evil Pickles: Dos Attacks Based on Object-Graph Engineering∗
    Evil Pickles: DoS Attacks Based on Object-Graph Engineering∗ Jens Dietrich1, Kamil Jezek2, Shawn Rasheed3, Amjed Tahir4, and Alex Potanin5 1 School of Engineering and Advanced Technology, Massey University Palmerston North, New Zealand [email protected] 2 NTIS – New Technologies for the Information Society Faculty of Applied Sciences, University of West Bohemia Pilsen, Czech Republic [email protected] 3 School of Engineering and Advanced Technology, Massey University Palmerston North, New Zealand [email protected] 4 School of Engineering and Advanced Technology, Massey University Palmerston North, New Zealand [email protected] 5 School of Engineering and Computer Science Victoria University of Wellington, Wellington, New Zealand [email protected] Abstract In recent years, multiple vulnerabilities exploiting the serialisation APIs of various programming languages, including Java, have been discovered. These vulnerabilities can be used to devise in- jection attacks, exploiting the presence of dynamic programming language features like reflection or dynamic proxies. In this paper, we investigate a new type of serialisation-related vulnerabilit- ies for Java that exploit the topology of object graphs constructed from classes of the standard library in a way that deserialisation leads to resource exhaustion, facilitating denial of service attacks. We analyse three such vulnerabilities that can be exploited to exhaust stack memory, heap memory and CPU time. We discuss the language and library design features that enable these vulnerabilities, and investigate whether these vulnerabilities can be ported to C#, Java- Script and Ruby. We present two case studies that demonstrate how the vulnerabilities can be used in attacks on two widely used servers, Jenkins deployed on Tomcat and JBoss.
    [Show full text]
  • Java in Embedded Linux Systems
    Java in Embedded Linux Systems Java in Embedded Linux Systems Thomas Petazzoni / Michael Opdenacker Free Electrons http://free-electrons.com/ Created with OpenOffice.org 2.x Java in Embedded Linux Systems © Copyright 2004-2007, Free Electrons, Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com Sep 15, 2009 1 Rights to copy Attribution ± ShareAlike 2.5 © Copyright 2004-2008 You are free Free Electrons to copy, distribute, display, and perform the work [email protected] to make derivative works to make commercial use of the work Document sources, updates and translations: Under the following conditions http://free-electrons.com/articles/java Attribution. You must give the original author credit. Corrections, suggestions, contributions and Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license translations are welcome! identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by-sa/2.5/legalcode Java in Embedded Linux Systems © Copyright 2004-2007, Free Electrons, Creative Commons Attribution-ShareAlike 2.5 license http://free-electrons.com Sep 15, 2009 2 Best viewed with... This document is best viewed with a recent PDF reader or with OpenOffice.org itself! Take advantage of internal
    [Show full text]
  • Picojava-II™ Microarchitecture Guide
    picoJava-II™ Microarchitecture Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 Part No.: 960-1160-11 March 1999 Copyright 1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303 U.S.A. All rights reserved. The contents of this document are subject to the current version of the Sun Community Source License, picoJava Core (“the License”). You may not use this document except in compliance with the License. You may obtain a copy of the License by searching for “Sun Community Source License” on the World Wide Web at http://www.sun.com. See the License for the rights, obligations, and limitations governing use of the contents of this document. Sun, Sun Microsystems, the Sun logo and all Sun-based trademarks and logos, Java, picoJava, and all Java-based trademarks and logos are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. DOCUMENTATION IS PROVIDED “AS IS” AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. THIS PUBLICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THE PUBLICATION.
    [Show full text]
  • C:\Andrzej\PDF\ABC Nagrywania P³yt CD\1 Strona.Cdr
    IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TREFCI Wielka encyklopedia komputerów KATALOG KSI¥¯EK Autor: Alan Freedman KATALOG ONLINE T³umaczenie: Micha³ Dadan, Pawe³ Gonera, Pawe³ Koronkiewicz, Rados³aw Meryk, Piotr Pilch ZAMÓW DRUKOWANY KATALOG ISBN: 83-7361-136-3 Tytu³ orygina³u: ComputerDesktop Encyclopedia Format: B5, stron: 1118 TWÓJ KOSZYK DODAJ DO KOSZYKA Wspó³czesna informatyka to nie tylko komputery i oprogramowanie. To setki technologii, narzêdzi i urz¹dzeñ umo¿liwiaj¹cych wykorzystywanie komputerów CENNIK I INFORMACJE w ró¿nych dziedzinach ¿ycia, jak: poligrafia, projektowanie, tworzenie aplikacji, sieci komputerowe, gry, kinowe efekty specjalne i wiele innych. Rozwój technologii ZAMÓW INFORMACJE komputerowych, trwaj¹cy stosunkowo krótko, wniós³ do naszego ¿ycia wiele nowych O NOWOFCIACH mo¿liwoYci. „Wielka encyklopedia komputerów” to kompletne kompendium wiedzy na temat ZAMÓW CENNIK wspó³czesnej informatyki. Jest lektur¹ obowi¹zkow¹ dla ka¿dego, kto chce rozumieæ dynamiczny rozwój elektroniki i technologii informatycznych. Opisuje wszystkie zagadnienia zwi¹zane ze wspó³czesn¹ informatyk¹; przedstawia zarówno jej historiê, CZYTELNIA jak i trendy rozwoju. Zawiera informacje o firmach, których produkty zrewolucjonizowa³y FRAGMENTY KSI¥¯EK ONLINE wspó³czesny Ywiat, oraz opisy technologii, sprzêtu i oprogramowania. Ka¿dy, niezale¿nie od stopnia zaawansowania swojej wiedzy, znajdzie w niej wyczerpuj¹ce wyjaYnienia interesuj¹cych go terminów z ró¿nych bran¿ dzisiejszej informatyki. • Komunikacja pomiêdzy systemami informatycznymi i sieci komputerowe • Grafika komputerowa i technologie multimedialne • Internet, WWW, poczta elektroniczna, grupy dyskusyjne • Komputery osobiste — PC i Macintosh • Komputery typu mainframe i stacje robocze • Tworzenie oprogramowania i systemów komputerowych • Poligrafia i reklama • Komputerowe wspomaganie projektowania • Wirusy komputerowe Wydawnictwo Helion JeYli szukasz ]ród³a informacji o technologiach informatycznych, chcesz poznaæ ul.
    [Show full text]
  • Methoden Der Metaprogrammierung Zur Rekonfiguration Von Software
    Lehrstuhl für Realzeit-Computersysteme Methoden der Metaprogrammierung zur Rekonfiguration von Software eingebetteter Systeme Thomas Maier-Komor Vollständiger Abdruck der von der Fakultät für Elektrotechnik und Informationstech- nik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktor-Ingenieurs (Dr.-Ing.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. sc. techn. (ETH) A. Herkersdorf Prüfer der Dissertation: 1. Univ.-Prof. Dr.-Ing. G. Färber 2. Univ.-Prof. Dr. rer. nat. Dr. rer. nat. habil. U. Baumgarten Die Dissertation wurde am 27.6.2006, bei der Technischen Universität München ein- gereicht und durch die Fakultät für Elektrotechnik und Informationstechnik am 8.12.2006 angenommen. ii Abstract Der Entwurf von Software für eingebettete Systeme wird sowohl durch die Systemum- gebung als auch durch das System selbst stark beeinflusst. Beide Faktoren reduzieren die Wiederverwendbarkeit und die Erweiterbarkeit der Software in erheblichem Maße. Insbesondere können wirtschaftliche Überlegungen mitunter hohe Anforderungen an das Design stellen. Eine Lösung dieser Problematik kann nur mit klar definierten Abstrakti- onsebenen und geeigneten Schnittstellen zur Integration ermöglicht werden. Mit MetaC wird in dieser Arbeit eine Spracherweiterung vorgestellt, die neue Konzepte bietet, um die speziellen Anforderungen querschneidender Strukturen von eingebetteter Software anzusprechen. Insbesondere werden Methoden zur Verbesserung der Wiederver- wendbarkeit, Erweiterbarkeit und Abstraktion von Software für eingebettete
    [Show full text]
  • WCET Analysis of Java Bytecode Featuring Common Execution Environments
    WCET Analysis of Java Bytecode Featuring Common Execution Environments Christian Frost, Casper Svenning Jensen, Kasper Søe Luckow, Bent Thomsen Department of Computer Science, Aalborg University Selma Lagerlöfs Vej 300 DK-9220, Aalborg East, Denmark {chrfrost,semadk,luckow,bt}@cs.aau.dk ABSTRACT 1. INTRODUCTION We present a novel tool for statically determining the Worst Java in its traditional form, has inherent issues that makes Case Execution Time (WCET) of Java Bytecode-based pro- it less suitable for development of hard real-time embedded grams called Tool for Execution Time Analysis of Java byte- systems such as the lack of the notion of a deadline and code (TetaJ). This tool differentiates itself from existing high-resolution real-time clocks. To accommodate these, a tools by separating the individual constituents of the execu- variety of initiatives such as the Real-Time Specification tion environment into independent components. The prime for Java (RTSJ) [23] and related profiles: Safety Critical benefit is that it can be used for execution environments Java (SCJ) [16] and Predictable Java (PJ) [9] have been featuring common embedded processors and software im- initiated. These specify certain alterations to the under- plementations of the JVM. TetaJ employs a model checking lying Java Virtual Machine (JVM) and various extensions approach for statically determining WCET where the Java through libraries that, when adhered to, creates a program- program, the JVM, and the hardware are modelled as Net- ming model that can be used for real-time systems devel- works of Timed Automata (NTA) and given as input to the opment in Java.
    [Show full text]