Upload
acher
View
140
Download
1
Embed Size (px)
DESCRIPTION
3D printing is gaining more and more momentum to build customized product in a wide variety of fields. We con- duct an exploratory study of Thingiverse, the most popular Website for sharing user-created 3D design les, in order to establish a possible connection with software product line (SPL) engineering. We report on the socio-technical aspects and current practices for modeling variability, implementing variability, configuring and deriving products, and reusing artefacts. We provide hints that SPL-alike techniques are practically used in 3D printing and thus relevant. Finally, we discuss why the customization in the 3D printing eld represents a challenging playground for SPL engineering.
Citation preview
Customiza*on and 3D Prin*ng
A Challenging Playground for So3ware Product Lines
Mathieu Acher, Benoit Baudry, Olivier Barais, Jean-‐Marc Jézéquel
3D Print your 3D Printer
Puppets
5
6
7
9
So7ware product line (SPL) perspec*ve
3D PrinIng is gaining momentum – CustomizaIon also
• SPL? Variability? • « the ability of a so3ware system or arIfact to be efficiently extended, changed, customized or configured for use in a parIcular context »
• Can SPL engineering learn from 3D prin*ng? • Can 3D prin*ng benefit from SPL engineering?
10
Field/ethnographic study
We observed how a community of people (i.e, the Thingiverse community) interacts and collaborates for achieving a technical work (i.e., customizing and producing 3D models)
11
Playground
12
13
No need to hide, there is an “open” access to data
14
Analysis of Thingiverse
15
16
17
18
19
.scad
20
Documenta*on (hLp://customizer.makerbot.com/docs)
21
22 Variability Modeling Variability Implementation
Configuration Reuse
We observed how a community of people (i.e, the Thingiverse community) interacts and collaborates for achieving a technical work (i.e., customizing and producing 3D models)
Preconcep*on: product line perspec*ve
23
24
25
Conditional statements hell
26
33 imbrications “else” not necessarily here
27
Configuration
Clone and Own
28
Reuse
Key Results (1)
• Variability Modeling and ConfiguraIon – Variability concepts are here – No constraints – ConfiguraIon
• Configurator • Visibility / SeparaIon of Concerns • Many configuraIon issues
– Huge complexity • 38 parameters, 8 tabs, 10^28 configuraIons
29
Key Results (2)
• ImplementaIon – Parameterized Procedures – CondiIonal Statements
• 33 imbricaIons – pre-‐compiled datastructures
• themselves parameterizable
• DerivaIon – You can visualize your result before prinIng
• Limited reuse mechanism
30
So What?
• Will So3ware Product Line Engineering save the world?
• Can help, can learn
• Challenges ahead
31
Capture Specific Things
• Physical properIes – Are we even able to print the 3D product
• Specific to the product – knowledge out there
• So3ware level
32
Complexity and Cogni*ve Effort
• Keeping a low cogniIve effort – Not necessarily so3ware developers
• More sophisIcated techniques induce someImes accidental complexity
33
Cost-‐benefit Tradeoff
• Cost of applying more sophisIcated techniques versus benefit of upfront investment
• Pay off when? – For dozens of people in their garage? – For millions of rich people?
34
Challenging Playground
35
Future
• Automated techniques to support large scale, more comprehensive analysis – Beyond an exploratory and very manual analysis
– We have an infrastructure to mine Things and analyze .scad files
• Adressing the challenges • Helping a community like Thingiverse to master the complexity
36
OpenJSCAD
37