Object Oriented Software Design II

Size: px
Start display at page:

Download "Object Oriented Software Design II"

Transcription

1 Object Oriented Software Design II duck-lab project Christian Nastasi Scuola Superiore Sant Anna Pisa May 2, 2012 C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

2 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

3 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

4 Data AcQuisition System A basic DAQ system duck-lab: an open-source DAQ framework Project (temporary) home page: Mercurial revision control: (hg clone C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

5 duck-lab architecture I/O Library Core Library Storage Library Streamer Storage Vector... 0xFF 0xAF 0x47... Formatter Data Vector D1 D2 D3... Dn S1 S2 S3... Sm XML Configuration Three main modules: 1 Core module: Data types and helper classes/functions 2 I/O module: acquisition and formatting 3 Storage module: storing information C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

6 duck-lab architecture I/O Library Core Library Storage Library Streamer Storage Vector... 0xFF 0xAF 0x47... Formatter Data Vector D1 D2 D3... Dn S1 S2 S3... Sm XML Configuration Three main modules: 1 Core module: Data types and helper classes/functions 2 I/O module: acquisition and formatting 3 Storage module: storing information 4 Display/Render module: not implemented yet C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

7 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

8 Core Module: duck_core_lib The actual data vector is held by the Formatter... I/O Library Formatter Data Vector format() Core Library Data D1 D2 D3... Dn DataInt8 DataSound... C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

9 Core Module: duck_core_lib core DuckException: Parser: BasicTemplateFactory: BasicTwoWayTemplateFactory: DuckLog: DuckUtils: base exception class for all duck-lab exceptions XML parser class template class for basic class factory (factory method) template class for two consecutive class factories logging (debug) utilities namespaced utility functions data Metadata: Data: DataConfig: DataTemplate: Endianess: basic_types: base class for data abstract base class for all concrete data classes the data configuration class template (helper) class for basic data types module for endianess correction support for native C++ types (integers, reals) C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

10 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

11 I/O Module: duck_io_lib core DuckIO: DuckIOException: streamer composite class defining the I/O module exception class for all duck-lab I/O exceptions StreamerHandler: manager class for the streaming process; 3 layers sub-architecture: stream, policy, escape NOTE: sub-layers configurable/customizable at Run-Time. formatter FormatHandler: manager class for the data formatting process; NOTE: delegation to Data for actual data formatting logic. C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

12 I/O Module: duck_io_lib Streamer I/O Library Escape Formatter Policy Stream XML Configuration C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

13 streamer sub-architecture: duck_io_lib 3 sub-layers: stream: driver to access the low-level channel (e.g. serial port, socket, etc.) Basic Stream classes: Stream, StreamConfig, StreamFactory, StreamException Concrete streams currently supported: file, serial policy: how to read the bytes from the stream Basic policy classes: Escape, EscapeConfig, EscapeFactory Concrete policies currently supported: length, start-stop escape: managing byte/bit escaping if necessary Basic escape classes: Policy, PolicyConfig, PolicyFactory Concrete escapes currently supported: xor C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

14 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

15 Storage Module: duck_storage_lib Storage Library Storage Vector S1 S2 S3... Sm Data Vector Data Vector Data Vector Data Vector D2 D3... D2 D3... D2 D3... D2 D3... Dn D1 Dn D1 Dn D1 D1 Dn DataVector Dispatcher C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

16 Storage Module: duck_storage_lib data DuckStorage: DuckStorageException: Storage: StorageConfig: StorageException: StorageFactory: StorageConfigFactory: StorageHandler: Dispatcher: composite class defining the storage module base exception class for all duck-lab storage abstract base class for all concrete storages base configuration class for storages exception class for all storage submodules class factory for concrete storages class factory for storage configuration classes manager class for the data storing process; NOTE: delegation to Data might be used in some cases. submodule for publish/subscribe pattern storage: Contains all possible data storage submodules (concrete storages) Storages supported: TextFile, RootStorage C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

17 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

18 Execution phases Two main execution phases: 1 Configuration: At program start-up, initialization of all modules and submodules Time responsiveness is not an issue XML parsing to read configuration Concrete submodules are instantiated and configured (NOTE: factories are used here for creation) 2 Running: After configuration is done Time responsiveness is important! Main execution loop (might be or not be a never ending one) Performs: Acquisition, Storing (if any), Rendering (if any) C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

19 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

20 Data configuration <message_description> <data data_type="sound"... </data> <data data_type="int8" <data data_type="int8" </message_description> data_name="data_name_1" data_len="1"> data_name="data_name_2" data_len="1"/> data_name="data_name_3" data_len="4"/> C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

21 Data configuration <message_description> <data data_type="sound"... </data> <data data_type="int8" <data data_type="int8" </message_description> data_name="data_name_1" data_len="1"> data_name="data_name_2" data_len="1"/> data_name="data_name_3" data_len="4"/> I/O Library Formatter Data Vector format() Core Library Data D1 D2 D3 DataInt8 DataSound... XML Configuration C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

22 Streamer configuration Serial port... <stream_definition> <stream stream_type="serial"> <serial_stream port_name="ttyusb0" baud_rate="115200" data_bits="8" parity_bit="none" stop_bits="1"/> </stream> <acquisition_option acquisition_type="start-stop"/> <escape escape_type="xor"/> </stream_definition> Parallel port... <stream_definition> <stream stream_type="parallel">... </stream> <acquisition_option acquisition_type="length"/> </stream_definition> C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

23 Streamer configuration Streamer I/O Library Streamer I/O Library XOR Formatter (none) Formatter Start Stop XML Length XML Configuration Configuration SERIAL PARALLEL C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

24 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

25 Running phase Data Vector Data Vector Data Vector Data Vector D1 D2 D3... Dn D1 D2 D3... Dn D1 D2 D3... Dn D1 D2 D3... Dn Execution loop in a SINGLE THREAD! I/O Library Core Library Storage Library Streamer Escape Formatter Data Vector D1 D2 D3... Dn Storage Vector S1 S2 S3... Sm Policy Stream copies C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

26 Outline 1 duck-lab architecture core module I/O module storage module 2 duck-lab execution configuration running 3 Project Assignment C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

27 Expectations What you should learn How to read, understand, reuse someone else s code Object oriented design: design new software, refactoring old one Software versioning (?) What you have to do Write clean code that works Write test software (where possible) Write documentation (doxygen is enough) Make questions... but not too soon and not too late! C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

28 Topics Three main projects (max 2 people) 1 Display module 2 Multi-threading support 3 Socket-based stream submodule Very small projects (1 person) + oral exam 1 Refactoring the existing Parser class 2 Adding parallel port stream C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

29 Display module Add a new module (similar to storage) for data rendering Implement 2D plots, histograms, image-show, etc. Solution using GUI library (your choice: QT, GTK+, others) C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

30 Multi-threading support Data Vector Data Vector Data Vector Data Vector D1 D2 D3... Dn D1 D2 D3... Dn D1 D2 D3... Dn D1 D2 D3... Dn Find a general solution applicable to different module Apply multi-threading to storages and streamer submodule Solution using boost library I/O Library Monothread Core Library Storage Library Streamer Escape Formatter Data Vector D1 D2 D3... Dn Storage Vector S1 S2 S3... Sm Policy Stream copies C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

31 Multi-threading support Data Vector D1 D2 D3... Dn Data Vector Data Vector Data Vector D1 D2 D3... Dn D1 D2 D3... Dn D1 D2 D3... Dn Find a general solution applicable to different module Apply multi-threading to storages and streamer submodule Solution using boost library I/O Library Multithread Core Library Storage Library Streamer Escape buffer Formatter Data Vector D1 D2 D3... Dn Dispatcher Policy Stream S1 S2 S3... Sm Storage Vector C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

32 Socket-based stream submodule Add a new stream submodule to the streamer Support multiple socket types Solution using boost library I/O Library Streamer XOR Formatter I/O Library Streamer (none) Formatter Start Stop TCP/IP XML Configuration Length HTTP GET XML Configuration C. Nastasi (Scuola Superiore Sant Anna) C++ Intro May 2, / 29

Object Oriented Software Design II

Object Oriented Software Design II Object Oriented Software Design II Real Application Design Christian Nastasi http://retis.sssup.it/~lipari http://retis.sssup.it/~chris/cpp Scuola Superiore Sant Anna Pisa April 25, 2012 C. Nastasi (Scuola

More information

Apache Thrift and Ruby

Apache Thrift and Ruby Apache Thrift and Ruby By Randy Abernethy In this article, excerpted from The Programmer s Guide to Apache Thrift, we will install Apache Thrift support for Ruby and build a simple Ruby RPC client and

More information

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying

More information

The Data Quality Monitoring Software for the CMS experiment at the LHC

The Data Quality Monitoring Software for the CMS experiment at the LHC The Data Quality Monitoring Software for the CMS experiment at the LHC On behalf of the CMS Collaboration Marco Rovere, CERN CHEP 2015 Evolution of Software and Computing for Experiments Okinawa, Japan,

More information

CReST Developers Guide

CReST Developers Guide CReST Developers Guide John Cartlidge University of Bristol Last Modified: June 2012 This document is being periodically updated and is not complete. Documentation on the extending the code is required,

More information

Windows Presentation Foundation (WPF)

Windows Presentation Foundation (WPF) 50151 - Version: 4 05 July 2016 Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) 50151 - Version: 4 5 days Course Description: This five-day instructor-led course provides students

