Кіріспе
Желі немесе процесспен байланысты деректер. Активті дерек құрылымы – ішкі операцияларды орындайтын желі немесе процесспен байланысты дерек құрылымы. Нақтырақ айтқанда, активті дерек құрылымы бір немесе бірнеше бір уақытта орындалатын процестерді және олармен байланысты деректерді қамтитын есептеу ресурсымен байланыстырылған. Коммуникация ортақ жад немесе хабар алмасудың орнына, қашықтықтан процедура шақыру арқылы моделенеді. Активті дерек құрылымының ішкі бөліктері оның RPC интерфейсі артында жасырылған және оларға бір уақытта қол жеткізуге болады. Көбінесе дерекқоры мен файлдық жүйелер мысалға келтіріледі. Активті дерек құрылымдары ресурстар бос тұрғанда техникалық қызмет көрсетуді жүзеге асыра алады және деректердің әртүрлі көрінісін ұсынады.
An active data structure is a data structure with an associated thread or process that performs internal operations. More specifically, an active data structure is associated with a computing resource, which contains one or more concurrently executing processes, and data associated with those processes. Communication is modeled using remote procedure calls, as opposed to shared memory or message passing. The active data structure's internals are hidden behind its RPC interface, and may be accessed concurrently. Common examples include databases and file systems. Active data structures can perform maintenance when resources would otherwise be idle, and present multiple views of the data.
Мысал
Жабдық немесе операциялық жүйе ұсынған кезек әдетте шексіз емес, оның сыйымдылығы шектеулі болады. Егер қолданбаның кезектегі элементтерді жоғалтпау қажеттілігі болса, онда жазу процесін өзгерту қажет – кезек толған жағдайда элементтерді жоғары сыйымдылықтағы жад құрылғысына сақтау керек, ал оқу процесі оларды сол құрылғыдан қайта оқуы тиіс. Белсенді дерек құрылымдары тұжырымын пайдаланып, жоғары сыйымдылықтағы жад құрылғысынан элементтерді сақтау және алуды басқаратын "белсенді кезек" қарастырылуы мүмкін. Бұл синхрондауды күрделендіруі мүмкін, себебі енді екі емес, үш процесс жұмыс істейді, бірақ белсенді кезекті пайдалану үшін жоғары деңгейдегі оқу-жазу абстракциясы әлі де қарапайым және түсінікті.
Ресмилендіру
Өзін-өзі реттеу есептеуі – ішкі күйді сақтайтын және жаңа деректерге бастапқы есептеуден гөрі тиімдірек бейімделетін инкрементті есептеу бағдарламаларын құру тәсілі. Бұл белсенді дерек құрылымдарын дерек құрылымдарының әдеттегі алгебралық сипаттамасына уақыт түсінігін қосу арқылы формалдауға мүмкіндік береді. Атап айтқанда, Канат Тангвонгсан белсенді дерек құрылымын мына үш мета-операциясы бар алгебра деп ұсынады:
perform(("operationi(·)", t) операциясын t уақытында орындайды. Егер operationi(·) мәні ri-ді қайтарса, онда мета-операция ri мәнін қайтарады. Мета-операция undo(t) операцияны t уақытында кері қайтаруға мүмкіндік береді. Бұл инкрементті есептеуді модельдеу үшін қолданылады. Мета-операция update(t) дерек құрылымына t уақытына дейін "синхрондалуға" хабарлайды. Бұл басқа процестер туралы ақпаратты қосады.