Seminar: Entwicklungsprozess von Software-Produktlinien Sandro - - PowerPoint PPT Presentation

seminar entwicklungsprozess von software produktlinien
SMART_READER_LITE
LIVE PREVIEW

Seminar: Entwicklungsprozess von Software-Produktlinien Sandro - - PowerPoint PPT Presentation

Seminar: Entwicklungsprozess von Software-Produktlinien Sandro Schulze Take a seat .buckle up get started Who I am? Computer science background (e.g., interests, programming skills, scientifc working) Why I am here (and not in the


slide-1
SLIDE 1

Seminar: Entwicklungsprozess von Software-Produktlinien

Sandro Schulze

slide-2
SLIDE 2

Take a seat….buckle up…get started

Who I am? Computer science background (e.g., interests, programming skills, scientifc working) Why I am here (and not in the very cool Seminar of XXX)? What do I expect?

slide-3
SLIDE 3

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Introduction and Organization

slide-4
SLIDE 4

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Overview

  • (Under)-Graduate level course (Bachelor, Master)
  • Topics
  • Academic Writing
  • Presentation
  • Literature review
  • Goal
  • Sharpen your soft skills (presenting the unknown to the unfamiliar)
  • Structured and goal-oriented working
  • Extracting and comparing information
  • Having fun ;)
slide-5
SLIDE 5

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Contents

  • Several lectures
  • Write an academic paper... “Current state and future

challenges in X” (7-10 pages)‏

  • Submit the paper
  • Participate in a review process
  • Present your work (conference style)
  • Paper and presentation can be either German or English
slide-6
SLIDE 6

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Warning

  • Take this course seriously!
  • 5 Credit Points = 150 h, all within the semester (~10h/week)
  • Focus on reading and writing
  • Paper (first version) is due in 5 weeks!
  • Plenty feedback and opportunities for improvement: Use it by

starting with a good version

  • Tough grading at the end
slide-7
SLIDE 7

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Deadlines (strict)

  • November 13 (in 3 weeks): 5min presentation of topic and

relevant literature

  • November 16: Submission of outline
  • November 30 (in 5 weeks): Submission of paper
  • December 14 (within 2 weeks): paper reviews due (2x)
  • January 18 (within 4 weeks): Submission of improved paper
  • ???: Practice presentation; Edit: no practice presentation
  • January/February: Final presentation
slide-8
SLIDE 8

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Grading

  • Grades based on quality of
  • the final paper (50%),
  • the reviews (20%), and
  • the final presentation (30%)‏
  • Only the final paper and presentation are graded
  • Focus on formal criteria (style, cohesion, adequate references)

instead of novel contribution

  • Details in the corresponding lectures
  • Participating in all lectures is mandatory; precondition for

grading

slide-9
SLIDE 9

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Topics

slide-10
SLIDE 10

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  • 1. Variabilität in Anforderungsspezifikationen
  • 2. Formale Ansätze zur Variabilitätsmodellierung
  • 3. Vergleich von konkreten Ansätze

zur Variabilitätsmodellierung

  • 4. Entwicklungsprozess von SPLs - vom Produkt zur

Produktlinie

  • 5. Kompositionale Ansätze zur Implementierung von

Produktlinien

slide-11
SLIDE 11

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  • 6. Annotative Ansätze zur Implementierung von Produktlinien
  • 7. Testen von Produktlinien bzw. Variablen Softwaresystemen
  • 8. Refactoring von Softwareproduktlinien
  • 9. Anwendung und Realisierung von SPLs in der Praxis
  • 10. Der Linux Kernel als Software-Produktlinie
slide-12
SLIDE 12

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Software Product Lines

slide-13
SLIDE 13

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Do you know examples for (Software) Product Lines? Why to use the product-line approach? Advantages? Disadvantages?

slide-14
SLIDE 14

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Car ¡Product ¡Line ¡

slide-15
SLIDE 15

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-16
SLIDE 16

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-17
SLIDE 17

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-18
SLIDE 18

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-19
SLIDE 19

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-20
SLIDE 20

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

2

F e a t u r e s

10000

Features

slide-21
SLIDE 21

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

So0ware ¡Product ¡Lines ¡

A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.

Software Engineering Institute Carnegie Mellon University

21

slide-22
SLIDE 22

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

So0ware ¡Product ¡Lines ¡

