Beweren en bewijzen/de zuilen/Artefacten/4. Structuur

Uit Werkplaats
Ga naar: navigatie, zoeken
de opzet 2017-18    KalenderIcon.gif multimedia kwaliteit commentaren
site map


Beweren en bewijzen
Wijsheid omgaan met onzekerheid: met open blik op wankele ondergrond levenspad bewandelen
Vernuft aanpak van glibberige problemen precies redeneren op het hoogste niveau
vier zuilen → Artefacten Formalisering Taal Zekerheid
1. Rationaliteit Rationaliteitsvierkant 4 werelden Beweren is moeilijk Overtuigen
2. Modellen Focus Precisie Logica Stelling en bewijs
3. Model en realiteit Specificaties Domeinmodel Syntax en semantiek Waarheid
4. Correctheid Structuur Correctheidsstelling Typering Nagaan
5. Methoden Decompositie Systemat. vertalen Definities Natuurl. deductie
6. Theorie Domeintheorie Tijd Tijdslogica Wiskunde
7. Complexiteit Hiërarch. decompositie Vereenvoudigingen Modules Bewijsassistenten
8. Generalisering Standaardisatie Parametrisatie Talen Hulpstellingen
Beweren en bewijzen/de zuilen/Artefacten/4. Structuur
Wat staat in de linker bovenhoek van het rationaliteitsvierkant?
literatuur
int i;main(){for(;i["]<i;++i\
){--i;}"];read('-'-'-',i+++"hell\
o, world!\n",'/'/'/'));}read(j,
i,p){write(j/p+p,i---j,i/i);}
Artefact dat een tekst print[1]

Nadat we eigenschappen kunnen specificeren waarvan we graag willen dat ze waar zijn, kunnen we op zoek gaan naar een ding dat deze eigenschappen heeft. Desnoods moeten we het zelf bedenken en maken.

Hiernaast staat zo'n →artefact afgebeeld. Het heeft de eigenschap een bepaalde tekst op het scherm te printen.

Een leek ziet hier een brij van tekens. Een goede programmeur zou meteen zeggen: dit is een C-programma, maar het is hartstikke ongestructureerd opgeschreven. Dat klopt, en in Beweren en bewijzen/de zuilen/Formalisering/2. Precisie wordt uitgelegd hoe men iets dergelijks t.b.v. de menselijke lezer overzichtelijker kan opschrijven: zo dat zijn structuur meteen zichtbaar wordt.

De structuur is namelijk, zo als bij alle voor een bepaald doel bedachte artefacten, de oorzaak dat het werkt: op een vernuftige manier zijn onderdelen als declaraties, functie-aanroepen en lussen in elkaar gezet om de specificatie (een bepaalde tekst printen) waar te maken. Dat bij de gekozen opmaak deze structuur voor mensen nauwelijks meer te achterhalen is doet aan het correct functioneren niets af. Wie de structuur begrijpt kan de eigenschap verklaren.

St. Jacobi, Lüdingworth [2]
Spieltisch St Jacobi.jpg
Omdat men van het kijken naar zulke tekenreeksen niet goed wordt, kijken we naar een mooier artefact; het principe is hetzelfde.

Hier rechts zie je een hoop hout, blik en verf, vernuftig in elkaar gezet om een eigenschap waar te maken, in casu dat men er muziek mee kan doen klinken. Het voldoet aan de specificatie "orgel", die we hier niet uitwerken, maar die je in de organistenopleiding kunt leren.

Ook hier is de structuur de oorzaak dat het functioneert. De orgelbouwer heeft hier wél geprobeerd om deze structuur zichtbaar te maken; hij had dezelfde onderdelen ook veel rommeliger bij elkaar kunnen zetten of in een doos verbergen. Maar hij heeft ook weer allerlei barokke versieringen aangebracht die er niet toe doen en onze blik belemmeren.

Maar wat is nou eigenlijk structuur?

Ontleding

Allereerst is structuur geen inherente eigenschap van dingen maar iets dat wij mentaal aan een ding opleggen. En we kunnen aan hetzelfde ding verschillende structuren opleggen. Streng genomen mag men het daarom niet over structuur van iets hebben. Een onmuzikale vuilnisverwerker die naar het orgel kijkt ziet meteen: hout, lood (waarvoor bepaalde voorschriften gelden maar wat wel geld waard is) en verf (waardoor je het hout niet zo maar mag verbranden). Hij zal meteen vragen, of er ook gouden contacten in zitten. ("Nee, meneer, dit is een mechanisch, geen elektronisch orgel.")

