SlideShare una empresa de Scribd logo
1 de 28
Teaching Software Product Lines
A Snapshot of Current Practices and Challenges
(Journal First Presentation at SPLC 2018)
Mathieu Acher Roberto E. Lopez-Herrejon Rick Rabiser
University of Rennes 1
IRISA/Inria
Rennes France
mathieu.acher@irisa.fr
École de Technologie
Supérieure
Montreal, Canada
roberto.lopez@etsmtl.ca
CDL MEVSS, ISSE
Johannes Kepler University
Linz, Austria
rick.rabiser@jku.at
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Paper:
ACM Transactions on Computing
Education, vol. 18(1), pp. 2:1-2:31, 2017.
Repository:
http://teaching.variability.io/
SPLTea workshops:
http://spltea.irisa.fr
(“Education and SPL” in the CfPs of
SPLC 2017 and 2018)
Background/Initiatives
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Software Product Lines and Variability
Now well-established in research and industry
Body of knowledge is growing
3
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
SPLs and Teaching
• Teach or perish! What’s the point of doing research in this
field if you’re unable to disseminate your results and train the
engineers of tomorrow?
• Education has a key role to play in disseminating the SPL knowledge
• Research can also benefit from teaching (get feedback)
• We know there are initiatives to collect SPL knowledge (e.g.,
ESPLA Catalogue, SPLOT, …) but it remains unclear:
• what is the material available for teaching
• what are the possible gaps and difficulties faced
• Teaching SPLs is challenging
• Relatively young discipline
• SPLE encompasses a variety of topics (SE, PL, AI, …)
4
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
In a nutshell, there is a central
question
How to teach software
product lines and
variability?
5
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Research Method
Stakeholders of
Software Product
Line Teaching
Survey on Teaching
of Software
Product Lines
SPLTea Workshops on
Software Product
Lines and Teaching
Survey on Learning
about Software
Product Lines
Researchers Educators Practitioners Students
Our Initiatives
Analyses of the State of Practice
Curriculum (e.g., length of course, topics
covered, audience, …)
Material (e.g., textbooks, tools used, ...)
Experience Reports
Challenges
Recommendations
Suggestions to improve the practice
Key messages and concrete actions
Analyses and
Discussions
Our Results
#1 Survey on Teaching of
Software Product Lines
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Design
• 91 contacts
• pool of SPL researchers we know teach
• search for SPL courses online
• review SPLC and VaMoS papers
• On-line questionnaire
(http://www.surveygizmo.com/s3/13423
46/Teaching-Software-Product-Lines)
• 13 enumerative and 5 open questions
• Feedback by colleagues
• 34 complete responses and 15 partial
• Decision: only analyze complete
8
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Respondents and their institutions
• 34 responses from 13 countries
• Avg. SPL experience 10yrs, avg. SPL teaching experience 6yrs
• Half say their research exp. = their teaching exp.
• Institutions
• 15 research-focused
• 9 teaching-focused (colleges)
• 7 have both focuses
• 3 industrial institutions
• Departments
• CS (13), SE (9), IT (2)
• others (10) -- all CS-related
• 16 full and self-contained SPL courses
• 18 teach SPL topics as part of other courses
9
Austria, 2
Canada, 1
Colombia, 1
France, 2
Germany,
12
Israel, 2
Italy, 1
Japan, 1
Korea, Rep.
Of, 1
Spain, 3
Switzerland,
1
USA, 6
Portugal, 1
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Literature used
• 28 respondents use these books
• 25 use research papers, selected based on personal preferences
• 12 use case studies, e.g., by van der Linden et al. 2007; BigLever;
Renault, STAGO, LINUX, and SPLOT; and own case studies
10
0
1
2
3
4
5
6
7
8
9
10
Apel et al.
2013
Clements
and
Northrop
2001
Czarnecki
and
Eisenecker
2000
Gomaa
2005
Pohl et al.
2005
van der
Linden et
al. 2007
Weiss and
Lai 1999
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Tools used
SPL Tool used by
None 8
FeatureIDE 6
BigLever's GEARS 4
FeatureHouse 3
pure system's pure::variants 3
AHEAD 2
CIDE 2
CVL 2
Feature Modelling Plug-in (FMP) 2
DOPLER, EasyProducer, FaMa, Familiar, FeatureMapper, Munge,
SPLAR, SPLOT, VARIAMOS, Varmod
1
each
C++, Metaprogramming, Software Generators, Xtext, MPS 1
Different tools for creating feature diagrams and UML-based models 1
Feature modeling UML tools extended for SPL 1
Haskell-Embedded Variation DSL 1
Own research prototypes 1
11
also see the survey by Berger et al. VaMoS 2013
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Length, audience
• Most courses are held over a semester (26)
• 3 "on demand", 2 as week-long courses, quarter (1), 1-2 days
seminars (1), and with a flexible schedule (1)
• Average course length 24 hours (min: 1h; max: 120h)
12
0
2
4
6
8
10
12
14
Only Undergrads
Only Grads
Only Industry
People
Undergrads and
Grads
Grads and Industry
people
Undergrads
students and
Industry people
Undergrads, Grads,
and Industry people
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Practical time, SPL lifecycle coverage
• Practical time/overall course time 65% in average
13
Topic Department
CS SE OT
Total
Requirements engineering 7 4 12 23
Testing 3 1 4 8
Modelling 9 8 13 30
Implementation 9 8 8 25
Maintenance & Evolution 9 3 5 17
Reverse engineering & SPL Adoption 7 2 1 10
Processes 5 6 8 19
Other 5 2 3 10
CS: Computer Science, SE: Software Engineering, OT: Other departments
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Challenges of teaching SPL
• Lack of and availability of well-documented real-world examples and
case studies suitable for teaching (16)
• Complexity of the subject and required background knowledge (9)
• Lack of and availability of SPL tools (7)
• Acceptance on the curriculum and opening the mind of students (4)
14
“Even software engineering can be hard to teach as
developing large-scale systems does not connect to
students hands-on experience of developing rather
small solutions. Teaching SPL means SE for many
systems, this does even less relate to students' experiences”
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
How to improve the state of teaching SPL
• Improved textbook examples and case studies (13)
• Better tools for students (7)
• Broaden the focus of teaching SPLs (3)
• Other ideas
• videos of experts to motivate SPLs and explain key concepts and ideas
• incorporate the notions and terminology of SPLs more in other courses
• develop a standard curriculum and evaluation scheme for teaching SPLs
15
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Survey Results
Impact of teaching SPL
• On research
• Student participation in research evaluations (11)
• Finding research personnel (8)
• Feedback on and discussion about tools, examples, case studies (6)
• Connecting with industry (5)
• On practice
• Teaching SPLE = preparation of introduction of SPLE in industry (13)
• …and increases awareness of SPL in industry and trains future
practitioners (7)
• …and can be the start of industry-academia collab. projects (2)
16
#2 SPLTea Workshops
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
SPLTea’14 (Florence, Italy, SPLC 2014)
• 30+ attendees
• 3 experience reports
• Industry Panel
• Dr. Paul Clements, VP of customer success at BigLever
• Dr. Martin Becker, head of Embedded Systems
Development at Fraunhofer IESE
• Dr. Steve Livengood, Software Architect at Samsung
Research America
• Dr. Juha Savolainen, (at that time) SW Director at Danfoss
Power Electronics
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Key points discussed at the
industry panel
• SPL infuses additional complexity in the software engineering
problems – students should be aware of it.
• Treat variability in the same way as other basic functional
and non-functional properties
• Make SPL courses more “realistic”
• Industry involvement in the teaching of SPLs should be seen as
a mutually beneficial activity
• Product line tools used in industry can/should be used in
teaching
19
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Experience reports and insigths
• Variability in… teaching experiences:
• Seidl and Domachowska presented their experiences on ’Teaching
Variability Engineering to Cognitive Psychologists’
• McGregor reported about ’Ten Years of the Arcade Game Maker
Pedagogical Product Line’
• Collet et al. presented their ’Experiences in Teaching Variability Modeling
and Model-driven Generative Techniques’
• Other discussions at the workshops
• Need for case studies
• Curriculum and different ways to teach SPL knowledge
• Populating a repository of teaching material
20
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
SPLTea’15 (Nashville, USA, SPLC 2015)
• Brainstorming about a repository of teaching material for product
lines and variability
• Questions like:
• What could be the desirable features, services, underlying technology?
• How to collect more resources?
• How to involve industry?
• How to advertise the existence of the repository?
• For educators only? researchers? students? practitioners? both?
• How to build a network of SPL educators?
• How to make it possible for people to browse and understand the SPL
knowledge of the repository?
• Result and ongoing effort: http://teaching.variability.io
21
#3 Student Survey
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
8 Courses, 7 Countries, 21 Reponses
23
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Missed student interests
• More practical examples and tools or more about recent
case studies or experience reports from SPLs
• They wanted but did not learn about the barriers for
adopting SPL concepts in a real software organization and
how to introduce the SPL culture in a company
• Would have wished for more links between model-driven
engineering and SPL engineering
24
“SPL engineering often seems to be presented as a (too)
ideal approach to develop software but does not (enough)
take into account the reality that existing (legacy) software
still needs to be maintained and/or refactored into an SPL”
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Challenges students perceived
• Seven students (all without industry job) think that “it is
very challenging to understand the general concept of
(large-scale) reuse as a student”
• Understanding the basic concepts of SPL engineering,
especially “imagining how it will work in practice is difficult”
• A lot of background knowledge is required to understand
SPLs, especially a lot of experience in software
engineering
25
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Suggestions by students
• Include more practical activities and discussions and details on
how to transfer the theoretical knowledge to the real world (e.g.,
“providing detailed solutions to practical exercises”)
• Let students try out commercial SPL tools
• Compare SPL engineering with other recent approaches such
as agile development
26
“It would be a good idea to work on one big, concrete
project throughout the semester to experience the
development of a SPL from scratch”
Wrap-up
Stakeholders of
Software Product
Line Teaching
Survey on Teaching
of Software
Product Lines
SPLTea Workshops on
Software Product
Lines and Teaching
Survey on Learning
about Software
Product Lines
Researchers Educators Practitioners Students
Our Initiatives
Analyses of the State of Practice
Curriculum (e.g., length of course, topics
covered, audience, …)
Material (e.g., textbooks, tools used, ...)
Experience Reports
Challenges
Recommendations
Suggestions to improve the practice
Key messages and concrete actions
Analyses and
Discussions
Our Results
2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io
Lessons/Recommendations
• Tools are here and no longer a source of anxiety/an obstacle: educators
now have a collection of tools for modeling and implementing SPLs
• Curriculum integration: there are many possible scenarios
• Full course vs. as part of other courses
• Teach SPLs at the graduate levels
• Towards a baseline curriculum and evaluation scheme; customizable!
• From exercises to case studies
• Despite early efforts, encompassing all SPL activities within a unique case study
remains challenging (consider a subset?!)
• Innovate, take risks, possibly deviate from current practices, and
eventually report on failures or successes (grow the body of
knowledge!)
28
Repository: http://teaching.variability.io/
TOCE article: http://doi.acm.org/10.1145/3088440
SPLTea Workshops: http://spltea.irisa.fr
Questions? mathieu.acher@irisa.fr -- @acherm, @RickRabiser