More information

How To Program A Computer

How To Program A Computer Object Oriented Software Design Introduction Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 23, 2010 G. Lipari (Scuola Superiore Sant Anna) OOSD September 23, 2010

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

More information

BIRT Document Transform

BIRT Document Transform BIRT Document Transform BIRT Document Transform is the industry leader in enterprise-class, high-volume document transformation. It transforms and repurposes high-volume documents and print streams such

More information

Leveraging the Eclipse TPTP* Agent Infrastructure

Leveraging the Eclipse TPTP* Agent Infrastructure 2005 Intel Corporation; made available under the EPL v1.0 March 3, 2005 Eclipse is a trademark of Eclipse Foundation, Inc 1 Leveraging the Eclipse TPTP* Agent Infrastructure Andy Kaylor Intel Corporation

More information

Cross-Platform Software Considerations for Internet of Things

Cross-Platform Software Considerations for Internet of Things Cross-Platform Software Considerations for Internet of Things Tuukka Ahoniemi Technical Product Marketing Manager tuukka.ahoniemi@theqtcompany.com 10th Central and Eastern European Software Engineering

More information

Design Patterns in C++

Design Patterns in C++ Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,

More information

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

MA-WA1920: Enterprise iphone and ipad Programming

MA-WA1920: Enterprise iphone and ipad Programming MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, inemedi@ie.ase.ro Writing a custom web

