Safely Managing Data Variety in Big Data So2ware Development

Size: px
Start display at page:

Download "Safely Managing Data Variety in Big Data So2ware Development"

Transcription

1 Safely Managing Data Variety in Big Data So2ware Development Thomas Cerqueus (Université de Lyon, INSA Lyon, LIRIS) Eduardo Cunha de Almeida (Federal University of Paraná) Stefanie Scherzinger (OTH Regensburg) 1st InternaRonal Workshop on BIG Data So2ware Engineering, 23 May 2015

2 PaaS over NoSQL Databases No explicit DB schema EnRRes are defined at the applicaron level Class è EnRty A]ribute è Field Developers are in charge of defining and maintaining the DB

3 Object Mappers

4 Object Mappers

5 development IDE commit code repository Development Environment ProducRon Environment 5

6 deploy development IDE commit PaaS DaaS code repository Development Environment ProducRon Environment 6

7 deploy development IDE commit PaaS DaaS code repository Development Environment ProducRon Environment 7

8 development IDE commit PaaS code repository Development Environment ProducRon Environment 8

9 development IDE commit PaaS code repository Development Environment ProducRon Environment 9

10 development IDE commit PaaS code repository Development Environment ProducRon Environment 10

11 Checking Rules (1/2) C W type att; C R C W type att; ok C W ` type att; C R C W ` type att; ok C R C W ` type att; ok C W type 1 att; C R C W ` type 2 att; ok att not declared in C W C W ` type att; C R C W type att; ok C W ` type att; C R C W type att; ok C W ` type att; C R C W type att; ok (1) (2) (3) Fig. 4: Selected rules for (1, 2) keeping an attribute, lazily (3, 4) adding, (5) overwriting, and (6, 7) explicitly removing an attribute. (4) (5) (6) (7) In the example above, different type. If the type checking rules would not capture this case as well, chains of object mapper in Section IV-B. IV. RELAXA We next discuss pragm A. Allowable Type Prom Our examples so far h class member attributes, easily generalize to comp Example 6. We conside different versions of the Player c Player d The Objectify annotation

12 Checking Rules (2/2) C W ` type att 1 ; C R C W 2 ") type att 1 ; ok C W ` type att 2 ; C R C W 2 ") type att 1 ; ok C W type att 1 C W ` type att 2 ; C R C W 2 ") type att 1 ; ok C W ` type att 1 C W type att 2 ; C R C W 2 ") type att 1 ; ok (att 2 not declared in C W ) (8) (att 1 not declared in C W ) (9) (@annot (10) (@annot (11) (att 1 and att 2 not declared in C W ) (12) C R C W 2 ") type att 1 ; ok C W 1 type att 1 2 are any of (13) C R C W 2 type att 1 @IgnoreLoad Fig. 5: Selected rules for annotation (8-12) and for ignoring attributes (13). c) Conversion Returning a Corrupted Value: Surpris-, there are cases where Objectify allows a conversion,

13 Example C W C R C W type att; C R C W type att; ok C W ` type att; C R C W ` type att; ok C R C W ` type att; ok att not declared in C W (1) (2) (3) In the example a different type. If th checking rules wou capture this case as chains of object m in Section IV-B. IV. RE

14 Example C W C R C W type att; C R C W type att; ok C W ` type att; C R C W ` type att; ok C R C W ` type att; ok att not declared in C W C W type 1 att; C R C W ` type att; ok (1) (2) (3) (4) In the exam different type checking rule capture this c chains of obj in Section IV IV We next di

15 Example C W C R C W type att; C R C W type att; ok C W ` type att; C R C W ` type att; ok C R C W ` type att; ok C W type 1 att; C R C W ` type 2 att; ok att not declared in C W C W ` type att; C R C W type att; ok (1) (2) (3) (4) (5) In the example abov different type. If the ty checking rules would n capture this case as we chains of object mapp in Section IV-B. IV. RELAX We next discuss pra A. Allowable Type Pro Our examples so fa class member attribute

16 Example C W C R