A ¡set ¡of ¡program ¡variants ¡(so1ware ¡products), ¡ ...tailored ¡to ¡a ¡common ¡market ¡segment ¡(domain) ¡ ...with ¡the ¡goal ¡of ¡reuse ¡common ¡so1ware ¡artefacts ¡ ¡ e.g., ¡database ¡product ¡line ¡fo ¡eembedded ¡system ¡

22

slide-23
SLIDE 23

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Domain ¡

  • Programs ¡of ¡a ¡product ¡line ¡tailored ¡to ¡applica?on ¡area ¡
  • Applica?on ¡area ¡is ¡called ¡domain ¡
  • Horizontal ¡domains ¡
  • billing, ¡inventory ¡management, ¡flight ¡booking ¡
  • Ver?cal ¡domains ¡
  • Numeric ¡algorithm, ¡network ¡drivers, ¡GUIs, ¡databases ¡

23

slide-24
SLIDE 24

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

What ¡is ¡a ¡feature? ¡(German:Merkmal) ¡

  • Domain ¡abstrac?on ¡
  • Represents ¡requirements, ¡commonali?es, ¡variabili?es ¡amongst ¡program ¡

variants ¡

  • Mean ¡for ¡communica?on ¡between ¡stakeholder ¡
  • Specifica?on ¡of ¡variants ¡
  • Feature ¡selec?on ¡as ¡input ¡for ¡program ¡genera?on ¡
  • BUT: ¡there ¡are ¡concerns, ¡which ¡are ¡NO ¡features ¡

24

slide-25
SLIDE 25

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Concern ¡vs. ¡Feature ¡

  • Concern ¡
  • Every ¡problem ¡statement ¡of ¡interest ¡
  • Feature ¡
  • Problem ¡statement ¡with ¡specific ¡meaning ¡in ¡the ¡domain ¡
  • Configura?on ¡op?on ¡

concern feature

25

slide-26
SLIDE 26

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Features ¡in ¡Databases ¡

  • Transac?on ¡management ¡
  • Log ¡& ¡Recovery ¡
  • Write ¡access ¡
  • Persistency ¡/ ¡In-­‑Memory ¡
  • Place ¡replace ¡strategiesLRU ¡/ ¡LFU ¡/ ¡Clock ¡/... ¡
  • Sor?ng ¡algorithms ¡
  • Records ¡with ¡variable ¡length ¡
  • Grouping, ¡aggrega?on ¡
  • Windows ¡/ ¡Unix ¡/ ¡NutOS ¡/ ¡TinyOS ¡/ ¡… ¡

26

slide-27
SLIDE 27

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Development ¡of ¡Product ¡Lines ¡

  • Developing ¡a ¡product ¡line ¡instead ¡of ¡single ¡applica?ons ¡
  • Product ¡lines ¡covers ¡requirements ¡of ¡whole ¡domain ¡
  • Deviates ¡from ¡tradi?onal ¡development ¡process ¡and ¡lifecycle ¡
  • Dis?nc?on ¡between ¡
  • Domain ¡Engineering ¡
  • Applica?on ¡Engineering ¡

27

slide-28
SLIDE 28

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

So0ware ¡Lifecycle ¡-­‑ ¡typical ¡

28

slide-29
SLIDE 29

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Domain ¡Engineering ¡

[...] is the activity of collecting, organizing, and storing past experience in building systems [...] in a particular domain in the form of reusable assets [...], as well as providing an adequate means for reusing these assets (i.e., retrieval, qualification, dissemination, adaptation, assembly, and so on) when building new systems.

  • K. Czarnecki and U. Eisenecker

29

slide-30
SLIDE 30

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

ApplicaJon ¡and ¡Domain ¡Engineering ¡

30

slide-31
SLIDE 31

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Development ¡Effort ¡

31

# Produkte Aufwand/Kosten Konventionelle Entwicklung Produktlinien- entwicklung … 1 2 3 4

slide-32
SLIDE 32

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Literature on Software Product Lines

Krzysztof Czarnecki and Ulrich Eisenecker. Generative programming: methods, tools, and applications. ACM Press, New York, NY, USA, 2000.

  • K. Kang et al. Feature-Oriented Domain Analysis (FODA)

Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Pittsburgh, PA, USA, November 1990. Clements, P. & Northrop, L. Software Product Lines: Practices and

  • Patterns. Boston, MA: Addison-Wesley, 2002.

Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and

  • Techniques. Springer-Verlag New York, Inc., Secaucus, NJ,