More information

About this document. The technical fundamentals

About this document. The technical fundamentals About this document This document is aimed at IT managers and senior developers who are very comfortable with IBM ISeries (i5/os, AS/400, AS400) and now want to understand the issues involved in developing

More information

Dynamic Thread Pool based Service Tracking Manager

Dynamic Thread Pool based Service Tracking Manager Dynamic Thread Pool based Service Tracking Manager D.V.Lavanya, V.K.Govindan Department of Computer Science & Engineering National Institute of Technology Calicut Calicut, India e-mail: lavanya.vijaysri@gmail.com,

More information

Design and Development of an Ajax Web Crawler

Design and Development of an Ajax Web Crawler Li-Jie Cui 1, Hui He 2, Hong-Wei Xuan 1, Jin-Gang Li 1 1 School of Software and Engineering, Harbin University of Science and Technology, Harbin, China 2 Harbin Institute of Technology, Harbin, China Li-Jie

More information

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer

Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment Analyzer Version 2.0.0 Notes for Fixpack 1.2.0-TIV-W3_Analyzer-IF0003 Tivoli IBM Tivoli Web Response Monitor and IBM Tivoli Web Segment

More information

A Java Based Tool for Testing Interoperable MPI Protocol Conformance

A Java Based Tool for Testing Interoperable MPI Protocol Conformance A Java Based Tool for Testing Interoperable MPI Protocol Conformance William George National Institute of Standards and Technology 100 Bureau Drive Stop 8951 Gaithersburg MD 20899 8951 1 301 975 4943 william.george@nist.gov