17 an attribute, lazily (3, 4) y removing an attribute. ts rules concerning the mbiguous mappings in Figure 5 concerns the writing or reading. Igeely without risk. ules sitive in the following Y, and Z of an object ecks as valid w.r.t. X, it does not necessarily.t. X. It turns out that ctual problems, as the f versions X, Y, and on, with the following The Objectify stores structured data within a single entity in a way so that it remains queryable. We assume that A and B are different Java class names. Type Checking Extension By our type checking approach, Player d does not check as In the e valid w.r.t Player C W c, since type theatt; types for attribute description different t (1) differ. Yet C R there C W are cases type where att; this okrule is overly restrictive. checking Rule (14) below relaxes rule (2). We use the notation tbt 0 to capture th C W ` type att; express that type t is compatible with t 0. This means (2) that any chains of C instance R C of t must W ` type att; ok be loadable as an instance of t 0 without in Section data loss. The trivial case is that t = t 0 att not, declared yet we can also (3) allow for C R Short C W B` Integer, type att; since okall instances C W of Short can be converted to Integers. We nex C W type 1 att; type att; (4) C R C W ` type C R C W ` type 0 (type B type 0 2 att; ok ) (14) A. Allowa att; ok C W ` type att; Our ex We look at type compatibility in more detail. (5) C R C W type att; ok class mem 1) Conversion of Primitive Types: For the remainder of this easily gen section, we focus on C W primitive ` type att; types 1 (i.e., Void, (6) Boolean, Byte, Short, C R CInteger, W Long, Float, type Double, att; Character, ok String Example and Object), and C we discuss the risks when primitive type different v W ` type att; attributes are loaded from a datastore. (7) C R C W type att; ok P

18 Type Checking Extension PrimiRve Types Boolean Byte Short Integer Long Float Double String Object Boolean Byte Short Integer Long Float Double String Boolean Long Long Long Long Double Double String Excep;on at run;me Precision loss OK Unexpected type conversion

19 Type Checking Extension Complex Types X Y A a B b C c X A a B b C c Y

20 Chains of DeclaraRons

21 Conclusion ControVol: schema evoluron checking framework for NoSQL databases Takes acron prior to applicaron release Integrated in the IDE (Eclipse) Warns developers against perilous evolurons: addiron/deleron/renaming of a]ributes, re- typing Suggests quick fixes

22 Conclusion

