37
Customiza*on and 3D Prin*ng A Challenging Playground for So3ware Product Lines Mathieu Acher , Benoit Baudry, Olivier Barais, JeanMarc Jézéquel

3D Printing, Customization, and Product Lines

  • 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, confi guring 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

Page 1: 3D Printing, Customization, and Product Lines

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
Page 3: 3D Printing, Customization, and Product Lines
Page 4: 3D Printing, Customization, and Product Lines

3D  Print  your  3D  Printer  

Page 5: 3D Printing, Customization, and Product Lines

Puppets  

5  

Page 6: 3D Printing, Customization, and Product Lines

6  

Page 7: 3D Printing, Customization, and Product Lines

7  

Page 8: 3D Printing, Customization, and Product Lines
Page 9: 3D Printing, Customization, and Product Lines

9  

Page 10: 3D Printing, Customization, and Product Lines

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

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

Playground  

12  

Page 13: 3D Printing, Customization, and Product Lines

13  

Page 14: 3D Printing, Customization, and Product Lines

No  need  to  hide,    there  is  an  “open”  access  to  data  

14  

Page 15: 3D Printing, Customization, and Product Lines

Analysis  of  Thingiverse  

15  

Page 16: 3D Printing, Customization, and Product Lines

16  

Page 17: 3D Printing, Customization, and Product Lines

17  

Page 18: 3D Printing, Customization, and Product Lines

18  

Page 19: 3D Printing, Customization, and Product Lines

19  

.scad

Page 20: 3D Printing, Customization, and Product Lines

20  

Page 21: 3D Printing, Customization, and Product Lines

Documenta*on    (hLp://customizer.makerbot.com/docs)  

21  

Page 22: 3D Printing, Customization, and Product Lines

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

23  

Page 24: 3D Printing, Customization, and Product Lines

24  

Page 25: 3D Printing, Customization, and Product Lines

25  

Conditional statements hell

Page 26: 3D Printing, Customization, and Product Lines

26  

33 imbrications “else” not necessarily here

Page 27: 3D Printing, Customization, and Product Lines

27  

Configuration

Clone and Own

Page 28: 3D Printing, Customization, and Product Lines

28  

Reuse

Page 29: 3D Printing, Customization, and Product Lines

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

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

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

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

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

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

Challenging  Playground  

35  

Page 36: 3D Printing, Customization, and Product Lines

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

OpenJSCAD  

37