More information

SAP Mobile Platform Intro

SAP Mobile Platform Intro SAP Mobile Platform Intro Agenda SAP Mobile Platform overview App types Core platform services Backend connectivity Open technologies HANA Cloud Platform Key UI Tools and Technologies SAP Fiori Launchpad

More information

The Windows Web Platform. Michael Epprecht Microsoft Switzerland michael.epprecht@microsoft.com twitter: fastflame

The Windows Web Platform. Michael Epprecht Microsoft Switzerland michael.epprecht@microsoft.com twitter: fastflame The Windows Web Platform Michael Epprecht Microsoft Switzerland michael.epprecht@microsoft.com twitter: fastflame Star Map April 1994 to August 1995 Page Views per Day: 124'655 Number of Servers: 3 3

More information

Java and Real Time Storage Applications

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

More information

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable

More information

C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.

C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln. Koln C#5.0 IN A NUTSHELL Fifth Edition Joseph Albahari and Ben Albahari O'REILLY Beijing Cambridge Farnham Sebastopol Tokyo Table of Contents Preface xi 1. Introducing C# and the.net Framework 1 Object

More information

ORACLE INSTANCE ARCHITECTURE

ORACLE INSTANCE ARCHITECTURE ORACLE INSTANCE ARCHITECTURE ORACLE ARCHITECTURE Oracle Database Instance Memory Architecture Process Architecture Application and Networking Architecture 2 INTRODUCTION TO THE ORACLE DATABASE INSTANCE

More information

lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder

lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk is not a framework Why lubyk? Reuse code from project to project Accelerate development (live coding) Simple APIs

More information

HexaCorp. White Paper. SOA with.net. Ser vice O rient ed Ar c hit ecture

HexaCorp. White Paper. SOA with.net. Ser vice O rient ed Ar c hit ecture White Paper SOA with.net Ser vice O rient ed Ar c hit ecture Introduction SOA, a rich technology foundation designed for building distributed service-oriented applications for the enterprise and the web

More information

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner 1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi

More information

Course 55144B: SQL Server 2014 Performance Tuning and Optimization

Course 55144B: SQL Server 2014 Performance Tuning and Optimization Course 55144B: SQL Server 2014 Performance Tuning and Optimization Course Outline Module 1: Course Overview This module explains how the class will be structured and introduces course materials and additional

More information

SIB relays C++ API SQL API. Kernel. Hardware Desc. XML. XML Parser parser.h. State. Misc. Mgmt. I/O Manager iomgr.h. Data Acq. XCR. Batt. Mgmt.

SIB relays C++ API SQL API. Kernel. Hardware Desc. XML. XML Parser parser.h. State. Misc. Mgmt. I/O Manager iomgr.h. Data Acq. XCR. Batt. Mgmt. Misc. Data Acq. Sunny Boy SIB relays usb-serial XCR xcr.h Hardware Desc. XML sensors.xml I/O Manager iomgr.h Sunny Boy sunnyboy.h XML Parser parser.h Kernel kernel.h C++ API State Mgmt. Batt. Mgmt. Maint.

More information

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

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

More information

The POCO C++ Libraries for Device Software Development

The POCO C++ Libraries for Device Software Development The POCO C++ Libraries for Device Software Development White Paper Version 2.0 Purpose of This Document This document gives an overview of the Applied Informatics POCO C++ Libraries, a collection of class

More information

70-536VB:.NET Framework 2.0 - Application Development Foundation Course Introduction