23 PublicaRons T. Cerqueus, E. Cunha de Almeida, S. Scherzinger. ControVol: Let yesterday's data catch up with today's applica;on code. In 24th Interna3onal World Wide Web Conference (WWW 2015) S. Scherzinger, T. Cerqueus, E. Cunha de Almeida. ControVol: A Framework for Controlled Schema Evolu;on in NoSQL Applica;on Development. In 31st Interna3onal Conference on Data Engineering (ICDE 2015) T. Cerqueus, E. Cunha de Almeida, S. Scherzinger. Safely Managing Data Variety in Big Data SoQware Development. In 1st Interna3onal Workshop on Big Data SoEware Engineering (BIGDSE'15)

24 Safely Managing Data Variety in Big Data So2ware Development Thomas Cerqueus (Université de Lyon, INSA Lyon, LIRIS) Eduardo Cunha de Almeida (Federal University of Paraná) Stefanie Scherzinger (OTH Regensburg) 1st InternaRonal Workshop on BIG Data So2ware Engineering, 23 May 2015

Safely Managing Data Variety in Big Data Software Development

Safely Managing Data Variety in Big Data Software Development Safely Managing Data Variety in Big Data Software Development Thomas Cerqueus, Eduardo Cunha de Almeida and Stefanie Scherzinger Université de Lyon, CNRS, INSA-Lyon, LIRIS, UMR5205, thomas.cerqueus@insa-lyon.fr

More information

ControVol: A Framework for Controlled Schema Evolution in NoSQL Application Development

ControVol: A Framework for Controlled Schema Evolution in NoSQL Application Development ControVol: A Framework for Controlled Schema Evolution in NoSQL Application Development Stefanie Scherzinger, Thomas Cerqueus, Eduardo Cunha de Almeida To cite this version: Stefanie Scherzinger, Thomas

More information

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,

More information

Scanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit.

Scanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit. Scanner The Scanner class is intended to be used for input. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit. For example, suppose the input

More information

Pemrograman Dasar. Basic Elements Of Java

Pemrograman Dasar. Basic Elements Of Java Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle

More information

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders 1.00 Lecture 1 Course Overview Introduction to Java Reading for next time: Big Java: 1.1-1.7 Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

Topics. Parts of a Java Program. Topics (2) CS 146. Introduction To Computers And Java Chapter Objectives To understand:

Topics. Parts of a Java Program. Topics (2) CS 146. Introduction To Computers And Java Chapter Objectives To understand: Introduction to Programming and Algorithms Module 2 CS 146 Sam Houston State University Dr. Tim McGuire Introduction To Computers And Java Chapter Objectives To understand: the meaning and placement of

More information

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

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

More information

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper

More information

Chapter 5 Names, Bindings, Type Checking, and Scopes

Chapter 5 Names, Bindings, Type Checking, and Scopes Chapter 5 Names, Bindings, Type Checking, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Type Checking Strong Typing Scope Scope and Lifetime Referencing Environments Named

More information

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4 JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4 NOTE: SUN ONE Studio is almost identical with NetBeans. NetBeans is open source and can be downloaded from www.netbeans.org. I

More information

A Brief Introduction to MySQL

A Brief Introduction to MySQL A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term

More information

Health Care Claims System Prototype

Health Care Claims System Prototype SGT WHITE PAPER Health Care Claims System Prototype MongoDB and Hadoop 2015 SGT, Inc. All Rights Reserved 7701 Greenbelt Road, Suite 400, Greenbelt, MD 20770 Tel: (301) 614-8600 Fax: (301) 614-8601 www.sgt-inc.com

More information

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code 1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons

More information

java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner

java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner java.util.scanner java.util.scanner is a class in the Java API used to create a Scanner object, an extremely versatile object that you can use to input alphanumeric characters from several input sources

More information

Testing, Debugging, and Verification

Testing, Debugging, and Verification Testing, Debugging, and Verification Testing, Part II Moa Johansson 10 November 2014 TDV: Testing /GU 141110 1 / 42 Admin Make sure you are registered for the course. Otherwise your marks cannot be recorded.

More information

Easy-Cassandra User Guide

Easy-Cassandra User Guide Easy-Cassandra User Guide Document version: 005 1 Summary About Easy-Cassandra...5 Features...5 Java Objects Supported...5 About Versions...6 Version: 1.1.0...6 Version: 1.0.9...6 Version: 1.0.8...6 Version:

More information

JAXB Tips and Tricks Part 2 Generating Java Classes from XML Schema. By Rob Ratcliff

JAXB Tips and Tricks Part 2 Generating Java Classes from XML Schema. By Rob Ratcliff JAXB Tips and Tricks Part 2 Generating Java Classes from XML Schema By Rob Ratcliff What is JAXB? Java Architecture for XML Binding Maps an XML Schema into Java Objects Experimental support for DTD, RelaxNG

More information

Handout 3 cs180 - Programming Fundamentals Spring 15 Page 1 of 6. Handout 3. Strings and String Class. Input/Output with JOptionPane.

Handout 3 cs180 - Programming Fundamentals Spring 15 Page 1 of 6. Handout 3. Strings and String Class. Input/Output with JOptionPane. Handout 3 cs180 - Programming Fundamentals Spring 15 Page 1 of 6 Handout 3 Strings and String Class. Input/Output with JOptionPane. Strings In Java strings are represented with a class type String. Examples:

More information

Chapter 2 Elementary Programming

Chapter 2 Elementary Programming Chapter 2 Elementary Programming 2.1 Introduction You will learn elementary programming using Java primitive data types and related subjects, such as variables, constants, operators, expressions, and input

More information

Java Interview Questions and Answers

Java Interview Questions and Answers 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java

More information

6.1. Example: A Tip Calculator 6-1

6.1. Example: A Tip Calculator 6-1 Chapter 6. Transition to Java Not all programming languages are created equal. Each is designed by its creator to achieve a particular purpose, which can range from highly focused languages designed for

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This

More information

Scanner sc = new Scanner(System.in); // scanner for the keyboard. Scanner sc = new Scanner(System.in); // scanner for the keyboard

Scanner sc = new Scanner(System.in); // scanner for the keyboard. Scanner sc = new Scanner(System.in); // scanner for the keyboard INPUT & OUTPUT I/O Example Using keyboard input for characters import java.util.scanner; class Echo{ public static void main (String[] args) { Scanner sc = new Scanner(System.in); // scanner for the keyboard

More information

OTN Developer Day: Oracle Big Data. Hands On Lab Manual. Introduction to Oracle NoSQL Database

OTN Developer Day: Oracle Big Data. Hands On Lab Manual. Introduction to Oracle NoSQL Database OTN Developer Day: Oracle Big Data Hands On Lab Manual Introduction to ORACLE NOSQL DATABASE HANDS-ON WORKSHOP ii Hands on Workshop Lab Exercise 1 Start and run the Movieplex application. In this lab,

More information

Introduction to Python

Introduction to Python Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

More information

Java Crash Course Part I

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

More information

Programming and Software Development CTAG Alignments

Programming and Software Development CTAG Alignments Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical

More information

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients. Android: Setup Hello, World: Android Edition due by noon ET on Wed 2/22 Ingredients. Android Development Tools Plugin for Eclipse Android Software Development Kit Eclipse Java Help. Help is available throughout

More information

Introduction to Java. CS 3: Computer Programming in Java

Introduction to Java. CS 3: Computer Programming in Java Introduction to Java CS 3: Computer Programming in Java Objectives Begin with primitive data types Create a main class with helper methods Learn how to call built-in class methods and instance methods

More information

CSE 308. Coding Conventions. Reference

CSE 308. Coding Conventions. Reference CSE 308 Coding Conventions Reference Java Coding Conventions googlestyleguide.googlecode.com/svn/trunk/javaguide.html Java Naming Conventions www.ibm.com/developerworks/library/ws-tipnamingconv.html 2

More information

Nuxeo, an open source platform for content-centric business applications. Stéfane Fermigier, Nuxeo Laurent Doguin, Nuxeo

Nuxeo, an open source platform for content-centric business applications. Stéfane Fermigier, Nuxeo Laurent Doguin, Nuxeo Nuxeo, an open source platform for content-centric business applications Stéfane Fermigier, Nuxeo Laurent Doguin, Nuxeo Nuxeo, the Company Providing an Open Source Content Management Platform for Business

More information

Java Basics: Data Types, Variables, and Loops

Java Basics: Data Types, Variables, and Loops Java Basics: Data Types, Variables, and Loops If debugging is the process of removing software bugs, then programming must be the process of putting them in. - Edsger Dijkstra Plan for the Day Variables

More information

Cloud Environment Selec1on and Configura1on: A So7ware Product Lines- Based Approach

Cloud Environment Selec1on and Configura1on: A So7ware Product Lines- Based Approach Cloud Environment Selec1on and Configura1on: A So7ware Product Lines- Based Approach Clément Quinton Ph.D. Defense Wednesday, October 22 th 2014 Rapporteurs: Roberto Di Cosmo, Université Paris Diderot

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

Crash Course in Java

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

More information

VB.NET Programming Fundamentals

VB.NET Programming Fundamentals Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decision-making statements

More information

e ag u g an L g ter lvin v E ram Neal G g ro va P Ja

e ag u g an L g ter lvin v E ram Neal G g ro va P Ja Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend

More information

Semantic Analysis: Types and Type Checking

Semantic Analysis: Types and Type Checking Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors

More information

Field Properties Quick Reference

Field Properties Quick Reference Field Properties Quick Reference Data types The following table provides a list of the available data types in Microsoft Office Access 2007, along with usage guidelines and storage capacities for each

More information

Eclipse Exam Tutorial - Pros and Cons

Eclipse Exam Tutorial - Pros and Cons Table of Contents 3. PaaS: the example of Google AppEngine Guillaume Pierre Université de Rennes 1 Fall 2012 http://www.globule.org/~gpierre/ 1 2 Developing Java applications in AppEngine 3 The Data Store

More information

Principles of Database Management Systems. Overview. Principles of Data Layout. Topic for today. "Executive Summary": here.

Principles of Database Management Systems. Overview. Principles of Data Layout. Topic for today. Executive Summary: here. Topic for today Principles of Database Management Systems Pekka Kilpeläinen (after Stanford CS245 slide originals by Hector Garcia-Molina, Jeff Ullman and Jennifer Widom) How to represent data on disk

More information

CSC 370 Database Systems Summer 2004 Assignment No. 2

CSC 370 Database Systems Summer 2004 Assignment No. 2 CSC 370 Database Systems Summer 2004 Assignment No. 2 Note 1 This assignment is to be done in teams of two people. Note 2 Except as indicated, working with other teams is strictly prohibited. Due date:

More information

WRITING DATA TO A BINARY FILE

WRITING DATA TO A BINARY FILE WRITING DATA TO A BINARY FILE TEXT FILES VS. BINARY FILES Up to now, we have looked at how to write and read characters to and from a text file. Text files are files that contain sequences of characters.

More information

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)

