Efficient SOAP processing for tiny embedded servers
|
|
- Constance Jennings
- 5 years ago
- Views:
Transcription
1 Efficient SOAP processing for tiny embedded servers Jan Janeček Dept. of Computer Science and Engineering, Czech Technical University in Prague This text gives a survey of activities in the project supported by the grant of Microsoft Research Cambridge, which has been aimed to the following areas: - development of an effective framework for applications running on tiny microcontrollers, giving them ability to communicate by the SOAP protocol, - development of an HW/SW framework that allows integration of cryptographic functions implemented in FPGA into PDA/Windows CE architecture, - use of the operating system Windows CE as a development tool for students projects in the course Application of Microcomputers. The report presents results obtained in the first and third area till 30/07/2004, the second area is covered by a separate material prepared by Dr. Jan Schmidt. Idea of a tiny SOAP server/application Middleware technologies based on the well standardised XML-based SOAP protocol are widely used for web services. Servers are powerful computers, which provide access to huge data sources, clients provide primarily a (graphical) user interface, and are available on desktops, notebooks, PDAs and smartphones. Communication between a client and server is generally limited to exchange of several messages, effectiveness is not therefore as important as non-restricted interoperability. Readability of data transferred in XML format can be advantage in some cases, but a simple and well-defined syntax of messages is more important: a common XML parser can be used to convert SOAP messages of different applications into data structures. The goal of our research has been to explore possibility of using SOAP communication in systems, where more small sensors are providing information to clients, which are, similarly as with web services, providing the user interface and evaluating/storing data, and in systems, where clients are sending commands to small controllers (Fig.). clients sensors / controllers web services Fig. System with tiny SOAP servers Advantage of SOAP in systems of this type is evident, development tools designed for web service clients can be used without changes. On the other side, technologies used in current web servers have system requirements, which small sensors/controllers cannot accomplish. Moreover, real-time behaviour of classical web server technology does not correspond to requirements of many control systems.
2 2 Structure of the SOAP analyser Any XML document/message, e.g. a SOAP request/ response and WSDL definition, can be described by a suitable language model: tree and hedge grammars are frequently used by theoreticians. Respecting requirements of effective implementation we selected a string based model: XML grammars. XML grammars form a subset of the context-free class, and we could use obvious compiler-compiler technologies (e.g. yacc/lex, JavaCC) to create a suitable validating parser. However, some features of XML (as defined by W3C, specifically common use of namespaces) and regular structures of XML grammar productions allow designing of more efficient analysers (from the viewpoint of the code length and space required) and analyser generating tools without enormous initial effort. The language of XML documents can be described in two layers by two grammars: - G t = {N t, T t, P t }, that describes the structure of XML tags, - G v = {N v, T v, P v }, that describes parenthetic structure of XML expressions/elements. The alphabet of tags T, which serve as terminal symbols for the grammar G v, contains opening tags a A and closing tags a A, i.e. T = A A. Each symbol a A has a corresponding counterpart a A. Tags are recognised by a tag analyser, which function corresponds, from the G v grammar viewpoint, to a lexical analyser in the standard compiler architecture. The tag analyser accepts words of the language generated by the rules of the grammar G t : T < ns : tname P > < /ns : tname > 2 < ns : tname P / > 3 < tname P > < /tname > 4 < tname P / > 5 P ns:aname = aval 6 aname = aval. Nonterminals T and P of the grammar G t represent tags and attributes. Terminals ns, tname, aname, and aval represent identifiers of namespaces, tag names, attribute names, and values correspondingly. The rules describe empty tags (lines 2 and 4 in the above definition) in addition to opening and closing tags. To simplify the description, empty tags can be eliminated omitting the corresponding lines and replacing each empty tag by the sequence of the corresponding opening and closing tag. The set of nonterminal symbols N v of the grammar G v has one-to-one correspondence with the set of opening tags A. If we denote these nonterminals X a N v, all productions of the grammar G v have one of the forms: X a a µ a a, X a a ν a a, µ a R a, R a N v ν a V al a where R a is a regular set over N v and V al a is set of strings that represents values of atomic elements. The production selected when an opening tag is presented by the tag analyser depends only on this opening tag. We have a single production for each opening tag, the set of opening tags and the set of productions is constructed from the WSDL document and used during a SOAP message reception. Since SOAP messages contain no type definitions, which are defined in the corresponding WSDL document, the set of productions is static. However, support for dynamic enhancement of the production set does no complicate significantly the implementation of the analyser, this fact is useful when documents with type definitions are analysed (e.g. WSDL documents). 3 SOAP analyser The overall structure of the engine that analyses SOAP messages, based on the G v grammar, is described in Fig.2. Each production entered during the parsing process is represented by a finite automaton plane bound to the element in the stack. The structure of each finite automaton, which is defined by the corresponding regular expression µ a is stored as a constant only once. All necessary state information (i.e. automaton state, namespace information, and variables required to prepare the invocation) is accessible through the stack. Therefore, the stack is the only dynamic structure required to analyse SOAP messages and prepare parameters for method invocations. All the overhead required by dynamic memory management of a standard DOM parser can be avoided, our SOAP analyser respects the pulling SAX model. Moreover, if SOAP is not used to transfer recursively defined data structures (this condition is obviously fulfilled), no automaton is referenced more than once from the stack and all the state information may be allocated memory space statically.
3 Because of the facts mentioned above, all the common functionality of the stub can be concentrated into predefined library routines, a specific definition of an interface may be stored as nonvolatile data and all the state information of activated finite automata may be stored in a statically allocated memory. The SOAP engine starts with the empty stack and an automaton that accepts the envelope of the SOAP message. When an opening tag is accepted by the tag analyser, a reference to the corresponding automaton and its data space is pushed in the stack. A correct closing tag pops a reference from the stack. The automaton that controls response generation and the automaton used by the analyser have the same format. µ b b b µ a a a µ ε Fig. 2 Data structures for the tiny SOAP analyser The framework developed to test the approach consists of a compiler, which creates a description of the SOAP automata (receiver serves to analysis of requests, sender forms responses) from the WSDL description of the service. (The WSDL description is generated from the server code or interface description prepared in a suitable programming language, we utilised WSDL descriptions generated from C# in Visual.Net and from Java by java2wsdl tool from Axis). The description is completed by definition of structures and corresponding access/construction methods, and linked to the common code of the server, TCP/IP stack and real-time kernel (Fig 3a.). definitions SOAP automaton data types system support interface application code TCP/IP Ethernet R/T kernel Fig. 3a Structure of SOAP processor Fig. 3b Charon II module The size of generated description and the size of common system support limits usefulness of the technology for systems with small program/data memory. Our implementation requires about 5 kb of the code memory for the 8-bit Atmel s Atmega28 and about the same size for the Intel s PC. With a (restricted) TCP/IP stack and a simple real-time kernel the application fits into a small microcontroller, we tested the technology at the Charon-II module (Atmega28, 28 kb Flash, 32 kb RAM, Mbps Ethernet, egnite s NutOS and TCP/IP stack - Fig.3b). These requirements are significantly lower than requirements of other technologies developed for embedded servers (CE.Net SOAP, esoap, ksoap), and lower than gsoap, based on yacc/lex technology.
4 4 Example of a tiny SOAP server To illustrate usage of a compiled SOAP application we can describe the interface between a client, implementing, for example, a graphical user interface and a multichannel sensor. The interface of the multichannel sensor, playing a role of the server is: namespace Sensor { public class Sample { public int Channel; public int Value; public int TimeStamp; } public class Service: System.Web.Services.WebService { Sample[] storage=new Sample[storageSize];... public Service() public void Initialize(int Channel, int Range) public Sample GetSample() public void SetSample(Sample val) public Sample[] GetAll() } } The sensor converts samples from its analog inputs into integer values stored in a memory buffer storage. Since we require both, synchronous sampling controlled by an internal clock, and asynchronous sampling controlled by external events, values are stored together with time stamps (represented as integers) and channel numbers in records of the type Sample. Individual samples stored in memory can be transferred to the client by the method GetSample. In addition, the method GetAll returns sequence of samples. The method Initialize defines parameters of the A/D conversion and empties the memory buffer storage. Another method SetSample inserts a marker or remotely measured value (e.g. a value from another sensor playing the server s role) into the sequence. There is no method to synchronize the clock of the sensor, a conversion of time stamps to the real time is provided by the control system. 5 Performance evaluation To have some comparison for the compiled SOAP application, we measured response times on general (e-business) purpose web servers. The servers were running on the.3 GHz Centrino, the clients were running on the.09 Ghz Athlon. Machines have been directly interconnected by their Base-T interfaces. A sequence of 00 calls to the Initialize method of our example (two long parameters, an empty response) has been measured, no additional load has been presented to servers. The processor s cycle counter has been used to measure time, providing resolution lower than ns. Results obtained for the Axis server (Fig.4) illustrate influence of the bytecode JIT compiler and adjusting of multithreading inside JVM. Response time has a high variation during stabilization period, mainly due to the fact that calls are opening its own TCP connections.
5 The IIS server gives better results. After a rather high delay for the firsts call (due to compilation of the server s code), the IIS server provides a more stable service. The drawback of the implementation lies in the fact, that the SOAP request is passed to the server only after the server responds to the HTTP POST header by an HTTP O.K message carrying the Continue clause (the time required by the first phase of the remote call is represented in Fig.5 by smaller points - lower line ) Fig. 4 Axis SOAP - response time Fig. 5 IIS SOAP - response time Response time of the compiled SOAP application has been measured on the 8-bit microcontroller, Atmel s Atmega28, with the clock frequency MHz running NutOS real-time kernel. Response time of.57 ms (for Initialize call) has a very small deviation (Fig.6), analysis of the SOAP request consumes only 2.7 ms and is faster than generation of the response from short textual items. To compare performance and behaviour of our SOAP analyser with Axis and IIS servers we compiled the same application for PC (the same compiler, gcc, has been used). Response time, presented in Fig.7, is shorter and has much lower variation, the SOAP analyser itself consumes only 8 µs (represented by smaller points - lower line - in Fig.7) Fig. 6 Charon II - response time Fig. 7 Charon PC - response time Performance evaluation of the compiled SOAP application proved the ability of the method to give reasonable response time even for tiny servers. The real-time behaviour (variation of the response time) of the compiled application is better than behaviour of the same service running on a general web server. We would like to complete performance data with measurements over wireless connections (Bluetooth, WiFi) till September Use of Windows CE in students projects We included semestral projects aimed to Windows CE applications on embedded systems into the programme of the subject Applications of Microcomputers in the summer semester 2003/04. The projects were aimed to applications, which communicate over TCP/IP. The hardware used in projects was acquired with the help of the MSR grant.
6 Specifically, we have used the following hardware: AMD Alchemy DBAu Development Board ( piece) Configuration: AMD MIPS processor 64 MB SDRAM 32 MB Flash memory / Mbps Ethernet two PCMCIA slots USB host/device controller flexible LCD/CRT controller touch screen interface JTAG interface bsquare s CE.Net BSP VIA processor based book-size PC (2 pieces) Configuration: VIA Eden/C3 500 Mhz processor 256 MB DDR SDRAM three / Mbps Ethernets PCMCIA slot IDE/DiscOnChip interface USB host controller Voipac PXA255 Development Board (2 pieces) Configuration: Intel Xscale PXA 255/300 Mhz processor 64 MB SDRAM 32 MB Flash memory two / Mbps Ethernets two PCMCIA interfaces LCD interface and display touch screen interface JTAG interface The selection of HW respects requirements of the education: AMD is a nice high-performance MIPS board supported by CE.NET (bsquare), the book-sized PC is a low-price compact system suitable for embedded use, and PXA255 is a typical industry-level board equipped with widely used Xscale processor. Work on the project resulted in the definition of three diploma theses that will be finished and defended in February 2005.
PXA270 EPIC Computer with Power Over Ethernet & Six Serial Protocols SBC4670
PXA270 EPIC Computer with Power Over Ethernet & Six Serial Protocols SBC4670 Features RoHS 520MHz Low-power ARM processor w/ 800 x 600 Color LCD Power Over Ethernet and 10/100BASE-T Ethernet GPS module
More informationHardware Support for a Wireless Sensor Network Virtual Machine
Hardware Support for a Wireless Sensor Network Virtual Machine Hitoshi Oi The University of Aizu February 13, 2008 Mobilware 2008, Innsbruck, Austria Outline Introduction to the Wireless Sensor Network
More informationMIT Specifying Languages with Regular Expressions and Context-Free Grammars
MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Language Definition Problem How to precisely
More informationCompiler Theory. (Semantic Analysis and Run-Time Environments)
Compiler Theory (Semantic Analysis and Run-Time Environments) 005 Semantic Actions A compiler must do more than recognise whether a sentence belongs to the language of a grammar it must do something useful
More informationList of Figures. About the Authors. Acknowledgments
List of Figures Preface About the Authors Acknowledgments xiii xvii xxiii xxv 1 Compilation 1 1.1 Compilers..................................... 1 1.1.1 Programming Languages......................... 1
More informationSecurity Based Heuristic SAX for XML Parsing
Security Based Heuristic SAX for XML Parsing Wei Wang Department of Automation Tsinghua University, China Beijing, China Abstract - XML based services integrate information resources running on different
More informationMethod-Level Phase Behavior in Java Workloads
Method-Level Phase Behavior in Java Workloads Andy Georges, Dries Buytaert, Lieven Eeckhout and Koen De Bosschere Ghent University Presented by Bruno Dufour dufour@cs.rutgers.edu Rutgers University DCS
More information2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS
2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS 2.1 Real-Time and Control Computer based digital controllers typically have the ability to monitor a number of discrete and analog inputs, perform complex
More informationDerivations of a CFG. MACM 300 Formal Languages and Automata. Context-free Grammars. Derivations and parse trees
Derivations of a CFG MACM 300 Formal Languages and Automata Anoop Sarkar http://www.cs.sfu.ca/~anoop strings grow on trees strings grow on Noun strings grow Object strings Verb Object Noun Verb Object
More informationMSc. Software Engineering. Examinations for / Semester 1
MSc. Software Engineering Cohorts: MSE/16B/PT Examinations for 2016 2017/ Semester 1 MODULE: Service Oriented Architecture MODULE CODE: WAT 5101C Duration: 3 Hours Instructions to Candidates: 1. Answer
More informationLecture 15: Frameworks for Application-layer Communications
Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to
More informationLecture 15: Frameworks for Application-layer Communications
Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to
More informationHigh Volume Transaction Processing in Enterprise Applications
High Volume Transaction Processing in Enterprise Applications By Thomas Wheeler Recursion Software, Inc. February 16, 2005 TABLE OF CONTENTS Overview... 1 Products, Tools, and Environment... 1 OS and hardware
More informationIntroduction to Lexing and Parsing
Introduction to Lexing and Parsing ECE 351: Compilers Jon Eyolfson University of Waterloo June 18, 2012 1 Riddle Me This, Riddle Me That What is a compiler? 1 Riddle Me This, Riddle Me That What is a compiler?
More informationSUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional
SUN 311-232 Java Platform Enterprise Edition 6 Web Services Developer Certified Professional Download Full Version : http://killexams.com/pass4sure/exam-detail/311-232 QUESTION: 109 What are three best
More informationIJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:
Friendly ARM MINI2440 & Dalvik Virtual Machine with Android Sangamesh Gama 1 and Manjula C 2 1 Assistant Professor, Department of Computer Science and Engineering, BKIT Bhalki, India 2 Associate Software
More informationRYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 96 INSTRUCTIONS
RYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 96 STUDENT ID: INSTRUCTIONS Please write your student ID on this page. Do not write it or your name
More informationMIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology
MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Massachusetts Institute of Technology Language Definition Problem How to precisely define language Layered structure
More informationBuilding Robust Embedded Software
Building Robust Embedded Software by Lars Bak, OOVM A/S Demands of the Embedded Industy Increased reliability Low cost -> resource constraints Dynamic software updates in the field Real-time capabilities
More informationThe Active Embedded Ubiquitous Web Service Framework
The Active Embedded Ubiquitous Web Service Framework Dugki Min 1, *, Junggyum Lee 1, and Eunmi Choi 2, ** 1 School of Computer Science and Engineering, Konkuk University Hwayang-dong, Kwangjin-gu, Seoul,
More informationID 730L: Getting Started with Multimedia Programming on Linux on SH7724
ID 730L: Getting Started with Multimedia Programming on Linux on SH7724 Global Edge Ian Carvalho Architect 14 October 2010 Version 1.0 Mr. Ian Carvalho System Architect, Global Edge Software Ltd. Responsible
More informationLL Parsing, LR Parsing, Complexity, and Automata
LL Parsing, LR Parsing, Complexity, and Automata R. Gregory Taylor Department of Mathematics and Computer Science Manhattan College Riverdale, New York 10471-4098 USA Abstract It
More informationFaculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology
Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology exam Compiler Construction in4303 April 9, 2010 14.00-15.30 This exam (6 pages) consists of 52 True/False
More informationTwo hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Friday 20th May 2016 Time: 14:00-16:00
Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Compilers Date: Friday 20th May 2016 Time: 14:00-16:00 Please answer any THREE Questions from the FIVE Questions provided This is a CLOSED
More informationA New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors *
A New Approach to Determining the Time-Stamping Counter's Overhead on the Pentium Pro Processors * Hsin-Ta Chiao and Shyan-Ming Yuan Department of Computer and Information Science National Chiao Tung University
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design
i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target
More informationLesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education
Lesson 5 Arduino Prototype Development Platforms 1 Arduino Boards, Modules And Shields Popular AVR MCU based products Each board has clear markings on the connection pins, sockets and in-circuit connections
More informationWireless Embedded Modules
Wireless Embedded Modules North American Sales Meeting July 2003 Product Overview Product Summary Embedded 802.11b wireless modules Ultra-compact, single component solutions Pin-compatible and interchangeable
More informationProgramming Languages Third Edition. Chapter 7 Basic Semantics
Programming Languages Third Edition Chapter 7 Basic Semantics Objectives Understand attributes, binding, and semantic functions Understand declarations, blocks, and scope Learn how to construct a symbol
More informationLecture 1 Introduction Pervasive Computing MIT & SMA 5508
Lecture 1 Introduction Pervasive Computing MIT 6.883 & SMA 5508 Larry Rudolph (MIT) Tat Jen Cham (NUT) 1 Course Structure Overview Two sets of students -- MIT and SMA Two parts to class Individual technologies
More informationCSE 5317 Midterm Examination 4 March Solutions
CSE 5317 Midterm Examination 4 March 2010 1. / [20 pts] Solutions (parts a j; -1 point for each wrong answer, 0 points for each blank answer, 2 point for each correct answer. Therefore, the score for this
More informationEMBEDDED HARDWARE. Core Board. ARM7 Development board. ARM7 Evaluation Board. Page 1 of 5
Core Board * Size: 71.2mm *50.8mm * Industrial grade 32-bit RISC micro-controller * Mass storage device support * Industrial grade 16C550 Serial Interface * 10/100M Industrial Ethernet interface * USB
More informationCS 415 Midterm Exam Spring SOLUTION
CS 415 Midterm Exam Spring 2005 - SOLUTION Name Email Address Student ID # Pledge: This exam is closed note, closed book. Questions will be graded on quality of answer. Please supply the best answer you
More informationQuestion Points Score
CS 453 Introduction to Compilers Midterm Examination Spring 2009 March 12, 2009 75 minutes (maximum) Closed Book You may use one side of one sheet (8.5x11) of paper with any notes you like. This exam has
More information538 Lecture Notes Week 1
538 Clowes Lecture Notes Week 1 (Sept. 6, 2017) 1/10 538 Lecture Notes Week 1 Announcements No labs this week. Labs begin the week of September 11, 2017. My email: kclowes@ryerson.ca Counselling hours:
More informationCSCE 314 Programming Languages. Type System
CSCE 314 Programming Languages Type System Dr. Hyunyoung Lee 1 Names Names refer to different kinds of entities in programs, such as variables, functions, classes, templates, modules,.... Names can be
More informationI Introduction to Real-time Applications By Prawat Nagvajara
Electrical and Computer Engineering I Introduction to Real-time Applications By Prawat Nagvajara Synopsis This note is an introduction to a series of nine design exercises on design, implementation and
More informationCompiler Construction
Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-16/cc/ Conceptual Structure of a Compiler Source code x1 := y2
More informationCompute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen
Compute Node Design for DAQ and Trigger Subsystem in Giessen Justus Liebig University in Giessen Outline Design goals Current work in Giessen Hardware Software Future work Justus Liebig University in Giessen,
More informationLANCOM Techpaper IEEE n Indoor Performance
Introduction The standard IEEE 802.11n features a number of new mechanisms which significantly increase available bandwidths. The former wireless LAN standards based on 802.11a/g enable physical gross
More informationMeasuring the Performance of XML-Based Data Standards
Measuring the Performance of XML-Based Data Standards Gino Crispieri gino.crispieri@ismi.sematech.org International SEMATECH Manufacturing Initiative SEMATECH, the SEMATECH logo, AMRC, Advanced Materials
More informationGigaX API for Zynq SoC
BUM002 v1.0 USER MANUAL A software API for Zynq PS that Enables High-speed GigaE-PL Data Transfer & Frames Management BERTEN DSP S.L. www.bertendsp.com gigax@bertendsp.com +34 942 18 10 11 Table of Contents
More informationONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *
ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * Pradip Peter Dey, Mohammad Amin, Bhaskar Raj Sinha and Alireza Farahani National University 3678 Aero Court San Diego, CA 92123 {pdey, mamin,
More informationVIA Apollo P4X400 Chipset. Enabling Total System Performance
VIA Apollo P4X400 Chipset Enabling Total System Performance High performance DDR400 chipset platform for the Intel Pentium 4 processor Page 1 Introduction The VIA Apollo P4X400 is a core logic chipset
More informationContents: Computer definition Computer literacy Computer components Computer categories Computer usage. Tablet PC
bas design Prepared by: Assoc. Prof. Dr Bahaman Abu Samah Department of Professional Development and Continuing Education Faculty of Educational Studies Universiti Putra Malaysia Serdang Contents: Computer
More informationDetermining Differences between Two Sets of Polygons
Determining Differences between Two Sets of Polygons MATEJ GOMBOŠI, BORUT ŽALIK Institute for Computer Science Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova 7,
More informationEEC-682/782 Computer Networks I
EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at
More informationCOLLEGE OF ENGINEERING, NASHIK. LANGUAGE TRANSLATOR
Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK. LANGUAGE TRANSLATOR By Prof. Anand N. Gharu (Assistant Professor) PVGCOE Computer Dept.. 22nd Jan 2018 CONTENTS :- 1. Role of lexical analysis 2.
More informationLabVIEW ON SMALL TARGET
LabVIEW ON SMALL TARGET Silviu FOLEA *, Marius GHERCIOIU **, Horia HEDESIU *, Crisan GRATIAN **, Ciprian CETERAS **, Ioan MONOSES ** * Technical University of Cluj-Napoca, ** National Instruments USA,
More informationLecture 1 Introduction Pervasive & Mobile Computing MIT 6.883
Lecture 1 Introduction Pervasive & Mobile Computing MIT 6.883 Larry Rudolph (MIT) 1 Pervasive Computing MIT 6.883 Spring 2007 Larry Rudolph Course Structure Overview Class is hands-on but also lectures
More informationUnlocking the Potential of Your Microcontroller
Unlocking the Potential of Your Microcontroller Ethan Wu Storming Robots, Branchburg NJ, USA Abstract. Many useful hardware features of advanced microcontrollers are often not utilized to their fullest
More informationLecture 8: February 19
CMPSCI 677 Operating Systems Spring 2013 Lecture 8: February 19 Lecturer: Prashant Shenoy Scribe: Siddharth Gupta 8.1 Server Architecture Design of the server architecture is important for efficient and
More informationTop down vs. bottom up parsing
Parsing A grammar describes the strings that are syntactically legal A recogniser simply accepts or rejects strings A generator produces sentences in the language described by the grammar A parser constructs
More informationAT-501 Cortex-A5 System On Module Product Brief
AT-501 Cortex-A5 System On Module Product Brief 1. Scope The following document provides a brief description of the AT-501 System on Module (SOM) its features and ordering options. For more details please
More informationLexical Scanning COMP360
Lexical Scanning COMP360 Captain, we re being scanned. Spock Reading Read sections 2.1 3.2 in the textbook Regular Expression and FSA Assignment A new assignment has been posted on Blackboard It is due
More informationClient-side SOAP in S
Duncan Temple Lang, University of California at Davis Table of Contents Abstract... 1 Converting the S values to SOAP... 3 The Result... 3 Errors... 4 Examples... 4 Service Declarations... 5 Other SOAP
More informationJust-In-Time Compilation
Just-In-Time Compilation Thiemo Bucciarelli Institute for Software Engineering and Programming Languages 18. Januar 2016 T. Bucciarelli 18. Januar 2016 1/25 Agenda Definitions Just-In-Time Compilation
More informationCSCI312 Principles of Programming Languages!
CSCI312 Principles of Programming Languages!! Chapter 3 Regular Expression and Lexer Xu Liu Recap! Copyright 2006 The McGraw-Hill Companies, Inc. Clite: Lexical Syntax! Input: a stream of characters from
More informationCOMPILER CONSTRUCTION LAB 2 THE SYMBOL TABLE. Tutorial 2 LABS. PHASES OF A COMPILER Source Program. Lab 2 Symbol table
COMPILER CONSTRUCTION Lab 2 Symbol table LABS Lab 3 LR parsing and abstract syntax tree construction using ''bison' Lab 4 Semantic analysis (type checking) PHASES OF A COMPILER Source Program Lab 2 Symtab
More informationDr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication
Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 SIM Distributed Systems Chapter 4 - Communication CSCI319 Chapter 4 Page: 1 Communication Lecture notes based on the textbook by Tannenbaum Study objectives:
More informationXML Processing & Web Services. Husni Husni.trunojoyo.ac.id
XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3
More informationSoftware development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH
Software development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH A modular software application can help designers focus on the essential part of their task -
More informationSmart Transducer Networks
Smart Transducer Networks Wilfried Elmenreich Bernhard Huber Implementation Requirements 2 Definition A smart transducer is the integration of an analog or digital sensor or actuator element, a processing
More informationLesson 3 SOAP message structure
Lesson 3 SOAP message structure Service Oriented Architectures Security Module 1 - Basic technologies Unit 2 SOAP Ernesto Damiani Università di Milano SOAP structure (1) SOAP message = SOAP envelope Envelope
More informationEmbest SOC8200 Single Board Computer
Embest SOC8200 Single Board Computer TI's AM3517 ARM Cortex A8 Microprocessors 600MHz ARM Cortex-A8 Core NEON SIMD Coprocessor POWERVR SGX Graphics Accelerator (AM3517 only) 16KB I-Cache, 16KB D-Cache,
More informationDefinition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,
CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for
More informationMIDTERM EXAM (Solutions)
MIDTERM EXAM (Solutions) Total Score: 100, Max. Score: 83, Min. Score: 26, Avg. Score: 57.3 1. (10 pts.) List all major categories of programming languages, outline their definitive characteristics and
More informationA First Book of ANSI C Fourth Edition. Chapter 8 Arrays
A First Book of ANSI C Fourth Edition Chapter 8 Arrays Objectives One-Dimensional Arrays Array Initialization Arrays as Function Arguments Case Study: Computing Averages and Standard Deviations Two-Dimensional
More informationCS 415 Midterm Exam Fall 2003
CS 415 Midterm Exam Fall 2003 Name KEY Email Address Student ID # Pledge: This exam is closed note, closed book. Questions will be graded on quality of answer. Please supply the best answer you can to
More informationIntroduction to Microcontrollers
Introduction to Microcontrollers June 2017 Scott A. Theis W2LW Rev 5 ( 0 8 / 0 2 / 2 0 1 7 ) What s it all about How to get started What are some of the common controller options General introduction to
More informationCS143 Handout 20 Summer 2011 July 15 th, 2011 CS143 Practice Midterm and Solution
CS143 Handout 20 Summer 2011 July 15 th, 2011 CS143 Practice Midterm and Solution Exam Facts Format Wednesday, July 20 th from 11:00 a.m. 1:00 p.m. in Gates B01 The exam is designed to take roughly 90
More informationTalen en Compilers. Jurriaan Hage , period 2. November 13, Department of Information and Computing Sciences Utrecht University
Talen en Compilers 2017-2018, period 2 Jurriaan Hage Department of Information and Computing Sciences Utrecht University November 13, 2017 1. Introduction 1-1 This lecture Introduction Course overview
More informationPrecise Continuous Non-Intrusive Measurement-Based Execution Time Estimation. Boris Dreyer, Christian Hochberger, Simon Wegener, Alexander Weiss
Precise Continuous Non-Intrusive Measurement-Based Execution Time Estimation Boris Dreyer, Christian Hochberger, Simon Wegener, Alexander Weiss This work was funded within the project CONIRAS by the German
More informationChapter 02. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1
Chapter 02 Authors: John Hennessy & David Patterson Copyright 2011, Elsevier Inc. All rights Reserved. 1 Figure 2.1 The levels in a typical memory hierarchy in a server computer shown on top (a) and in
More informationM359 Block5 - Lecture12 Eng/ Waleed Omar
Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying
More informationRYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 97 INSTRUCTIONS
RYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 97 STUDENT ID: INSTRUCTIONS Please write your student ID on this page. Do not write it or your name
More information1.0 The System Architecture and Design Features
1.0 The System Architecture and Design Features Figure 1. System Architecture The overall guiding design philosophy behind the Data Capture and Logging System Architecture is to have a clean design that
More informationOverview. 1/13/ Preliminary Product Brief
aj--102 Diispllay Evalluattiion Kiitt aj--102dek Overview The ajile aj-102dek is a compact and versatile display evaluation kit for the aj-102 SOC that directly executes both Java bytecode instructions,
More informationDesign and Development of an Asynchronous Serial Communication Learning Media to Visualize the Bit Data
Journal of Physics: Conference Series PAPER OPEN ACCESS Design and Development of an Asynchronous Serial Communication Learning Media to Visualize the Bit Data To cite this article: D Hariyanto et al 2018
More informationAcceleration Techniques for XML Processors
Acceleration Techniques for XML Processors Biswadeep Nag Staff Engineer Performance Engineering XMLConference 2004 XML is Everywhere Configuration files (web.xml, TurboTax) Office documents (StarOffice,
More informationMDR-1 Mobile Document Reader
MDR-1 Mobile Document Reader SPC_MDR-1 1/7 Mobile Document Reader MDR-1 Security Printing Consulting AG The new MDR-1 document reader fulfill the needs for fast and reliable reading, verification and authentication
More informationGetting to know the Arduino IDE
Getting to know the Arduino IDE I ve heard about Arduino, what the heck is it? Arduino is a development environment Combination of hardware and software Hardware based on Atmel AVR processors Software
More informationIntroduction to Parsing. Lecture 8
Introduction to Parsing Lecture 8 Adapted from slides by G. Necula Outline Limitations of regular languages Parser overview Context-free grammars (CFG s) Derivations Languages and Automata Formal languages
More informationRDGL Reference Manual
RDGL Reference Manual COMS W4115 Programming Languages and Translators Professor Stephen A. Edwards Summer 2007(CVN) Navid Azimi (na2258) nazimi@microsoft.com Contents Introduction... 3 Purpose... 3 Goals...
More informationImplementation of Sequential Function Charts with microcontrollers
Implementation of Sequential Function Charts with microcontrollers N. A. Ivanescu, Th. Borangiu, S. Brotac and A. Dogar University Politehnica, Bucharest, Romania Abstract The paper describes an efficient
More informationPushdown Automata. A PDA is an FA together with a stack.
Pushdown Automata A PDA is an FA together with a stack. Stacks A stack stores information on the last-in firstout principle. Items are added on top by pushing; items are removed from the top by popping.
More informationOS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationAsynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC
Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC The Business Objective Automated Business Collaboration Facilitating exchange of information
More informationfor (i=1; i<=100000; i++) { x = sqrt (y); // square root function cout << x+i << endl; }
Ex: The difference between Compiler and Interpreter The interpreter actually carries out the computations specified in the source program. In other words, the output of a compiler is a program, whereas
More informationSyntax Analysis, VII One more LR(1) example, plus some more stuff. Comp 412 COMP 412 FALL Chapter 3 in EaC2e. target code.
COMP 412 FALL 2017 Syntax Analysis, VII One more LR(1) example, plus some more stuff Comp 412 source code IR Front End Optimizer Back End IR target code Copyright 2017, Keith D. Cooper & Linda Torczon,
More informationCSEP 501 Compilers. Languages, Automata, Regular Expressions & Scanners Hal Perkins Winter /8/ Hal Perkins & UW CSE B-1
CSEP 501 Compilers Languages, Automata, Regular Expressions & Scanners Hal Perkins Winter 2008 1/8/2008 2002-08 Hal Perkins & UW CSE B-1 Agenda Basic concepts of formal grammars (review) Regular expressions
More informationLexing, Parsing. Laure Gonnord sept Master 1, ENS de Lyon
Lexing, Parsing Laure Gonnord http://laure.gonnord.org/pro/teaching/capm1.html Laure.Gonnord@ens-lyon.fr Master 1, ENS de Lyon sept 2017 Analysis Phase source code lexical analysis sequence of lexems (tokens)
More informationModule 1. Introduction. Version 2 EE IIT, Kharagpur 1
Module 1 Introduction Version 2 EE IIT, Kharagpur 1 Lesson 3 Embedded Systems Components Part I Version 2 EE IIT, Kharagpur 2 Structural Layout with Example Instructional Objectives After going through
More informationIntelop. *As new IP blocks become available, please contact the factory for the latest updated info.
A FPGA based development platform as part of an EDK is available to target intelop provided IPs or other standard IPs. The platform with Virtex-4 FX12 Evaluation Kit provides a complete hardware environment
More informationFunctional Specification
EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH ORGANISATION EUROPEENE POUR LA RECHERCHE NUCLEAIRE White Rabbit Switch Functional Specification Version: 0.c Date: September 6 of 2010. Author: J. Gabriel Ramírez
More informationEVALUATION OF WEB SERVICES IMPLEMENTATION FOR ARM-BASED EMBEDDED SYSTEM
EVALUATION OF WEB SERVICES IMPLEMENTATION FOR ARM-BASED EMBEDDED SYSTEM Mitko Petrov Shopov, Hristo Matev Matev, Grisha Valentinov Spasov Department of Computer Systems and Technologies, Technical University
More informationSTM32 Cortex-M3 STM32F STM32L STM32W
STM32 Cortex-M3 STM32F STM32L STM32W 01 01 STM32 Cortex-M3 introduction to family 1/2 STM32F combine high performance with first-class peripherals and lowpower, low-voltage operation. They offer the maximum
More informationParsing. source code. while (k<=n) {sum = sum+k; k=k+1;}
Compiler Construction Grammars Parsing source code scanner tokens regular expressions lexical analysis Lennart Andersson parser context free grammar Revision 2012 01 23 2012 parse tree AST builder (implicit)
More informationSmart Transducer Networks. Embedded Systems Engineering Armin Wasicek
Smart Transducer Networks Embedded Systems Engineering Armin Wasicek Overview Motivation & Design Principles TTP/A Fieldbus Protocol Implementation Requirements Smart Transducer Interface Standard Conclusion
More informationChapter 3: Operating-System Structures
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