70-536VB:.NET Framework 2.0 - Application Development Foundation Course Introduction 70-536VB:.NET Framework 2.0 - Application Development Foundation Course Introduction 8m Module 01 - Working with Data Types Working with Data Types Working with Value Types Making Your Own Structures Using

More information

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers 661 Solutions for ARINC 661 Compliant Systems SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers SCADE Solutions for ARINC 661 Compliant

More information

Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems

Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Online Data ing Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2 Masaki Ishitsuka 1, Masahiro Kuze 1, Yasunobu Sakamoto 3 CHEP2010@

More information

Distack. Towards Understanding the Global Behavior of DDoS Attacks A Framework for Distributed Attack Detection and Beyond

Distack. Towards Understanding the Global Behavior of DDoS Attacks A Framework for Distributed Attack Detection and Beyond Distack Towards Understanding the Global Behavior of DDoS Attacks A Framework for and Beyond Thomas Gamer, Christoph P. Mayer, Martina Zitterbart 29. Aug 2008, EURECOM, France, (TH) Karlsruhe Institute

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,

More information

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Course Number: 4995 Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview

More information

Investigating Wired and Wireless Networks Using a Java-based Programmable Sniffer

Investigating Wired and Wireless Networks Using a Java-based Programmable Sniffer Investigating Wired and Wireless Networks Using a Java-based Programmable Sniffer Michael J Jipping jipping@cs.hope.edu Andrew Kalafut Bradley University Peoria, IL 61625 USA +1 309 677 3101 akalafut@cs1.bradley.edu

More information

Design and Analysis of Content Management System Based on Factory Pattern

Design and Analysis of Content Management System Based on Factory Pattern Proceedings of the 7th International Conference on Innovation & Management 1527 Design and Analysis of Content Management System Based on Factory Pattern Yan Shu School of Computer Science and Technology,

More information

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. 20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction

More information

What is An Introduction

What is An Introduction What is? An Introduction GenICam_Introduction.doc Page 1 of 14 Table of Contents 1 SCOPE OF THIS DOCUMENT... 4 2 GENICAM'S KEY IDEA... 4 3 GENICAM USE CASES... 5 3.1 CONFIGURING THE CAMERA... 5 3.2 GRABBING

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Network Programming TDC 561

Network Programming TDC 561 Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating

More information

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition. "( JAVA. EXAMPLES IN A NUTSHELL Third Edition David Flanagan O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Preface xi Parti. Learning Java 1. Java Basics 3 Hello

More information

NON-INTRUSIVE TRANSACTION MINING FRAMEWORK TO CAPTURE CHARACTERISTICS DURING ENTERPRISE MODERNIZATION ON CLOUD

NON-INTRUSIVE TRANSACTION MINING FRAMEWORK TO CAPTURE CHARACTERISTICS DURING ENTERPRISE MODERNIZATION ON CLOUD NON-INTRUSIVE TRANSACTION MINING FRAMEWORK TO CAPTURE CHARACTERISTICS DURING ENTERPRISE MODERNIZATION ON CLOUD Ravikumar Ramadoss 1 and Dr.N.M.Elango 2 1 Technology Architect, Infosys, Bangalore, Karnataka,

More information

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP

More information

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

Introduction: Implementation of the MVI56-MCM module for modbus communications:

Introduction: Implementation of the MVI56-MCM module for modbus communications: Introduction: Implementation of the MVI56-MCM module for modbus communications: Initial configuration of the module should be done using the sample ladder file for the mvi56mcm module. This can be obtained

More information

eggon SDK for ios 7 Integration Instructions

eggon SDK for ios 7 Integration Instructions eggon SDK for ios 7 Integration Instructions The eggon SDK requires a few simple steps in order to be used within your ios 7 application. Environment This guide assumes that a standard ios Development

More information

Windows8 Internals, Sixth Edition, Part 1

Windows8 Internals, Sixth Edition, Part 1 Microsoft Windows8 Internals, Sixth Edition, Part 1 Mark Russinovich David A. Solomon Alex lonescu Windows Internals, Sixth Edition, Part i Introduction xvii Chapter 1 Concepts and Tools 1 Windows Operating