Structuur is iets wat wij (en zeker de ontwerper, de gebruiker en de sloper) in gedachten aan het ding opleggen. In veel opleidingen leert men, dingen te ontleden langs standaard-structuren die hun nut hebben bewezen. Een werktuigbouwkundige die de kast van een koffie-volautomaat opent, zal daar meteen een kookpannetje, een molentje, een pompje en een filtertje zien omdat zij gewend is daarnaar te zoeken. Een huisvrouw ziet misschien alleen een wirwar aan blokjes en slangetjes. Of zo'n blokje een pompje is of een stuk geluidsisolering of een houder van het kookpannetje, valt niet makkelijk te zien. Een organist, die naar de plaatjes hiernaast kijkt, ziet allereerst geen hoop hout en lood. Hij ziet direct vier sub-orgels: hoofdwerk, borstwerk, rugpositief en pedaalwerk. Allemaal apart te bespelen, maar ook aan elkaar te koppelen. Als hij wat "fijnkorreliger" kijkt, ontdekt hij in elk van deze vier een aantal registers en, ja, als men nóg nauwkeuriger kijkt, bestaat een register uit een aantal pijpen en elke pijp uit houten of metalen buizen met een lipje.

→Structuur zegt welke onderdelen op welke manier in elkaar zitten. Een beschrijving van zo'n structuur noemen we een →blauwdruk van het artefact. Een "gestructureerd opgemaakt" computerprogramma lijkt op zijn eigen blauwdruk (zie "Een programma is een programma is een programma" [...]), maar buiten de wereld van de computerprogramma's is er meestal een duidelijk verschil tussen de beschrijving van een ding (de constructietekeningen in de werkplaats van de orgelbouwer, tegenwoordig niet op papier maar in de computer) en het ding zelf (een hoop materie in een kerk). We bedenken structuren als oorzaak voor gewenste eigenschappen.

Onderdelen

literatuur

Een →blauwdruk van een artefact bevat een beschrijving van de onderdelen die men wil onderscheiden, en wel in termen van specificaties: voor elk onderdeel is aangegeven wat het doet, maar niet hoe het dat doet. Alles wat eerder gezegd is voor de specificatie van een artefact, geldt ook voor de respectievelijke specificaties van zijn onderdelen, alleen zijn de waarneembare fenomenen aan de buitenkant van de onderdelen meestal fenomenen binnen het artefact.

Het orgel is behoorlijk complex. (Zie een B&B-werkstuk) De deurbel is een eenvoudiger voorbeeld.

Een artefact dat voldoet aan de specificatie van een elektrische deurbel (...) kan worden gemaakt uit

  • een batterij,
  • een schakelknop,
  • een elektrische bel en
  • een tweeaderige kabel

met deze specificaties, geschreven in →geformaliseerde natuurlijke taal conform onze criteria voor specificaties:

Batterij: Er staat een spanning op contact A.
Knop: Als er een spanning op contact A staat geldt: 
      op contact B staat een spanning 
      dan en slechts dan als de knop ingedrukt is.
Bel: Rinkelt dan en slechts dan als er een spanning op contact C staat.
Kabel: Dan en slechts dan als er een spanning op contact B staat, 
      staat er een spanning op contact C.

Samenhang

Een →blauwdruk moet niet alleen aangeven wat de onderdelen zijn maar ook hoe ze in elkaar zitten. In het deurbelvoorbeeld, geschreven in →geformaliseerde natuurlijke taal, gebeurt dit door de discipline om bij de specificatie van elk onderdeel precies dezelfde woorden te gebruiken als we het over dezelfde fenomenen hebben. (Ter verduidelijking zijn deze door kleuren gemarkeerd.) De samenhang van de onderdelen van een artefact bestaat er tenslotte in dat sommige onderdelen sommige waarneembare fenomenen met elkaar delen.

Dat betekent dat deze vier onderdeelspecificaties samen al alle voor een →blauwdruk nodige informatie bevatten.

Functioneel netwerk

De menselijke lezer zal geholpen worden door een diagram dat het →functioneel netwerk visualiseert:

De ImageMap-extensie is niet geïnstalleerd.

