1 / 25

Language Workbench Challenge…

Language Workbench Challenge…. What is it ?. A one day event For which people prepare a solution to a given case The results of which are presented to a larger group The builders are challenged to extend their solution based on new requirements Goal :

stash
Télécharger la présentation

Language Workbench Challenge…

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Language Workbench Challenge…

  2. What is it? A oneday event For whichpeopleprepare a solution to a given case The results of which are presentedto a largergroup The builders are challengedtoextendtheir solution based on new requirements Goal: Show whatlanguageworkbenchescan do today

  3. Last year Challenge Show key features any LWB should have Show whatmakes ‘your’ LWB special Form 10 presentations, 40 minutes each A day full of ‘broadcast’

  4. This years challenge - criteria Use/Combine models based on multiple meta-models Apply MDSD in a non-software domain • But controlled by software Focus is on capabilities of tooling not on the domain itself Limited but useful subset of domain concepts

  5. Case: Central Heating (1)

  6. Case: Central Heating (2) THERMOSTAT BOILER Temp. HOT WATER Speed Flow Temp. COLD WATER Purpose: Central heating: Bring room temperature to set point (via thermostat) Hot water: provide hot water when requested Temp. Ignition Detect GAS Ignite

  7. System Context SmartEnergy Management System Max boiler temperature Max burner temperature Max water temperature User profile Set-points Status/ Measurements Requested/ Actual Room temperature THERMOSTATE Central Heating & Hot Water System HOT WATER COLD WATER GAS

  8. A sample notation • Examples of symbols domain experts are used to: • Pipe • Joint • System end • Vessel • Valve • Pump • Measurement instrument – see next sheet Connected pipes ~ source ~ exhaust horizontal vessel vertical vessel heat exchanger manual valve control valve valve vacuum pump or compressor pump

  9. A sample heating system Example of P&I diagram for central heating system. V1 Boiler ~ Radiator Hot water ~ Cold water P1 S 3 T 2 F 1 T 4 T 5 T 6 Central Heating Unit ~ Burner Gas V2

  10. The deliverables • A language • It’s calledLanguage Workbench Challenge, right? • A generator • It’s aboutcode generation • A running simulation (on a PLC emulator) • Noteverybodygotitworking, unfortunately

  11. Program

  12. The participants

  13. Whatdid we see? 7 (or actually 10) differentsolutions Textualsolutionsfor a graphicalproblem The difficultiesof (not) getting a simulationtowork.

  14. Lessonlearned: From metamodel andlanguage via modelstosimulation [V] Use a complicated, domain specific platform forthis [X]

  15. Whatdid we do? Definesomeadditionalrequirements Workon thoseusingthe available tools Workwith, and demo to, the ‘audience’

  16. Additional Requirements • Control behavior changes: • Give priority to hot water if water is requested (so disconnect radiator from hot water), otherwise keep the hot water to configured set point • The pump must be kept running 1 minute after the burner is switched off. • Additional safety checks: • If burner is not burning (no flames), the gas valve must be closed. • If the pump should be running, but is not running, the burner must be shut off. • Add a safety limit to the temperature of the radiator itself, and turn of the burner when this temperature reached • Extensions to the installation • Introduce second room heating system (see next sheet)Second room heating system should be controlled independently, reacting on the second thermostat. • Add boosters (ventilators) for convection radiators, and enable/disable these based on temperature

  17. Goal: Generate softwarerunning on this controller Extension of the installation Heating System Controller Room Connectionsto sensors,valves, etc. THERMOSTAT BOILER Temp. HOT WATER PUMP 2 Speed Flow Speed Temp. COLD WATER THERMOSTAT 2 Purpose: Central heating: Bring room temperature to set point (via thermostat) Hot water: provide hot water when requested Temp. Room 2 Ignition Detect GAS Ignite

  18. Add a safety limit THERMOSTAT Add property that defines max temperature allowed BOILER Temp. HOT WATER Speed Flow Switch on ventilator iftemperaturegetstoo high Temp. COLD WATER Purpose: Central heating: Bring room temperature to set point (via thermostat) Hot water: provide hot water when requested Temp. Ignition Detect GAS Ignite

  19. With these…  added 2nd radiator Added room concept and sublanguage Change valve metamodel, Added ventilator support Added module support to language Added safety limit to radiator Collected user feedback Extended language with ventilator

  20. Overall We had fun We learnedfromeachother We found possibilitiesandlimitationsof LWBs We continueddiscusison over dinner

  21. What’s next? We’llbedoingitagainnext year Becauseideaslead todiscussion Discussionleads tobetterideas Betterideasleads tobettersolutions

  22. What’s next? We’llbedoingitagainnext year Becauseideaslead todiscussion Discussionleads tobetterideas Betterideasleads tobettersolutions

  23. Links http://www.languageworkbenches.net Blogs on LWC willbelinkedfromhere later on http://www.twitter.com #lwc2012 Have a peek at how the daydeveloped

  24. The onelanguage workbench to rulethem all?

More Related