designscript domain specific modelling 2016
play

DesignScript @ Domain Specific Modelling 2016 Robert Aish, - PowerPoint PPT Presentation

DesignScript @ Domain Specific Modelling 2016 Robert Aish, Bartlett/UCL and Emmanuel Mendoza, ARM DesignScript is a multi-paradigm domain-specific end-user language and modelling environment for architectural and engineering computation. In this


  1. DesignScript @ Domain Specific Modelling 2016 Robert Aish, Bartlett/UCL and Emmanuel Mendoza, ARM DesignScript is a multi-paradigm domain-specific end-user language and modelling environment for architectural and engineering computation. In this presentation we are focussing on the application domain, the challenges this presents and how DesignScript address these challenges. This is based on our paper http://www.dsmforum.org/events/DSM16/Papers/Aish_Mendoza.pdf A discussion of the design decisions behind DesignScript and how it is implemented will be presented tomorrow at DSLDI 2016

  2. Moderately complex, ultra domain We are addressing the Highly complex, abstract geometry domain of architecture. We can specific with hard coded components computed using completely general purpose and inter-component relationships. describe this domain by two programming tools and geometry libraries. The user requires no computing skills. different types of buildings and The user has to be an accomplished how computer based Modelled by ‘direct manipulation’. programmer. The program is the model. applications are used in their design

  3. project size and complexity mega projects nx10 6 components small/ conceptual none novice proficient expert computational skills In fact we can describe Moderately complex, ultra domain Highly complex, abstract geometry These differences using three specific with hard coded components computed using completely general purpose characteristic dimensions: and inter-component relationships. programming tools and geometry libraries. 1. Size and complexity . The user requires no computing skills. The user has to be an accomplished 2. Domain Specific to Abstract Modelled by ‘direct manipulation’. programmer. The program is the model. 3. The level of computational skill required

  4. We can position each of these buildings in this space project size and complexity mega projects nx10 6 components small/ conceptual none novice proficient expert computational skills Moderately complex, ultra domain Highly complex, abstract geometry specific with hard coded components computed using completely general purpose and inter-component relationships. programming tools and geometry libraries. The user requires no computing skills. The user has to be an accomplished Modelled by ‘direct manipulation’. programmer. The program is the model.

  5. …but what we are really interested in is the gap in the middle… project size and complexity mega projects nx10 6 components small/ conceptual none novice proficient expert computational skills Moderately complex, ultra domain Highly complex, abstract geometry specific with hard coded components computed using completely general purpose and inter-component relationships. programming tools and geometry libraries. The user requires no computing skills. The user has to be an accomplished Modelled by ‘direct manipulation’. programmer. The program is the model.

  6. … and the possible paths a novice user might take to use more advanced computation to design more interesting architecture project size and complexity mega projects nx10 6 components small/ conceptual none novice proficient expert computational skills Moderately complex, ultra domain Highly complex, abstract geometry specific with hard coded components computed using completely general purpose and inter-component relationships. programming tools and geometry libraries. The user requires no computing skills. The user has to be an accomplished Modelled by ‘direct manipulation’. programmer. The program is the model.

  7. project size and complexity mega projects nx10 6 components small/ conceptual none novice proficient expert computational skills Moderately complex, ultra domain The challenge is to create Highly complex, abstract geometry specific with hard coded components programing tools that are accessible computed using completely general purpose and inter-component relationships. to novice end-users, who can then programming tools and geometry libraries. The user requires no computing skills. create architecture which The user has to be an accomplished Modelled by ‘direct manipulation’. progresses beyond the hard-coded programmer. The program is the model. restrictions of conventional systems. hence the ‘challenge’

  8. Moderately complex, ultra domain The challenge is to create Highly complex, abstract geometry specific with hard coded components programing tools that are accessible computed using completely general purpose and inter-component relationships. to novice end-users, who can then programming tools and geometry libraries. The user requires no computing skills. create architecture which The user has to be an accomplished Modelled by ‘direct manipulation’. progresses beyond the hard-coded programmer. The program is the model. restrictions of conventional systems. and here is an example

  9. The challenge is to create programing tools that are accessible to novice end-users, who can then create architecture which and here is an example progresses beyond the hard-coded restrictions of conventional systems. Marina Bay Bridge, Singapore http://2.bp.blogspot.com/-TkamurQBnYA/VO0pTt1Y23I/AAAAAAAAAOE/Zety_u2abkU/s1600/helix%2Bbridge.jpg

  10. but not an isolated example GenerativeComponents: https://communities.bentley.com/products/products_generativecomponents/w/generative_components_community_wiki

  11. a nd another example… Velodrome at the 2012 London Olympics http://www.designboom.com/cms/images/rido/vel01.jpg

  12. or examples from Rhino Rhino Grasshopper Grasshopper http://www.grasshopper3d.com/

  13. Such as this from the GoldSmiths’ company… not a building but it could be Gold Smiths http://technical-journal.thegoldsmiths.co.uk/wp-content/uploads/2014/08/Grasshopper-slicing-build-process-1024x549.png /

  14. or examples from Dynamo

  15. more examples from Dynamo

  16. but here is the problem.. Visual data flow programming is a technique which is initially easy to learn and use but does not necessarily scale. It is not that the application fails, but rather as the program becomes more complex it becomes less clear and less useful

  17. Increasing skills required 1. Visual dataflow programming provides an easily accessible approach for simple computational design problems Increasing complexity of result So this is the argument

  18. Increasing skills required 2. As the number of nodes and arcs increases, the visual complexity increases non-linearly, reducing 1. Visual dataflow the effectiveness programming provides of data flow an easily accessible approach for simple computational design problems Increasing complexity of result So this is the argument

  19. Increasing skills required 2. As the number of nodes and arcs increases, the visual 3. The skill level required for complexity increases programming in conventional non-linearly, reducing imperative high level languages 1. Visual dataflow the effectiveness programming provides of data flow an easily accessible approach for simple computational design problems Increasing complexity of result So this is the argument

  20. Increasing skills required 2. As the number of nodes and arcs increases, the visual 3. The skill level required for complexity increases programming in conventional non-linearly, reducing imperative high level languages 1. Visual dataflow the effectiveness programming provides of data flow an easily accessible 4. The increase in skills required to move approach for simple from data flow programming to regular computational design high level languages may present problems ‘abstraction barriers’ and be beyond the range of novice programmers Increasing complexity of result So this is the argument

  21. Increasing skills required Increasing skills required 6. C# classes added using ‘zero touch’ 2. As the number of nodes 5. Encapsulation, via user functions [Figure 7] and arcs increases, the visual 3. The skill level required for complexity increases programming in conventional non-linearly, reducing 4. Hybrid Data Flow-Imperative programming [Figure 6] imperative high level languages 1. Visual dataflow 1. Visual dataflow the effectiveness programming provides programming provides of data flow 3. Text based Data Flow programming [Figure 5] an easily accessible 4. The increase in skills required to move an easily accessible approach for simple from data flow programming to regular approach for simple 2. Node to Code: As the number of nodes and arcs increases, a region computational design high level languages may present computational design of the visual data flow graph can be converted to text based code, problems ‘abstraction barriers’ and be beyond the problems thus reducing visual complexity and ‘seeding’ the user’s code with the range of novice programmers logic previously developed in visual data flow programing [Figure 4] Increasing complexity of result Increasing complexity of result DesignScript is a multi-paradigm domain-specific end-user language and modelling environment for architectural and engineering computation … and this is a possible solution

Recommend


More recommend