We tekenen elk onderdeel als blokje en elk tussen twee onderdelen gedeeld fenomeen als lijn. Je mag van de lijn een pijl maken om aan te duiden dat het ene onderdeel een fenomeen veroorzaakt en het andere erop reageert. Echter, een lijn is voldoende. De pijl kan ter ondersteuning van de gedachten dienen. Laat pijlpunten weg als je niet kunt uitleggen wat je ermee wilt zeggen. Verder hebben we er hier voor gekozen om de namen van de fenomenen precies overeen te laten komen met die uit de natuurlijke taal. In het werkstuk zullen die namen in het netwerk echter overeen moeten komen met de namen van de predikaten en functies die in het domeinmodel gedefinieerd zijn. Tot slot kan een fenomeen ook door meer dan twee onderdelen gedeeld worden. In dat geval tekenen we een splitsing in de lijn. Ook kunnen hier pijlpunten worden toegevoegd ter ondersteuning van de gedachten.

Aan de aansluitpunten waar de kabel en de batterij verbonden zijn met de schakelknop dan wel met de bel is er sprake van interne fenomenen. In dit voorbeeld zijn het spanningen op bepaalde contacten.

Blauwdruk

Een →blauwdruk beschrijft de →structuur van een →artefact. Daartoe werd een groot aantal talen ontwikkeld, allen met hun eigen voor- en nadelen. De essentie is altijd dat voor elk onderdeel een specificatie (of een verwijzing naar een elders staande specificatie) gegeven wordt en duidelijk is welke onderdelen welke fenomenen met elkaar en welke met de omgeving delen.

Als de samenhang niet meteen zichtbaar is, kan t.b.v. de menselijke lezer een diagram worden toegevoegd. Dan moet het diagram wel precies bij de specificaties passen, anders ontstaat alleen verwarring.

Indien gewenst kunnen de nodige fenomenen uiteraard nader gespecificeerd worden in natuurkundige eenheden. In elk geval is van belang:

  1. De daadwerkelijke onderdelen van deze installatie moeten hun specificaties waar maken.
  2. "Een spanning op contact X" moet in al deze specificaties precies dezelfde betekenis hebben (geen knel).
spraakverwarring
Causality postulates that there are laws by which the occurrence of an entity B of a certain class depends on the occurrence of an entity A of another class, where the word entity means any physical object, phenomenon, situation, or event. A is called the cause, B the effect. 
MaxBorn, 1949.
Causality denotes a necessary relationship between one event (called cause) and another event (called effect) which is the direct consequence (result) of the first.
Random House Unabridged Dictionary

Causaliteit

De in de blauwdruk van de deurbel beschreven structuur is de oorzaak (Lat. "causa") dat het werkt.

We gebruiken een horizontele streep tussen blauwdruk en specificatie van het geheel om aan te geven dat we vinden dat een gegeven structuur de oorzaak is van een zekere eigenschap:

Batterij: Er staat een spanning op contact A.
Knop: Als er een spanning op contact A staat geldt: 
      op contact B staat een spanning 
      dan en slechts dan als de knop ingedrukt is.
Bel: Rinkelt dan en slechts dan als er een spanning op contact C staat.
Kabel: Dan en slechts dan als er een spanning op contact B staat, 
      staat er een spanning op contact C.
--------------------------------------------------------------------------------------------------------------------------------
Dan en slechts dan als de knop ingedrukt is rinkelt het.

Hoe we ons ervan kunnen overtuigen dat deze bevinding klopt, wordt uitgelegd in Beweren en bewijzen/de zuilen/Zekerheid/1. Overtuigen en latere hoofdstukken.

Workflow

Er zijn allerlei manieren om op zoek te gaan naar een geschikte structuur. In Taxonomy/3. Patterns/Workflow is er een beschreven:


The definitions given here apply to →artefacts whose purpose is

  • to do something (activity, here called production steps)
  • to something (object, here called products)
  • by means of something (instrument).

Conforming to the →Chinese Box principle, activities can be composed of sub-activities, which can be considered at a lower level. The same holds for products, instruments, production steps, recipes, etc.


Note that we avoid th term "process", as it has too many different meanings in the literature.

Basic concepts

concept definition world special cases examples remark
kitchen example example example
product

object
Substances, information, people, or money that are objects of processing reality ingredient, raw product, half product, end product, catalysator spices, flour, pasta, meat, beefsteak, beuf Stroganoff
instrument

means
A →thing that is used for production reality plant, vehicle, resource gas ring, pan, sieve An instrument can only be used once at any moment. One production step can require several instruments. The same intrument can be necessary for different production steps, in which case conflicts have to be resolved.
production step