More information

Embedded Component Based Programming with DAVE 3

Embedded Component Based Programming with DAVE 3 Embedded Component Based Programming with DAVE 3 By Mike Copeland, Infineon Technologies Introduction Infineon recently introduced the XMC4000 family of ARM Cortex -M4F processor-based MCUs for industrial

More information

Enhanced Project Management for Embedded C/C++ Programming using Software Components

Enhanced Project Management for Embedded C/C++ Programming using Software Components Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software

More information

Eight Ways to Increase GPIB System Performance

Eight Ways to Increase GPIB System Performance Application Note 133 Eight Ways to Increase GPIB System Performance Amar Patel Introduction When building an automated measurement system, you can never have too much performance. Increasing performance

More information

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1 Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter

More information

Web interface for online ROOT and DAQ applications

Web interface for online ROOT and DAQ applications Web interface for online ROOT and DAQ applications Jörn Adamczewski-Musch, Bertrand Bellenot, and Sergey Linev Abstract A specialized web server, based on embeddable Civetweb http server, has been implemented

More information

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati Alternatives to SNMP and Challenges in Management Protocols Communication Systems Seminar Talk 10 Francesco Luminati Introduction Structure Network management Management approaches SNMP Alternatives: NetConf

More information

The Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09

The Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09 The Advanced JTAG Bridge Nathan Yawn nathan.yawn@opencores.org 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the

More information

MD Link Integration. 2013 2015 MDI Solutions Limited

MD Link Integration. 2013 2015 MDI Solutions Limited MD Link Integration 2013 2015 MDI Solutions Limited Table of Contents THE MD LINK INTEGRATION STRATEGY...3 JAVA TECHNOLOGY FOR PORTABILITY, COMPATIBILITY AND SECURITY...3 LEVERAGE XML TECHNOLOGY FOR INDUSTRY

More information

Performance Analysis and Visualization of SystemC Models. Adam Donlin and Thomas Lenart Xilinx Research

Performance Analysis and Visualization of SystemC Models. Adam Donlin and Thomas Lenart Xilinx Research Performance Analysis and Visualization of SystemC Models Adam Donlin and Thomas Lenart Xilinx Research Overview Performance Analysis!= Functional Verification Analysis and Visualization Overview Simulation

More information

Applets, RMI, JDBC Exam Review

Applets, RMI, JDBC Exam Review Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java

More information

Glassfish, JAVA EE, Servlets, JSP, EJB

Glassfish, JAVA EE, Servlets, JSP, EJB Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,

More information

Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration. : SAP Labs India Pvt.Ltd

Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration. : SAP Labs India Pvt.Ltd Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration Author Company : Syed Umar : SAP Labs India Pvt.Ltd TABLE OF CONTENTS INTRODUCTION... 3 Preparation... 3 CONFIGURATION REQUIRED FOR SENDER

More information

SCUOLA SUPERIORE SANT ANNA 2007/2008

SCUOLA SUPERIORE SANT ANNA 2007/2008 Master degree report Implementation of System and Network Monitoring Solution Netx2.0 By Kanchanna RAMASAMY BALRAJ In fulfillment of INTERNATIONAL MASTER ON INFORMATION TECHNOLOGY SCUOLA SUPERIORE SANT

More information

Application of Android OS as Real-time Control Platform**

Application of Android OS as Real-time Control Platform** AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 2 http://dx.doi.org/10.7494/automat.2013.17.2.197 Krzysztof Ko³ek* Application of Android OS as Real-time Control Platform** 1. Introduction An android operating

More information

Core Java+ J2EE+Struts+Hibernate+Spring

Core Java+ J2EE+Struts+Hibernate+Spring Core Java+ J2EE+Struts+Hibernate+Spring Java technology is a portfolio of products that are based on the power of networks and the idea that the same software should run on many different kinds of systems

More information

Analysis Programming

Analysis Programming Analysis Programming Remarks Please feel free to ask at any time, give helpful comments. Be aware, that the difficulty level of the various topics is not entirely constant. If things are too simple, perhaps