More information

How To Write A Free Software Program In Java.Org (For Free)

How To Write A Free Software Program In Java.Org (For Free) für Java Entwickler und Architekten - Schema Evolution und Maintenance { } "name" : "Timmo Freudl-Gierke", "twitter" : "@timmo_gierke", "blog" : "http://blog-it.hypoport.de/" humongous enorm gigantisch

More information

Databases and BigData

Databases and BigData Eduardo Cunha de Almeida eduardo.almeida@uni.lu Outline of the course Introduction Database Systems (E. Almeida) Distributed Hash Tables and P2P (C. Cassagnes) NewSQL (D. Kim and J. Meira) NoSQL (D. Kim)

More information

ARTIST Methodology and Tooling. Jesus Gorroñogoitia - Atos SOC Crete, 1 st July 2015

ARTIST Methodology and Tooling. Jesus Gorroñogoitia - Atos SOC Crete, 1 st July 2015 ARTIST Methodology and Tooling Jesus Gorroñogoitia - Atos SOC Crete, 1 st July 2015 Motivation: From SaaP to SaaS So#ware as a Product based Company So#ware as a Service based Company : Cloud Computing

More information

Organization of Records in Blocks

Organization of Records in Blocks Organization of Records in Blocks Read Sec. 4.2 Riguzzi et al. Sistemi Informativi Slides derived from those by Hector Garcia-Molina 1 Topic How to lay out records on blocks 2 To represent: Integer (short):

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2014 P. N. Hilfinger Unit Testing with JUnit 1 The Basics JUnit is a testing framework

