Кіріспе

Желі немесе процесспен байланысты деректер. Активті дерек құрылымы – ішкі операцияларды орындайтын желі немесе процесспен байланысты дерек құрылымы. Нақтырақ айтқанда, активті дерек құрылымы бір немесе бірнеше бір уақытта орындалатын процестерді және олармен байланысты деректерді қамтитын есептеу ресурсымен байланыстырылған. Коммуникация ортақ жад немесе хабар алмасудың орнына, қашықтықтан процедура шақыру арқылы моделенеді. Активті дерек құрылымының ішкі бөліктері оның RPC интерфейсі артында жасырылған және оларға бір уақытта қол жеткізуге болады. Көбінесе дерекқоры мен файлдық жүйелер мысалға келтіріледі. Активті дерек құрылымдары ресурстар бос тұрғанда техникалық қызмет көрсетуді жүзеге асыра алады және деректердің әртүрлі көрінісін ұсынады.

Мысал

Жабдық немесе операциялық жүйе ұсынған кезек әдетте шексіз емес, оның сыйымдылығы шектеулі болады. Егер қолданбаның кезектегі элементтерді жоғалтпау қажеттілігі болса, онда жазу процесін өзгерту қажет – кезек толған жағдайда элементтерді жоғары сыйымдылықтағы жад құрылғысына сақтау керек, ал оқу процесі оларды сол құрылғыдан қайта оқуы тиіс. Белсенді дерек құрылымдары тұжырымын пайдаланып, жоғары сыйымдылықтағы жад құрылғысынан элементтерді сақтау және алуды басқаратын "белсенді кезек" қарастырылуы мүмкін. Бұл синхрондауды күрделендіруі мүмкін, себебі енді екі емес, үш процесс жұмыс істейді, бірақ белсенді кезекті пайдалану үшін жоғары деңгейдегі оқу-жазу абстракциясы әлі де қарапайым және түсінікті.

Ресмилендіру

Өзін-өзі реттеу есептеуі – ішкі күйді сақтайтын және жаңа деректерге бастапқы есептеуден гөрі тиімдірек бейімделетін инкрементті есептеу бағдарламаларын құру тәсілі. Бұл белсенді дерек құрылымдарын дерек құрылымдарының әдеттегі алгебралық сипаттамасына уақыт түсінігін қосу арқылы формалдауға мүмкіндік береді. Атап айтқанда, Канат Тангвонгсан белсенді дерек құрылымын мына үш мета-операциясы бар алгебра деп ұсынады:

perform(("operationi(·)", t) операциясын t уақытында орындайды. Егер operationi(·) мәні ri-ді қайтарса, онда мета-операция ri мәнін қайтарады. Мета-операция undo(t) операцияны t уақытында кері қайтаруға мүмкіндік береді. Бұл инкрементті есептеуді модельдеу үшін қолданылады. Мета-операция update(t) дерек құрылымына t уақытына дейін "синхрондалуға" хабарлайды. Бұл басқа процестер туралы ақпаратты қосады.