software praktikum - introduction- · software praktikum, ws 2015 2 gruppe resmerita overview of...
TRANSCRIPT
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 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/