More information

Open-ESB tutorials. Schema and Encoding: Import a CSV file. Paul Perez / Bruno Sinkovic. Copyright Pymma Consulting (2009)

Open-ESB tutorials. Schema and Encoding: Import a CSV file. Paul Perez / Bruno Sinkovic. Copyright Pymma Consulting (2009) Open-ESB tutorials Schema and Encoding: Import a CSV file Paul Perez / Bruno Sinkovic Copyright Pymma Consulting (2009) Contents Preamble... 3 Objectives... 3 Create Country Table... 3 Create WSDL with

More information

Computer Science 281 Binary and Hexadecimal Review

Computer Science 281 Binary and Hexadecimal Review Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two

More information

Sonatype CLM for Maven. Sonatype CLM for Maven

Sonatype CLM for Maven. Sonatype CLM for Maven Sonatype CLM for Maven i Sonatype CLM for Maven Sonatype CLM for Maven ii Contents 1 Introduction 1 2 Creating a Component Index 3 2.1 Excluding Module Information Files in Continuous Integration Tools...........

More information

Getting started with Android and App Engine

Getting started with Android and App Engine Getting started with Android and App Engine About us Tim Roes Software Developer (Mobile/Web Solutions) at inovex GmbH www.timroes.de www.timroes.de/+ About us Daniel Bälz Student/Android Developer at

More information

Programming Languages CIS 443

Programming Languages CIS 443 Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction

More information

Continuous Integration Part 2

Continuous Integration Part 2 1 Continuous Integration Part 2 This blog post is a follow up to my blog post Continuous Integration (CI), in which I described how to execute test cases in Code Tester (CT) in a CI environment. What I

More information

Object Oriented Software Design II

Object Oriented Software Design II Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February

More information

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture On behalf of the ASCETiC Consortium Project Number 610874 Instrument Collaborative Project Start Date

More information

Implementing the Shop with EJB

Implementing the Shop with EJB Exercise 2 Implementing the Shop with EJB 2.1 Overview This exercise is a hands-on exercise in Enterprise JavaBeans (EJB). The exercise is as similar as possible to the other exercises (in other technologies).

More information

AP Computer Science Java Subset

AP Computer Science Java Subset APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall

More information

IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs

IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs Thomas Durieux, Martin Monperrus To cite this version: Thomas Durieux, Martin Monperrus. IntroClassJava: A Benchmark of 297 Small and Buggy

More information

Trns port Payroll XML File Import Guide. Prepared by the Minnesota Department of Transportation (Mn/DOT)

Trns port Payroll XML File Import Guide. Prepared by the Minnesota Department of Transportation (Mn/DOT) Prepared by the Minnesota Department of Transportation (Mn/DOT) August 2013 Overview Extensible Markup Language (XML) is a set of rules for encoding documents in machinereadable form. XML's design goals

