Datastrøm programmering

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 4. august 2019; checks kræver 10 redigeringer .

Dataflow-programmering er en programmeringstilgang  , hvor et program er modelleret som en dataflowdigraf mellem operationer, svarende til et dataflowdiagram . Udviklet inden for software engineering siden 1970'erne [1] .

Naturlig visuel præsentation sammen med understøttelse af samtidighed er to træk ved dette paradigme, som er attraktive for udviklere [1] . Dataflow-programmering involverer naturligvis ikke nødvendigvis visuelle programmeringsværktøjer .

Unix- programmører er fortrolige med dataflow-programmering, fordi Unix- skallen bruger navngivne rør og andre sådanne interproceskommunikationsfaciliteter [2] .

Beskrivelse

Grundlaget for arbejdet med dataflowprogrammer (dataflow) er aktiveringen af ​​beregninger på noder (node), som kan betragtes som sorte bokse , forårsaget af ændringer, opdateringer af inputdata. En knude (i modellen, toppen af ​​en graf) er et element, der behandler inputdata og konverterer dem til outputdata. Driften af ​​en knude i aktiveringsperioden betragtes som en enkelt beregning. Noder sender og modtager data gennem porte (port) - forbindelsespunkter for buer (grafkanter) og noder. Porte er alt, hvad der forbinder en vært med sit miljø. Noder kan have navne for at skelne dem. Resultatet af at beregne en node er ofte, men ikke nødvendigvis, en funktion af inputtet, det vil sige, at resultatet kan ændre sig over tid. Nodens beregningsarbejde kaldes aktivering (aktivering, affyring). I den aktiverede tilstand tager noden inputdata, udfører beregninger, sender outputdata til de relevante porte. De overførte data, uanset deres type, kaldes tokens . Tokens kommer langs buer (de kan kaldes kanter, links, forbindelser). Udseendet af data på den indkommende lysbue kan forårsage aktivering af noden. Det antages normalt, at der ikke er mere end én token i buen, men i teorien er det muligt at skabe modeller med ubegrænset kapacitet. I mere udviklede modeller kan buer smelte sammen til en eller forgrene sig [3] [4] .

Som et resultat af programmering opnås et dataflowprogram - en rettet graf. Alle måder til interaktion mellem elementer er eksplicit fastsat af programmøren. I det enkleste tilfælde af pipeline -behandling (pipeline-dataflow) kan elementer specificeres ved en sekvens af enkelte beregninger. Beregninger foretages på skift, når tokens modtages ved indgangen. Et sådant skema kaldes datadrevet eksekvering [3] .

Karakteristika

I dataflow-programmering kan mere komplekse konfigurationer bruges end en pipeline. Især kan følgende funktioner tilføjes til den enkleste model (i en eller anden kombination) [3] :

Se også

Noter

  1. 1 2 Tiago Boldt Sousa Dataflow-programmeringskoncept, sprog og applikationer Arkiveret 12. november 2020 på Wayback Machine
  2. Jon Orwant. Datalogi og Perl-programmering: Best of The Perl Journal. - O'Reilly Media, Incorporated, 2002. - S. 146. - 737 s. — ISBN 9780596003104 .
  3. 1 2 3 Carkci, 2014 , 2. Dataflow Explained.
  4. 12 Sharp , 1992 , s. 293.
  5. En struktureret beskrivelse af dataflowaktører og dens anvendelse [1] Arkiveret 27. juli 2020 på Wayback Machine
  6. Hewitt, Carl; Biskop, Peter; Steiger, Richard. A Universal Modular Actor Formalism for Artificial Intelligence  (engelsk)  : tidsskrift. — IJCAI, 1973.

Litteratur

Links