Software Praktikum - introduction- · Software Praktikum, WS 2015 2 Gruppe Resmerita Overview of...

14
Software Praktikum, WS 2015 1 Gruppe Resmerita Software Praktikum - introduction- Stefan Resmerita Winter 2015 http://www.softwareresearch.net/teaching/ws-201516/pr-software-praktikum/

Transcript of Software Praktikum - introduction- · Software Praktikum, WS 2015 2 Gruppe Resmerita Overview of...

Software Praktikum, WS 2015 1 Gruppe Resmerita

Software Praktikum

- introduction-

Stefan Resmerita

Winter 2015

http://www.softwareresearch.net/teaching/ws-201516/pr-software-praktikum/

Software Praktikum, WS 2015 2 Gruppe Resmerita

Overview of projects

• R1: Eclipse Language Plug-In for hiding lines of source code

• R2: Modular actor Plug-In for an Eclipse GEF based model editor

• R3: Cloud computing (Distributed big data)

• R4: Ubiquitous computing – Smart living (media player control with smartphone data)

• R5: Embedded computing: simulation of virtual platforms (OVP)

Software Praktikum, WS 2015 3 Gruppe Resmerita

R1: Eclipse Language Plug-In

• Prerequisites: Java, Eclipse

• Goal: extend the C language plug-in such that certain user-defined function calls and macros (instrumentation code) can be hidden/highlighted in the source code view

• The list of possible instrumentation calls should be modifiable in the Eclipse preference system

• Links: – http://www.eclipse.org/pde/

– http://www.eclipse.org/articles/Article-Folding-in-Eclipse-Text-Editors/folding.html

Software Praktikum, WS 2015 4 Gruppe Resmerita

Project R1 Example

Actual C code:

int testFunction (int a, int b)

{

int c;

START_PATH

if (a > b) {

c = a;

PATH(1)

} else {

c = -1;

PATH(2)

}

IF_PATH(1,10)

ELSE_PATH(2,5)

return c;

}

New Editor view with hidden instrumentation

int testFunction (int a, int b)

{

int c;

if (a > b) {

c = a;

} else {

c = -1;

}

return c;

}

Software Praktikum, WS 2015 5 Gruppe Resmerita

R2: Modular actor plugin for an Eclipse

GEF based model editor

• Prerequisites: Java and Eclipse

• Build a simple GEF editor where node templates can be loaded at runtime and added to the tool palette.

• Templates are written in XML and should define the name and type of node and a list of default properties.

• Links:

– Eclipse GEF: http://www.eclipse.org/gef/

Software Praktikum, WS 2015 6 Gruppe Resmerita

R2 Example

Software Praktikum, WS 2015 7 Gruppe Resmerita

R3: Big Data

• Develop an application that searches for accesses to „suspicious“ sites performed from logged search results (of some search engine)

• Use Apache Hadoop, HBase and HDFS

• Input:

– Logged clicks made by users on search results

– A list of suspicious words

– A list of dubious sites

• Output: A list of IP addresses from where visits to dubious sites were made by clicking on search results obtained with queries using suspicious words

Software Praktikum, WS 2015 8 Gruppe Resmerita

Big Data Input

• Logged user clicks on search results

• Many GB or TB of data

• Information:

<Timestamp>,<IP_addr>,<Query>,<Clicked_URL>

Examples:12-01-2015;13:24,1.2.3.4, forge,http://www.how2ForgeMoney.com/

14-03-2015;07:01,100.200.300.400, car steal,http://how2stealCars.com/

14-03-2015;07:02, 10.20.30.40, bath bomb, http://www.amazon.com/

18-03-2015;12:45, 1.2.3.4, tube bomb, http://www.bombuy.com/

Software Praktikum, WS 2015 9 Gruppe Resmerita

Small Data Input

• List of suspicious words (one file)

– Example: forge

steal

bomb

• List of dubious sites (one file)

– Example: www.how2ForgeMoney.com

how2stealCars.com

www.bombuy.com

Software Praktikum, WS 2015 10 Gruppe Resmerita

Output

• All the logged clicks to dubious sites (one file)

• Output format:

<IP_addr1>

<Clicked_URL1>,<Timestamp1>

<Clicked_URL2>,<Timestamp2>

...

<IP_addr2>

• Example:1.2.3.4

http://www.how2ForgeMoney.com/,12-01-2015;13:24

http://www.bombuy.com/,18-03-2015;12:45

100.200.300.400

http://how2stealCars.com/,14-03-2015;07:01

Software Praktikum, WS 2015 11 Gruppe Resmerita

R4: Smart Living

• Use smart sensors to control media player on

different screens

• Sensor examples: light, position, orientation

• When the user moves from one screen to

another, the media player „moves“ accordingly

• Possible setups:

– Smartphone phone + PCs

– Embedded platforms (e.g. Renesas + Raspberry Pi)

Software Praktikum, WS 2015 12 Gruppe Resmerita

R4 Example

• User controls media player on screen with swivel chair

position

• Renesas board attached to chair

• Raspberry Pi runs the media player on the screen

WiFi

Software Praktikum, WS 2015 13 Gruppe ResmeritaCourtesy of Kuka Robotics Corp.

R5: Embedded Systems

Courtesy of Doug Schmidt

Power

generation and

distribution

Courtesy of

General Electric

Military systems:

E-Corner, Siemens

Transportation

(Air traffic

control at SFO)

Avionics

Telecommunications

Factory automation

Instrumentation

(Soleil Synchrotron)

Daimler-Chrysler

Automotive

Building Systems

Slide from Lee & Seshia

Software Praktikum, WS 2015 14 Gruppe Resmerita

R5: Simulation of embedded systems

• This project will deal with simulation of embedded processing platforms (CPU, memory, peripherals) and will involve:– using the OVP simulator and one of the processor models

– creating simple models of peripheral devices (e.g., timers, interrupt controller)

– cross-compiling C applications for the target platform (small examples)

– running the target build on the virtual platform and showing how to do debugging and monitoring of program variables.

• Open Virtual Platforms http://www.ovpworld.org/