Más contenido relacionado

Más de University of Rennes, INSA Rennes, Inria/IRISA, CNRS

Más de University of Rennes, INSA Rennes, Inria/IRISA, CNRS (20)

Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
 
Synthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product DescriptionsSynthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product Descriptions
 
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines
 
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
 
A survey on teaching of software product lines
A survey on teaching of software product linesA survey on teaching of software product lines
A survey on teaching of software product lines
 
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case StudyProduct Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
Product Comparison Matrix (PCM), Variability Modeling: The Wikipedia Case Study
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 
ASE'11 (short paper)
ASE'11 (short paper)ASE'11 (short paper)
ASE'11 (short paper)
 
ASE tool demonstration
ASE tool demonstrationASE tool demonstration
ASE tool demonstration
 
Acher PhD thesis defense
Acher PhD thesis defense Acher PhD thesis defense
Acher PhD thesis defense
 
BENEVOL'11 - Reverse Engineering Architectural Feature Models
BENEVOL'11 - Reverse Engineering Architectural Feature ModelsBENEVOL'11 - Reverse Engineering Architectural Feature Models
BENEVOL'11 - Reverse Engineering Architectural Feature Models
 

Último

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 

Último (20)

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 

Teaching Software Product Lines: A Snapshot of Current Practices and Challenges

  • 1. Teaching Software Product Lines A Snapshot of Current Practices and Challenges (Journal First Presentation at SPLC 2018) Mathieu Acher Roberto E. Lopez-Herrejon Rick Rabiser University of Rennes 1 IRISA/Inria Rennes France mathieu.acher@irisa.fr École de Technologie Supérieure Montreal, Canada roberto.lopez@etsmtl.ca CDL MEVSS, ISSE Johannes Kepler University Linz, Austria rick.rabiser@jku.at
  • 2. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Paper: ACM Transactions on Computing Education, vol. 18(1), pp. 2:1-2:31, 2017. Repository: http://teaching.variability.io/ SPLTea workshops: http://spltea.irisa.fr (“Education and SPL” in the CfPs of SPLC 2017 and 2018) Background/Initiatives
  • 3. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Software Product Lines and Variability Now well-established in research and industry Body of knowledge is growing 3
  • 4. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io SPLs and Teaching • Teach or perish! What’s the point of doing research in this field if you’re unable to disseminate your results and train the engineers of tomorrow? • Education has a key role to play in disseminating the SPL knowledge • Research can also benefit from teaching (get feedback) • We know there are initiatives to collect SPL knowledge (e.g., ESPLA Catalogue, SPLOT, …) but it remains unclear: • what is the material available for teaching • what are the possible gaps and difficulties faced • Teaching SPLs is challenging • Relatively young discipline • SPLE encompasses a variety of topics (SE, PL, AI, …) 4
  • 5. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io In a nutshell, there is a central question How to teach software product lines and variability? 5
  • 6. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Research Method Stakeholders of Software Product Line Teaching Survey on Teaching of Software Product Lines SPLTea Workshops on Software Product Lines and Teaching Survey on Learning about Software Product Lines Researchers Educators Practitioners Students Our Initiatives Analyses of the State of Practice Curriculum (e.g., length of course, topics covered, audience, …) Material (e.g., textbooks, tools used, ...) Experience Reports Challenges Recommendations Suggestions to improve the practice Key messages and concrete actions Analyses and Discussions Our Results
  • 7. #1 Survey on Teaching of Software Product Lines
  • 8. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Design • 91 contacts • pool of SPL researchers we know teach • search for SPL courses online • review SPLC and VaMoS papers • On-line questionnaire (http://www.surveygizmo.com/s3/13423 46/Teaching-Software-Product-Lines) • 13 enumerative and 5 open questions • Feedback by colleagues • 34 complete responses and 15 partial • Decision: only analyze complete 8
  • 9. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Respondents and their institutions • 34 responses from 13 countries • Avg. SPL experience 10yrs, avg. SPL teaching experience 6yrs • Half say their research exp. = their teaching exp. • Institutions • 15 research-focused • 9 teaching-focused (colleges) • 7 have both focuses • 3 industrial institutions • Departments • CS (13), SE (9), IT (2) • others (10) -- all CS-related • 16 full and self-contained SPL courses • 18 teach SPL topics as part of other courses 9 Austria, 2 Canada, 1 Colombia, 1 France, 2 Germany, 12 Israel, 2 Italy, 1 Japan, 1 Korea, Rep. Of, 1 Spain, 3 Switzerland, 1 USA, 6 Portugal, 1
  • 10. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Literature used • 28 respondents use these books • 25 use research papers, selected based on personal preferences • 12 use case studies, e.g., by van der Linden et al. 2007; BigLever; Renault, STAGO, LINUX, and SPLOT; and own case studies 10 0 1 2 3 4 5 6 7 8 9 10 Apel et al. 2013 Clements and Northrop 2001 Czarnecki and Eisenecker 2000 Gomaa 2005 Pohl et al. 2005 van der Linden et al. 2007 Weiss and Lai 1999
  • 11. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Tools used SPL Tool used by None 8 FeatureIDE 6 BigLever's GEARS 4 FeatureHouse 3 pure system's pure::variants 3 AHEAD 2 CIDE 2 CVL 2 Feature Modelling Plug-in (FMP) 2 DOPLER, EasyProducer, FaMa, Familiar, FeatureMapper, Munge, SPLAR, SPLOT, VARIAMOS, Varmod 1 each C++, Metaprogramming, Software Generators, Xtext, MPS 1 Different tools for creating feature diagrams and UML-based models 1 Feature modeling UML tools extended for SPL 1 Haskell-Embedded Variation DSL 1 Own research prototypes 1 11 also see the survey by Berger et al. VaMoS 2013
  • 12. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Length, audience • Most courses are held over a semester (26) • 3 "on demand", 2 as week-long courses, quarter (1), 1-2 days seminars (1), and with a flexible schedule (1) • Average course length 24 hours (min: 1h; max: 120h) 12 0 2 4 6 8 10 12 14 Only Undergrads Only Grads Only Industry People Undergrads and Grads Grads and Industry people Undergrads students and Industry people Undergrads, Grads, and Industry people
  • 13. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Practical time, SPL lifecycle coverage • Practical time/overall course time 65% in average 13 Topic Department CS SE OT Total Requirements engineering 7 4 12 23 Testing 3 1 4 8 Modelling 9 8 13 30 Implementation 9 8 8 25 Maintenance & Evolution 9 3 5 17 Reverse engineering & SPL Adoption 7 2 1 10 Processes 5 6 8 19 Other 5 2 3 10 CS: Computer Science, SE: Software Engineering, OT: Other departments
  • 14. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Challenges of teaching SPL • Lack of and availability of well-documented real-world examples and case studies suitable for teaching (16) • Complexity of the subject and required background knowledge (9) • Lack of and availability of SPL tools (7) • Acceptance on the curriculum and opening the mind of students (4) 14 “Even software engineering can be hard to teach as developing large-scale systems does not connect to students hands-on experience of developing rather small solutions. Teaching SPL means SE for many systems, this does even less relate to students' experiences”
  • 15. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results How to improve the state of teaching SPL • Improved textbook examples and case studies (13) • Better tools for students (7) • Broaden the focus of teaching SPLs (3) • Other ideas • videos of experts to motivate SPLs and explain key concepts and ideas • incorporate the notions and terminology of SPLs more in other courses • develop a standard curriculum and evaluation scheme for teaching SPLs 15
  • 16. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Survey Results Impact of teaching SPL • On research • Student participation in research evaluations (11) • Finding research personnel (8) • Feedback on and discussion about tools, examples, case studies (6) • Connecting with industry (5) • On practice • Teaching SPLE = preparation of introduction of SPLE in industry (13) • …and increases awareness of SPL in industry and trains future practitioners (7) • …and can be the start of industry-academia collab. projects (2) 16
  • 18. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io SPLTea’14 (Florence, Italy, SPLC 2014) • 30+ attendees • 3 experience reports • Industry Panel • Dr. Paul Clements, VP of customer success at BigLever • Dr. Martin Becker, head of Embedded Systems Development at Fraunhofer IESE • Dr. Steve Livengood, Software Architect at Samsung Research America • Dr. Juha Savolainen, (at that time) SW Director at Danfoss Power Electronics
  • 19. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Key points discussed at the industry panel • SPL infuses additional complexity in the software engineering problems – students should be aware of it. • Treat variability in the same way as other basic functional and non-functional properties • Make SPL courses more “realistic” • Industry involvement in the teaching of SPLs should be seen as a mutually beneficial activity • Product line tools used in industry can/should be used in teaching 19
  • 20. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Experience reports and insigths • Variability in… teaching experiences: • Seidl and Domachowska presented their experiences on ’Teaching Variability Engineering to Cognitive Psychologists’ • McGregor reported about ’Ten Years of the Arcade Game Maker Pedagogical Product Line’ • Collet et al. presented their ’Experiences in Teaching Variability Modeling and Model-driven Generative Techniques’ • Other discussions at the workshops • Need for case studies • Curriculum and different ways to teach SPL knowledge • Populating a repository of teaching material 20
  • 21. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io SPLTea’15 (Nashville, USA, SPLC 2015) • Brainstorming about a repository of teaching material for product lines and variability • Questions like: • What could be the desirable features, services, underlying technology? • How to collect more resources? • How to involve industry? • How to advertise the existence of the repository? • For educators only? researchers? students? practitioners? both? • How to build a network of SPL educators? • How to make it possible for people to browse and understand the SPL knowledge of the repository? • Result and ongoing effort: http://teaching.variability.io 21
  • 23. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io 8 Courses, 7 Countries, 21 Reponses 23
  • 24. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Missed student interests • More practical examples and tools or more about recent case studies or experience reports from SPLs • They wanted but did not learn about the barriers for adopting SPL concepts in a real software organization and how to introduce the SPL culture in a company • Would have wished for more links between model-driven engineering and SPL engineering 24 “SPL engineering often seems to be presented as a (too) ideal approach to develop software but does not (enough) take into account the reality that existing (legacy) software still needs to be maintained and/or refactored into an SPL”
  • 25. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Challenges students perceived • Seven students (all without industry job) think that “it is very challenging to understand the general concept of (large-scale) reuse as a student” • Understanding the basic concepts of SPL engineering, especially “imagining how it will work in practice is difficult” • A lot of background knowledge is required to understand SPLs, especially a lot of experience in software engineering 25
  • 26. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Suggestions by students • Include more practical activities and discussions and details on how to transfer the theoretical knowledge to the real world (e.g., “providing detailed solutions to practical exercises”) • Let students try out commercial SPL tools • Compare SPL engineering with other recent approaches such as agile development 26 “It would be a good idea to work on one big, concrete project throughout the semester to experience the development of a SPL from scratch”
  • 27. Wrap-up Stakeholders of Software Product Line Teaching Survey on Teaching of Software Product Lines SPLTea Workshops on Software Product Lines and Teaching Survey on Learning about Software Product Lines Researchers Educators Practitioners Students Our Initiatives Analyses of the State of Practice Curriculum (e.g., length of course, topics covered, audience, …) Material (e.g., textbooks, tools used, ...) Experience Reports Challenges Recommendations Suggestions to improve the practice Key messages and concrete actions Analyses and Discussions Our Results
  • 28. 2018 | Acher, Lopez-Herrejon, Rabiser (TOCE article: SPL/variability and teaching) https://teaching.variability.io Lessons/Recommendations • Tools are here and no longer a source of anxiety/an obstacle: educators now have a collection of tools for modeling and implementing SPLs • Curriculum integration: there are many possible scenarios • Full course vs. as part of other courses • Teach SPLs at the graduate levels • Towards a baseline curriculum and evaluation scheme; customizable! • From exercises to case studies • Despite early efforts, encompassing all SPL activities within a unique case study remains challenging (consider a subset?!) • Innovate, take risks, possibly deviate from current practices, and eventually report on failures or successes (grow the body of knowledge!) 28 Repository: http://teaching.variability.io/ TOCE article: http://doi.acm.org/10.1145/3088440 SPLTea Workshops: http://spltea.irisa.fr Questions? mathieu.acher@irisa.fr -- @acherm, @RickRabiser

Notas del editor

  1. SPL teaching is probably performed concurrently with research and thus it might not always be the result of mature research experience. software engineering (8) requirements engineering (4) automated software design (1) principles of software construction (1) domain engineering (1) software architecture (1) factory development of software (1) Given the relative novelty of the topic, it is not surprising that over half of respondents teach SPL topics as part of other courses.
  2. While using text books and some research papers for teaching is pretty much standard in computer science, using case studies is also essential, especially for teaching SPLs. Why only about a third of respondents use case studies to teach SPLs should be further investigated (cf. Section 3.6)
  3. Scenario: SPLs going mainstream? In the past, companies were unwilling to publicly acknowledge their use of SPL. Now, they instead not only publicly acknowledge their use but go as far as to advertise it. Teaching can be a catalyst for this scenario to materialize.
  4. What did you expect from this course before it started? What did you actually learn from this course? What did you not learn and/or would have wanted to hear more about? Please define in your own words what a Software Product Line is What do you think is the most challenging part of learning about Software Product Line? Suggestions to improve the state of the teaching of Software Product Lines? How can the teaching of Software Product Lines impact industrial practice? Any other comments