Кіріспе
Бағдарламалық инженерия
Есептеу техникасында деректер ағыны – кең ұғым, мағынасы қолданылу аясына және контекстке қарай әртүрлі болады. Бағдарламалық архитектура контекстінде деректер ағыны ағынды өңдеуге немесе реактивті бағдарламалауға байланысты.
Бағдарламалық жасақтама архитектурасы
Деректер ағыны есептеуі – есептеулерді бағытталған граф ретінде көрсету идеясына негізделген бағдарламалық жасақтама парадигмасы, онда түйіндер есептеулер болып табылады және деректер қабырғалар арқылы ағылады. Деректер ағыны ағынды өңдеу немесе реактивті бағдарламалау деп те аталады. Әртүрлі формадағы көптеген дерек ағыны / ағынды өңдеу тілдері жасалған (Ағынды өңдеуді қараңыз). Деректер ағыны аппараттық құралдары (Деректер ағыны архитектурасын қараңыз) классикалық фон Нейман архитектурасына балама болып табылады. Деректер ағынымен бағдарламалаудың ең айқын мысалы – электрондық кестелердегі реактивті бағдарламалау. Пайдаланушы жаңа мәндерді енгізген кезде, олар дереу келесі логикалық «операторға» немесе есептеу формуласына жіберіледі. Таратылған деректер ағыны да таратылған көп протоколдардың динамикасын бейнелейтін бағдарламалау абстракциясы ретінде ұсынылған. Деректер ағынымен бағдарламалауға тән дерекке бағытталған көзқарас жоғары деңгейдегі функционалдық сипаттамаларды қолдайды және жүйе компоненттері туралы формалды ойлауды жеңілдетеді.
Жабдықтық архитектура
Деректер ағыны үшін аппараттық архитектуралар 1970 және 1980 жылдардың басында компьютерлік архитектураны зерттеуде маңызды тақырып болды. Массачусетс технология институтының (МИТ) Джек Деннис статикалық деректер ағыны архитектурасын қадағалаушы болды. Дерекке тәуелділік белгілері ретінде дәстүрлі жад адрестерін пайдаланатын жүйелер статикалық деректер ағыны машиналары деп аталады. Бұл машиналар бірдей процедуралардың бірнеше данасын бір уақытта орындауға мүмкіндік бермеді, себебі қарапайым белгілер оларды ажырата алмады. Арвинд контентті адрестейтін жадты пайдаланатын жүйелерді динамикалық деректер ағыны машиналары деп атады. Олар параллелизмді жеңілдету үшін жадтағы белгілерді қолданады. Деректер компьютердің компоненттері арқылы компьютер ішінде ағып өтеді. Ол енгізу құрылғылары арқылы енгізіледі және шығару құрылғылары арқылы (принтер сияқты) шыға алады.
Бір мезгілде жұмыс істеу
Деректер ағыны желісі – деректер арналары арқылы жіберіле отырып, қарым-қатынас жасай алатын бір мезгілде орындалатын процестер немесе автоматтардың желісі (хабар алмасуға қараңыз). Гилль Канның есімімен аталған Кан процестерінің желілерінде процестер детерминирленген. Бұл әрбір детерминирленген процесс кіріс ағындарынан шығыс ағындарына дейін үздіксіз функцияны есептейді дегенді білдіреді, ал детерминирленген процестердің желісі өзі детерминирленген, осылайша үздіксіз функцияны есептейді. Бұл мұндай желілердің мінез-құлқы рекурсивті теңдеулер жиынтығы арқылы сипатталуы мүмкін, оларды бекітілген нүктелер теориясын қолдану арқылы шешуге болады. Деректердің қозғалысы мен түрленуі пішіндер мен сызықтар тізбегі арқылы көрсетіледі.