USA.

slide-33
SLIDE 33

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-34
SLIDE 34

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Survey Papers

  • Discuss different approaches/solutions for a problem
  • Group/classify solutions, discuss commonalities and differences
  • Try to be complete or at least select important representatives
  • Aggregation and describing relationships is your contribution!

(instead of a new solution to the problem)

  • Which problems are still open
  • Are there initial ideas for that?
slide-35
SLIDE 35

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Our Requirements

  • Explain the problem (and its importance) to readers unfamiliar

with the domain

  • Discuss different solutions (by different research groups)
  • Give a benefit compared to reading all papers
  • Discussion, comparison, or additional context
  • Suggestions for future directions
  • Keep it within 8 pages (IEEE CS 2 column format, including

references)

slide-36
SLIDE 36

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Finding literature

  • Library: Journals (online&print), also interlibrary lending

(Fernleihe)

  • scholar.google.com (use also link “All x versions”)
  • ACM Digital Library (within university network)
  • dblp.uni-trier.de
  • Related Work therein
slide-37
SLIDE 37

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Examples of Survey Papers

  • T. Mens. A State-of-the-Art Survey on Software Merging. IEEE

Transactions on Software Engineering, 28:5, 449-462, 2002

  • T. Browning. Applying the Design Structure Matrix to System

Decomposition and Integration Problems: A Review and New

  • Directions. IEEE Transactions on Engineering Management,

48:3, 292-306, 2001

  • Muffy Calder, Mario Kolberg, Evan H. Magill, and Stephan Reiff-
  • Marganiec. Feature interaction: a critical review and

considered forecast. Computer Networks, 41:1, 115-141, 2003

slide-38
SLIDE 38

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Why to Publish

slide-39
SLIDE 39

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Research requires Writing

  • Writing is fundamental part of research (do not underestimate!)
  • > 30% of time spent on writing
  • Writing is work, a profession (not talent, inspiration, …)
  • Writing can be learned
  • Practice, practice, practice…
  • Some publications are expected when submitting PhD thesis
  • PhD students that never focus on writing within the first years,

hardly finish their PhD

  • Scientists are often evaluated based on publications
slide-40
SLIDE 40

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Peer Review

  • Scientific quality control
  • Experts in the field review submitted papers, recommend

acceptance/rejection and suggest improvements

  • Quality reviews require high effort
  • Only peer reviewed publications count
slide-41
SLIDE 41

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Conference vs. Journal

  • Journal
  • More (long-term) impact
  • Wider target audience
  • Deeper reviews, long review

process

  • More space (15-50 pages)
  • Typically research results of

1-5 years

Conference Proceedings

Faster process

  • ca. 10 pages

Direct contacts and discussion at conferences; community Audience: 30-200

Workshop

Discussions; Community Work in progress, ideas, first results, 4-8 pages Audience: 10-20

Technical Report

slide-42
SLIDE 42

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Ranking

  • Different quality levels between conferences, workshop and

journals

  • Top-Level conferences receive over 300 papers, tough peer

review, select only best (often <20%), often considered equivalent to journals

  • Some local conferences and workshops accept almost

everything, little quality control, some for money

One Example for Ranking: http://www.core.edu.au/rankings/alpha-conf-final2007.pdf http://www.core.edu.au/journal%20rankings/08ERA-final-sort%20Rank.pdf

slide-43
SLIDE 43

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

slide-44
SLIDE 44

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Tools

  • Latex
  • Word/Open Office with Bibliography-Tool such as Endnote or

Citavi (URZ!)

  • Use a spell checker + grammar checker, e.g. in Word
  • Latex users: latex2rtf
  • SVN -> https://faracvs.cs.uni-magdeburg.de/svnadmin/
slide-45
SLIDE 45

Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Literature

  • Mary Jean Harrold, Axel van Lamsweerde - New Software

Engineering Faculty Symposium, ICSE 2006 (Slides)

  • Graham Horton – Schlüsselkompetenzen (Slides)
  • William Cook – Academic Writing (Slides)
  • Joseph M. Williams – Style: Toward Clarity and Grace, 1995
  • Lyn Dupre – Bugs in Writing, 1998
  • The Chicago Manual of Style