activity
takes some products as ingredients (precondition), performs some operation, thereby using some instrments for a certain time, and produces some products (postcondition) reality thread? the white of 3 eggs; instrument: food processor; output: whipped eggs the crossing point of a service and a batch
batch a quantity of products moving from production step to production step resulting in one end product reality eggs, flour and milk being mixed and becoming a pancake in several production steps orthogonal to service
service the iterative execution of a production step with the same instrument for different batches reality actor, task the cutting of vegetables with the same knife on the same plate for many dishes orthogonal to batch
scenario all production steps that actually happen in a period of time reality Within a scenario, many batches and services can be identified.
recipe The specification of a class of batches that result in a certain product description A recipe for a product. Recipes usually specify partial orders of production steps, where the products of steps are ingredients for other steps.
functionality The specification of a service description the functionality of a service
protocol The specification of an interface between two services that exchange products description A protocol is an agreement about how two services are to be linked operationally, i.e. concerning input/output and place/time (synchronization etc.).
order A bag of pairs (product, due date) description A scenario conforms to an order if it contains a production step that produces the ordered product at the ordered moment.

The story

  • Design and verification of an artefact for production
    • The purpose of many artefacts is the production of products of a certain class.
    • The design of such an artefact is based on recipes for the intended products.
    • The artefact must provide services for all production steps required by all recipes involved.
  • Design of a control
    • Get the recipes for all ordered products
    • Determine a schedule, i.e. a class of scenarios that contain the batches that conform to these recipes and orders and that can be produced by the available services without conflicts
    • Control the services conforming to this schedule.
  • Verification of a control
    • For any order, there is a batch that conforms to that order.
    • For all steps in all such batches there is a service that can perform it.
  • Efficiency
    • All steps should conform to an order.
    • All products should either be ordered or be input for steps that conform to some order.
    • Services should not be idle.


Relations

  • a recipe for a product, ingredients for a recipe
  • ingredient for a step, result of a step, resource for a step
  • a plant suitable for a recipe, i.e. a plant for which a schedule for an order of the result of that recipe exists
  • ...


Belanghebbenden

We kunnen nu helder onderscheiden tussen verschillende →belanghebbenden en hun belangen en plichten.

  • De →opdrachtgever, in casu de bezitter van het huis, heeft er belang bij dat de specificatie van de hele deurbel waar gemaakt wordt.
  • De →ontwerper, in casu de schrijver van een leerboek voor elektriciens, bedenkt bovenstaande blauwdruk van de specificatie en overtuigt zichzelf en de lezers van zijn boek ervan dat de door de horizontale streep aangegeven causaliteit ook werkelijk geldt, met andere woorden: dat het ontwerp klopt.
  • De →leverancier van het geheel, in casu de elektricien, en de opdrachtgever sluiten een contract over de correcte →implementatie van de specificatie.
  • De →maker, in ons geval eveneens de elektricien, is verantwoordelijk voor de correcte →realisatie vanhet ontwerp uit het leerboek.
  • De maker sluit contracten met één of meer →leveranciers omtrent de levering van de onderdelen. De onderdeelspecificaties maken deel uit van deze contracten.
  • De Leveranciers zijn ervoor verantwoordelijk, dat de geleverde onderdelen aan de genoemde specificaties voldoen.



Kwaliteitscriteria blauwdruk

  • B0 De blauwdruk geeft aan uit welke onderdelen het artefact bestaat. Daartoe bevat de blauwdruk hetzij een specificatie van elk onderdeel hetzij een verwijzing naar een elders staande specificatie.
  • B1 De blauwdruk geeft aan welke onderdelen welke waarneembare fenomenen met elkaar delen (en daarmee de samenhang van de onderdelen).
  • B2 De blauwdruk bevat alle informatie die nodig is om de gewenste eigenschappen van het artefact te bewijzen.
  • B3 Voor dezelfde onderdelen en dezelfde fenomenen worden in een blauwdruk ook precies dezelfde woorden gebruikt.
  • B4 Een blauwdruk beschrijft niet zo veel onderdelen dat men het overzicht verliest. Mensen kunnen niet goed meer dan 7 dingen onderscheiden, dus kun je beter niet veel meer dan 7 onderdelen hebben.
  • B5 Algemeen bekende functionaliteit of standaard-onderdelen verdienen de voorkeur.
  • B6 Als ter ondersteuning van de leesbaarheid redundante informatie (bijvoorbeeld diagrammen, commentaren, formules) toegevoegd worden, dient het geheel consistent te zijn (zelfde aantal onderdelen, precies dezelfde namen).


  1. Copyright © 1984, Landon Curt Noll. All Rights Reserved. Permission for personal, educational or non-profit use is granted provided this this copyright and notice are included in its entirety and remains unaltered. All other uses must receive prior permission in writing from both Landon Curt Noll and Larry Bassel.[1]