More information

JAVA.UTIL.SCANNER CLASS

JAVA.UTIL.SCANNER CLASS JAVA.UTIL.SCANNER CLASS http://www.tutorialspoint.com/java/util/java_util_scanner.htm Copyright tutorialspoint.com Introduction The java.util.scanner class is a simple text scanner which can parse primitive

More information

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming 1 2 Foreword First of all, this book isn t really for dummies. I wrote it for myself and other kids who are on the team. Everything

More information

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions CSC45 AUTOMATA 2. Finite Automata: Examples and Definitions Finite Automata: Examples and Definitions A finite automaton is a simple type of computer. Itsoutputislimitedto yes to or no. It has very primitive

More information

CSI 333 Lecture 1 Number Systems

CSI 333 Lecture 1 Number Systems CSI 333 Lecture 1 Number Systems 1 1 / 23 Basics of Number Systems Ref: Appendix C of Deitel & Deitel. Weighted Positional Notation: 192 = 2 10 0 + 9 10 1 + 1 10 2 General: Digit sequence : d n 1 d n 2...

More information

TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data User s Guide

TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data User s Guide TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data User s Guide Software Release 1.0 November 2013 Two-Second Advantage Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE.

More information

2014 HSC Software Design and Development Marking Guidelines

2014 HSC Software Design and Development Marking Guidelines 014 HSC Software Design and Development Marking Guidelines Section I Multiple-choice Answer Key Question Answer 1 B A A 4 D 5 A 6 D 7 A 8 B 9 C 10 D 11 B 1 B 1 A 14 A 15 B 16 D 17 C 18 C 19 D 0 D 1 Section

More information

MS ACCESS DATABASE DATA TYPES

MS ACCESS DATABASE DATA TYPES MS ACCESS DATABASE DATA TYPES Data Type Use For Size Text Memo Number Text or combinations of text and numbers, such as addresses. Also numbers that do not require calculations, such as phone numbers,

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction

More information

Object Relational Database Mapping. Alex Boughton Spring 2011

Object Relational Database Mapping. Alex Boughton Spring 2011 + Object Relational Database Mapping Alex Boughton Spring 2011 + Presentation Overview Overview of database management systems What is ORDM Comparison of ORDM with other DBMSs Motivation for ORDM Quick

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

The Answer to the 14 Most Frequently Asked Modbus Questions

The Answer to the 14 Most Frequently Asked Modbus Questions Modbus Frequently Asked Questions WP-34-REV0-0609-1/7 The Answer to the 14 Most Frequently Asked Modbus Questions Exactly what is Modbus? Modbus is an open serial communications protocol widely used in

More information

Number Representation

Number Representation Number Representation CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Topics to be Discussed How are numeric data

More information

WebSphere Business Monitor V7.0 Installation and stand-alone server profile creation

WebSphere Business Monitor V7.0 Installation and stand-alone server profile creation Copyright IBM Corporation 2010 All rights reserved WebSphere Business Monitor V7.0 Installation and stand-alone server profile creation What this exercise is about... 2 Exercise requirements... 2 What

More information

Talend for Data Integration guide

Talend for Data Integration guide Talend for Data Integration guide Table of Contents Introduction...2 About the author...2 Download, install and run...2 The first project...3 Set up a new project...3 Create a new Job...4 Execute the job...7

More information

Hello World RESTful web service tutorial

Hello World RESTful web service tutorial Hello World RESTful web service tutorial Balázs Simon (sbalazs@iit.bme.hu), BME IIT, 2015 1 Introduction This document describes how to create a Hello World RESTful web service in Eclipse using JAX-RS

More information

Java Development for the Cloud, present and future. Scott Rich Distinguished Engineer, IBM Rational srich@ch.ibm.com

Java Development for the Cloud, present and future. Scott Rich Distinguished Engineer, IBM Rational srich@ch.ibm.com Java Development for the Cloud, present and future Scott Rich Distinguished Engineer, IBM Rational srich@ch.ibm.com Java in the Cloud, Today and Tomorrow Changing times Changing tools the rise of PaaS

More information

DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER. The purpose of this tutorial is to develop a java web service using a top-down approach.

DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER. The purpose of this tutorial is to develop a java web service using a top-down approach. DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER Purpose: The purpose of this tutorial is to develop a java web service using a top-down approach. Topics: This tutorial covers the following topics:

