3d printing, customization, and product lines
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.TRANSCRIPT
![Page 1: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/1.jpg)
Customiza*on and 3D Prin*ng
A Challenging Playground for So3ware Product Lines
Mathieu Acher, Benoit Baudry, Olivier Barais, Jean-‐Marc Jézéquel
![Page 2: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/2.jpg)
![Page 3: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/3.jpg)
![Page 4: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/4.jpg)
3D Print your 3D Printer
![Page 5: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/5.jpg)
Puppets
5
![Page 6: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/6.jpg)
6
![Page 7: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/7.jpg)
7
![Page 8: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/8.jpg)
![Page 9: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/9.jpg)
9
![Page 10: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/10.jpg)
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
![Page 11: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/11.jpg)
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
![Page 12: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/12.jpg)
Playground
12
![Page 13: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/13.jpg)
13
![Page 14: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/14.jpg)
No need to hide, there is an “open” access to data
14
![Page 15: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/15.jpg)
Analysis of Thingiverse
15
![Page 16: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/16.jpg)
16
![Page 17: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/17.jpg)
17
![Page 18: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/18.jpg)
18
![Page 19: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/19.jpg)
19
.scad
![Page 20: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/20.jpg)
20
![Page 21: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/21.jpg)
Documenta*on (hLp://customizer.makerbot.com/docs)
21
![Page 22: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/22.jpg)
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
![Page 23: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/23.jpg)
23
![Page 24: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/24.jpg)
24
![Page 25: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/25.jpg)
25
Conditional statements hell
![Page 26: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/26.jpg)
26
33 imbrications “else” not necessarily here
![Page 27: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/27.jpg)
27
Configuration
Clone and Own
![Page 28: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/28.jpg)
28
Reuse
![Page 29: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/29.jpg)
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
![Page 30: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/30.jpg)
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
![Page 31: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/31.jpg)
So What?
• Will So3ware Product Line Engineering save the world?
• Can help, can learn
• Challenges ahead
31
![Page 32: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/32.jpg)
Capture Specific Things
• Physical properIes – Are we even able to print the 3D product
• Specific to the product – knowledge out there
• So3ware level
32
![Page 33: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/33.jpg)
Complexity and Cogni*ve Effort
• Keeping a low cogniIve effort – Not necessarily so3ware developers
• More sophisIcated techniques induce someImes accidental complexity
33
![Page 34: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/34.jpg)
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
![Page 35: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/35.jpg)
Challenging Playground
35
![Page 36: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/36.jpg)
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
![Page 37: 3D Printing, Customization, and Product Lines](https://reader033.vdocuments.us/reader033/viewer/2022052310/5495ee78ac79591d2e8b4f43/html5/thumbnails/37.jpg)
OpenJSCAD
37