More information

Remote File System Suite

Remote File System Suite Remote File System Suite Softwarepraktikum für Fortgeschrittene Michael Kuhn Parallele und Verteilte Systeme Institut für Informatik Ruprecht-Karls-Universität Heidelberg 2009-07-07 1 / 22 1 Introduction

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains

More information

Develop native android apps And port to other platforms

Develop native android apps And port to other platforms Develop native android apps And port to other platforms Robin Puthli, 24 October 2013 Droidcon UK 1 Me Mobile developer 2001 - present Run a 11 strong development shop Netherlands based 2 Itude Mobile

More information

Mojolicious. Marcos Rebelo (oleber@gmail.com)

Mojolicious. Marcos Rebelo (oleber@gmail.com) Mojolicious Marcos Rebelo (oleber@gmail.com) Mojolicious An amazing real-time web framework supporting a simplified single file mode through Mojolicious::Lite. Very clean, portable and Object Oriented

More information

"Charting the Course... MOC 55144 AC SQL Server 2014 Performance Tuning and Optimization. Course Summary

Charting the Course... MOC 55144 AC SQL Server 2014 Performance Tuning and Optimization. Course Summary Description Course Summary This course is designed to give the right amount of Internals knowledge, and wealth of practical tuning and optimization techniques, that you can put into production. The course

More information

Industrial Communication Whitepaper. Principles of EtherNet/IP Communication

Industrial Communication Whitepaper. Principles of EtherNet/IP Communication Industrial Communication Whitepaper Principles of EtherNet/IP Communication 1 Contents Introduction...3 Producer/Consumer Model...4 EtherNet/IP Messaging Types...7 Real Time Data Exchanges...9 Typical

More information

Integrated Open-Source Geophysical Processing and Visualization

Integrated Open-Source Geophysical Processing and Visualization Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada gdc178@mail.usask.ca and Igor Morozov University of Saskatchewan,

More information

MARTe Framework. Middleware for RT Control Development

MARTe Framework. Middleware for RT Control Development MARTe Framework Middleware for RT Control Development André Neto*+, F. Sartori, D. Alves, A. Barbalace, L. Boncagni, G. De Tommasi, G. Manduchi, R. Vitelli, D.F. Valcárcel, L. Zabeo and EFDA-JET PPCC contributors

More information

Put a Firewall in Your JVM Securing Java Applications!

Put a Firewall in Your JVM Securing Java Applications! Put a Firewall in Your JVM Securing Java Applications! Prateep Bandharangshi" Waratek Director of Client Security Solutions" @prateep" Hussein Badakhchani" Deutsche Bank Ag London Vice President" @husseinb"

More information

Configuring and Administering Microsoft SharePoint 2010

Configuring and Administering Microsoft SharePoint 2010 Course 10174 : Configuring and Administering Microsoft SharePoint 2010 Page 1 of 7 Configuring and Administering Microsoft SharePoint 2010 Course 10174: 4 days; Instructor-Led Introduction This four-day

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Java Web Services Training

Java Web Services Training Java Web Services Training Duration: 5 days Class Overview A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards

More information

ABAP for Functional Consultants

ABAP for Functional Consultants ABAP for Functional Consultants Anthony Cecchini, President, INFORMATION TECHNOLOGY PARTNERS Founded in 1993, Women Owned 8(M), Small Business Certified with a GSA IT 70 Schedule, we focus solely on SAP.

More information

A Tool for Evaluation and Optimization of Web Application Performance

A Tool for Evaluation and Optimization of Web Application Performance A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 cernyto3@fel.cvut.cz Michael J. Donahoo 2 jeff_donahoo@baylor.edu Abstract: One of the main goals of web application

More information

Theodor Borangiu UVHC, ENSIAME 2013

Theodor Borangiu UVHC, ENSIAME 2013 Theodor Borangiu UVHC, ENSIAME 2013 Introduction Manufacturing Systems Performance Monitoring Monitoring Solution for Holonic Manufacturing Systems Conclusions June 19, 2013 2 Three inter-related vectors