More information

Module 11 Setting up Customization Environment

Module 11 Setting up Customization Environment Module 11 Setting up Customization Environment By Kitti Upariphutthiphong Technical Consultant, ecosoft kittiu@gmail.com ADempiere ERP 1 2 Module Objectives Downloading ADempiere Source Code Setup Development

More information

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Mohammed M. Elsheh and Mick J. Ridley Abstract Automatic and dynamic generation of Web applications is the future

More information

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna SDK and initial setup: Outline Today: How to

More information

Arrays. Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.

Arrays. Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays. Arrays Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html 1 Grid in Assignment 2 How do you represent the state

More information

Java Cheatsheet. http://introcs.cs.princeton.edu/java/11cheatsheet/ Tim Coppieters Laure Philips Elisa Gonzalez Boix

Java Cheatsheet. http://introcs.cs.princeton.edu/java/11cheatsheet/ Tim Coppieters Laure Philips Elisa Gonzalez Boix Java Cheatsheet http://introcs.cs.princeton.edu/java/11cheatsheet/ Tim Coppieters Laure Philips Elisa Gonzalez Boix Hello World bestand genaamd HelloWorld.java naam klasse main methode public class HelloWorld

More information

Utility Software II lab 1 Jacek Wiślicki, jacenty@kis.p.lodz.pl original material by Hubert Kołodziejski

Utility Software II lab 1 Jacek Wiślicki, jacenty@kis.p.lodz.pl original material by Hubert Kołodziejski MS ACCESS - INTRODUCTION MS Access is an example of a relational database. It allows to build and maintain small and medium-sized databases and to supply them with a graphical user interface. The aim of

More information

Lecture 5: Java Fundamentals III

Lecture 5: Java Fundamentals III Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd

More information

Seminar Datenbanksysteme

Seminar Datenbanksysteme University of Applied Sciences HTW Chur Master of Science in Engineering (MSE) Seminar Datenbanksysteme The LINQ-Approach in Java Student: Norman Süsstrunk Tutor: Martin Studer 18 th October 2010 Seminar

More information

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly Part 2 a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android

More information

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.

More information

Introduction to Data Structures

Introduction to Data Structures Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate

More information

Example of a Java program

Example of a Java program Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);

More information

13 File Output and Input

13 File Output and Input SCIENTIFIC PROGRAMMING -1 13 File Output and Input 13.1 Introduction To make programs really useful we have to be able to input and output data in large machinereadable amounts, in particular we have to

More information

Hadoop for Cybersecurity and Network Log Analysis. Taghrid Samak Advanced Compu?ng for Sciences, LBNL

Hadoop for Cybersecurity and Network Log Analysis. Taghrid Samak Advanced Compu?ng for Sciences, LBNL Hadoop for Cybersecurity and Network Log Analysis Taghrid Samak Advanced Compu?ng for Sciences, LBNL Overview Mo?va?on for using Hadoop Two test cases Bro connec?on logs Internet2 logs Challenges MapReduce

More information

Memory is implemented as an array of electronic switches

Memory is implemented as an array of electronic switches Memory Structure Memory is implemented as an array of electronic switches Each switch can be in one of two states 0 or 1, on or off, true or false, purple or gold, sitting or standing BInary digits (bits)

More information

PostgreSQL Functions By Example

PostgreSQL Functions By Example Postgre joe.conway@credativ.com credativ Group January 20, 2012 What are Functions? Introduction Uses Varieties Languages Full fledged SQL objects Many other database objects are implemented with them

More information

Java Types and Enums. Nathaniel Osgood MIT 15.879. April 25, 2012

Java Types and Enums. Nathaniel Osgood MIT 15.879. April 25, 2012 Java Types and Enums Nathaniel Osgood MIT 15.879 April 25, 2012 Types in Java Types tell you the class of values from which a variable is drawn In Java we specify types for Parameters Variables Return

More information

COSC 6397 Big Data Analytics. 2 nd homework assignment Pig and Hive. Edgar Gabriel Spring 2015

COSC 6397 Big Data Analytics. 2 nd homework assignment Pig and Hive. Edgar Gabriel Spring 2015 COSC 6397 Big Data Analytics 2 nd homework assignment Pig and Hive Edgar Gabriel Spring 2015 2 nd Homework Rules Each student should deliver Source code (.java files) Documentation (.pdf,.doc,.tex or.txt

More information