More information

.NET and J2EE Intro to Software Engineering

.NET and J2EE Intro to Software Engineering .NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies

More information

LabVIEW Advanced Programming Techniques

LabVIEW Advanced Programming Techniques LabVIEW Advanced Programming Techniques SECOND EDITION Rick Bitter Motorola, Schaumburg, Illinois Taqi Mohiuddin MindspeedTechnologies, Lisle, Illinois Matt Nawrocki Motorola, Schaumburg, Illinois @ CRC

More information

Open-source foundations for PC based KNX/EIB access and management

Open-source foundations for PC based KNX/EIB access and management Open-source foundations for PC based KNX/EIB access and management Bernhard Erb, Georg Neugschwandtner, Wolfgang Kastner, Martin Kögler Institute of Automation Automation Systems Group Vienna University

More information

A Framework-based Online Question Answering System. Oliver Scheuer, Dan Shen, Dietrich Klakow

A Framework-based Online Question Answering System. Oliver Scheuer, Dan Shen, Dietrich Klakow A Framework-based Online Question Answering System Oliver Scheuer, Dan Shen, Dietrich Klakow Outline General Structure for Online QA System Problems in General Structure Framework-based Online QA system

More information

Flexible, Scalable and independent HMI software for today s world

Flexible, Scalable and independent HMI software for today s world Simple, powerful and independent HMI software Flexible, Scalable and independent HMI software for today s world All the experience and technology of Progea in SCADA supervision software is now available

More information

Understanding Evolution's Architecture A Technical Overview

Understanding Evolution's Architecture A Technical Overview Understanding Evolution's Architecture A Technical Overview Contents Introduction Understanding Evolution's Design Evolution Architecture Evolution Server Transports Evolution Benefits How Does Evolution

More information

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt core. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Volume I - Fundamentals Seventh Edition CAY S. HORSTMANN GARY

More information

Development Hints and Best Practices for Using Instrument Drivers

Development Hints and Best Practices for Using Instrument Drivers Application Note Juergen Engelbrecht 17-Jan-13-1MA153_11e Development Hints and Best Practices for Using Instrument Drivers Application Note Products: Instrument Drivers This document answers frequently

More information

Practical Android Projects Lucas Jordan Pieter Greyling

Practical Android Projects Lucas Jordan Pieter Greyling Practical Android Projects Lucas Jordan Pieter Greyling Apress s w«^* ; i - -i.. ; Contents at a Glance Contents --v About the Authors x About the Technical Reviewer xi PAcknowiedgments xii Preface xiii

More information

Logging in Java Applications

Logging in Java Applications Logging in Java Applications Logging provides a way to capture information about the operation of an application. Once captured, the information can be used for many purposes, but it is particularly useful

More information

WCF WINDOWS COMMUNICATION FOUNDATION OVERVIEW OF WCF, MICROSOFTS UNIFIED COMMUNICATION FRAMEWORK FOR.NET APPLICATIONS

WCF WINDOWS COMMUNICATION FOUNDATION OVERVIEW OF WCF, MICROSOFTS UNIFIED COMMUNICATION FRAMEWORK FOR.NET APPLICATIONS WCF WINDOWS COMMUNICATION WCF Windows Communication Foundation FOUNDATION OVERVIEW OF WCF, MICROSOFTS UNIFIED COMMUNICATION FRAMEWORK FOR.NET APPLICATIONS Peter R. Egli INDIGOO.COM 1/24 Contents 1. What

More information

SQL Server 2014 Performance Tuning and Optimization 55144; 5 Days; Instructor-led

SQL Server 2014 Performance Tuning and Optimization 55144; 5 Days; Instructor-led SQL Server 2014 Performance Tuning and Optimization 55144; 5 Days; Instructor-led Course Description This course is designed to give the right amount of Internals knowledge, and wealth of practical tuning

More information

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware

More information

PIE. Internal Structure

PIE. Internal Structure PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution

More information