Сборочное программирование. Теория и практика
Викладено методи, засоби й інструменти збірного програмування. Розглянуто фундаментальні основи збірки різномовних об’єктів у мовах четвертого покоління в ряді систем у середовищі ОС ЄС. Показано нові підходи до формального опису і стандартизації типів даних у сучасних мовах, а також практичні аспек...
Gespeichert in:
| Veröffentlicht in: | Кибернетика и системный анализ |
|---|---|
| Datum: | 2009 |
| 1. Verfasser: | |
| Format: | Artikel |
| Sprache: | Russisch |
| Veröffentlicht: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2009
|
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/44477 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Zitieren: | Сборочное программирование. Теория и практика / Е.М. Лаврищева // Кибернетика и системный анализ. — 2009. — № 6. — С. 3-12. — Бібліогр.: 27 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1860026162552504320 |
|---|---|
| author | Лаврищева, Е.М. |
| author_facet | Лаврищева, Е.М. |
| citation_txt | Сборочное программирование. Теория и практика / Е.М. Лаврищева // Кибернетика и системный анализ. — 2009. — № 6. — С. 3-12. — Бібліогр.: 27 назв. — рос. |
| collection | DSpace DC |
| container_title | Кибернетика и системный анализ |
| description | Викладено методи, засоби й інструменти збірного програмування. Розглянуто фундаментальні основи збірки різномовних об’єктів у мовах четвертого покоління в ряді систем у середовищі ОС ЄС. Показано нові підходи до формального опису і стандартизації типів даних у сучасних мовах, а також практичні аспекти систематизації готових об’єктів для їхнього повторного використання в зборці великих систем у сучасних середовищах. Наведено нові ідеї і підходи до забезпечення взаємодії різномовних об’єктів у середовищі сімейств програмних систем.
The methods, means, and tools of compositional programming are outlined. The fundamentals of the composition of multilanguage objects in fourth-generation languages in systems of OS ES environment are considered. New approaches to formal declaration and standardization of data types in modern languages and practical aspects of the systematization of ready objects for their reuse to compose large systems in modern environments are shown. New ideas and approaches to the interaction of multilanguage objects in an environment of a family of application systems are described.
|
| first_indexed | 2025-12-07T16:49:51Z |
| format | Article |
| fulltext |
Å.Ì. ËÀÂÐÈÙÅÂÀ
ÓÄÊ 681.3.06 ÑÁÎÐÎ×ÍÎÅ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ.
Òåîðèÿ è ïðàêòèêà
Êëþ÷åâûå ñëîâà: ìåòîä ñáîðêè, èíòåðôåéñ, òèïû, ñòðóêòóðû äàííûõ, îòî-
áðàæåíèå äàííûõ, òåõíîëîãèÿ ðàçðàáîòêè, àâòîìàòèçàöèÿ ñáîðêè .
ÂÂÅÄÅÍÈÅ
 íàñòîÿùåé ðàáîòå ïðåäñòàâëåíà äèíàìèêà ðàçâèòèÿ ñáîðî÷íîãî ïðîãðàììèðî-
âàíèÿ çà ïîñëåäíèå äâàäöàòü ëåò. Îñíîâíûå åãî ïîëîæåíèÿ ñôîðìèðîâàëèñü
â 1970-1990 ãã. êàê ðåçóëüòàò ðàçðàáîòêè ñèñòåìû àâòîìàòèçàöèè ïðîèçâîäñòâà
ïðîãðàìì (ÀÏÐÎÏ), èíèöèèðîâàííîé Â.Ì. Ãëóøêîâûì â 1974 ã. [1] è âûïîë-
íåííîé ïîä íàó÷íûì ðóêîâîäñòâîì Å.Ë. Þùåíêî. Ôóíäàìåíòàëüíûå îñíîâû
ñáîðî÷íîãî ïðîãðàììèðîâàíèÿ îáñóæäàëèñü íà ñåìèíàðàõ è êîíôåðåíöèÿõ ðàç-
íîãî óðîâíÿ, çàùèùåíû â äîêòîðñêîé äèññåðòàöèè [2] è îòðàæåíû â ðÿäå ïóáëè-
êàöèé [3–9].
Îáúåêòû ñáîðî÷íîãî ïðîãðàììèðîâàíèÿ — ãîòîâûå ìîäóëè (ìàêðîìîäóëè,
ïîäïðîãðàììû, ôóíêöèè, ïðîãðàììû è äð.), îïèñàííûå íà ðàçíûõ ÿçûêàõ ïðîãðàì-
ìèðîâàíèÿ (ßÏ) ÷åòâåðòîãî ïîêîëåíèÿ (Àëãîë, Ôîðòðàí, ÏË/1, Êîáîë è äð.). Òàêèå
ìîäóëè (äàëåå — ïðîãðàììíûå îáúåêòû) íàêàïëèâàëèñü â èñõîäíîì è âûõîäíîì
êîäàõ â áèáëèîòåêàõ ÝÂÌ, â ôîíäàõ àëãîðèòìîâ è ïðîãðàìì (â òåêñòîâîì âèäå íà
áóìàæíîì íîñèòåëå), à òàêæå â àðõèâàõ ñàìèõ ðàçðàáîò÷èêîâ.
Ìåòîä ñáîðêè — ñïîñîá ñîïðÿæåíèÿ ðàçíîÿçûêîâûõ îáúåêòîâ â ßÏ, îñíîâàí-
íûé íà òåîðèè ñïåöèôèêàöèè è îòîáðàæåíèÿ (mapping) òèïîâ è ñòðóêòóð äàííûõ
ßÏ, ïðåäñòàâëåííûõ àëãåáðàè÷åñêîé ñèñòåìîé [10, 11]. Îñíîâó àëãåáðàè÷åñêîãî
ôîðìàëèçìà ñîñòàâëÿþò òèïû äàííûõ, îïåðàöèè íàä íèìè è ôóíêöèè ðåëåâàíòíî-
ãî, ýêâèâàëåíòíîãî ïðåîáðàçîâàíèÿ îäíèõ òèïîâ â äðóãèå. Ñîïðÿæåíèå ïàð îáúåê-
òîâ â ßÏ îñóùåñòâëÿåòñÿ ÷åðåç îïåðàòîð âûçîâà, â ñïèñêå ïàðàìåòðîâ êîòîðîãî çà-
äàþòñÿ çíà÷åíèÿ ôîðìàëüíûì ïàðàìåòðàì, ïðîâåðÿåìûì íà ñîîòâåòñòâèå òèïîâ
äàííûõ ñ ïîìîùüþ óòâåðæäåíèé àëãåáðàè÷åñêîé ñèñòåìû, äîêàçûâàþùèõ íåîáõî-
äèìûå è äîñòàòî÷íûå óñëîâèÿ îòîáðàæåíèÿ äàííûõ â êëàññå ßÏ. Ðåçóëüòàò
îòîáðàæåíèÿ — îïåðàòîðû ðåëåâàíòíîãî ïðåîáðàçîâàíèÿ òèïîâ äàííûõ â ìîäó-
ëå-ïîñðåäíèêå ñîïðÿãàåìûõ îáúåêòîâ.
Îäíîâðåìåííî ñ äàííûì ïîäõîäîì ðàçâèâàëèñü è äðóãèå ìåòîäû, îñíîâàííûå
íà ïîâòîðíîì èñïîëüçîâàíèè ãîòîâûõ îáúåêòîâ è èõ èíòåðôåéñîâ, ñðåäñòâàõ îáåñ-
ïå÷åíèÿ âçàèìîäåéñòâèÿ ðàçíîÿçûêîâûõ îáúåêòîâ â êëàññå ñîâðåìåííûõ ßÏ
(Ïàñêàëü, Áåéñèê, Ñ#, Java, Smalltalk è äð.) è îïåðàöèîííûõ ñðåä [12–19]. Èíòåð-
ôåéñ îáúåêòîâ ðàçâèâàëñÿ â íàïðàâëåíèè åãî ôîðìàëüíîãî îïèñàíèÿ (IDL, API è
äð.), ñòàíäàðòèçàöèè, ñèñòåìàòèçàöèè àðòåôàêòîâ ïîâòîðíîãî èñïîëüçîâàíèÿ (êîì-
ïîíåíòîâ, ñåðâèñîâ, àñïåêòîâ è äð.) è íàêîïëåíèÿ â áèáëèîòåêàõ (Matlab, IP, Demral
è äð.) èëè ðåïîçèòàðèÿõ. Îáúåêòû ïîâòîðíîãî èñïîëüçîâàíèÿ, êàê ãîòîâûå ðåñóðñû
ïðîãðàììèðîâàíèÿ, èñïîëüçóþòñÿ ïðè èçãîòîâëåíèè áîëüøèõ ïðîãðàììíûõ ñèñòåì
è èõ ñåìåéñòâ [19–24].
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 3
� Å.Ì. Ëàâðèùåâà, 2009
1. ÌÅÒÎÄ ÑÁÎÐÊÈ ÎÁÚÅÊÒÎÂ. ÎÒÎÁÐÀÆÅÍÈÅ ÒÈÏΠÄÀÍÍÛÕ ßÏ
Îñíîâíàÿ çàäà÷à ìåòîäà ñáîðêè — ñîïðÿæåíèå ðàçíîÿçûêîâûõ îáúåêòîâ â ßÏ
[7–9] ïóòåì îòîáðàæåíèÿ òèïîâ è ñòðóêòóð äàííûõ èç ìíîæåñòâà T X� ( , )� ÿçû-
êîâ L l� { }� , ãäå X — ìíîæåñòâî çíà÷åíèé òèïîâ äàííûõ, � — ìíîæåñòâî îïå-
ðàöèé ïðåîáðàçîâàíèÿ îòëè÷àþùèõñÿ òèïîâ äàííûõ â îäíîì ÿçûêå l� â òèïû
äàííûõ äðóãîãî l� . Ïîä îòîáðàæåíèåì òèïà T Xi i i
� � �� ( , )� â òèï T Xk k k
� � �
� ( , )�
ÿçûêîâ l� , l� ïîíèìàåòñÿ ïðèâåäåíèå çíà÷åíèÿ ïåðåìåííîé X i
� ê çíà÷åíèþ
X Xk
�
� îïåðàöèÿìè ��
j è � �
�
k � .
Ñóùíîñòü îòîáðàæåíèÿ òèïîâ äàííûõ ñîñòîèò â ñëåäóþùåì:
— îïðåäåëåíèå îïåðàöèé è ôóíêöèé ïðåîáðàçîâàíèÿ òèïîâ äàííûõ T t
� , T k
�
ñî-
ïðÿãàåìûõ îáúåêòîâ â êëàññå ÿçûêîâ L;
— âûïîëíåíèå äëÿ êàæäîé ïàðû ñîïðÿãàåìûõ ðàçíîÿçûêîâûõ îáúåêòîâ íà ÿçû-
êàõ l� è l� îïåðàöèé îòîáðàæåíèÿ è/èëè ñåëåêòîðà S , êîíñòðóêòîðà C.
 îáùåì ñëó÷àå ìíîæåñòâî T òèïîâ äàííûõ ÿçûêîâ L âêëþ÷àåò íàáîðû ïðî-
ñòûõ òèïîâ äàííûõ ( ( ), ( ), ( ), ( ))t b c i r� bool char int real è ñëîæíûõ (ñòðóêòóðíûõ)
òèïîâ äàííûõ ( ( ), ( ), ( ), ( ), )t a z u e� array record union enum � êàê êîìáèíàöèé ïðî-
ñòûõ òèïîâ äàííûõ. Äëÿ êàæäîé ïàðû l l L� �, � ïîñòðîåíû àëãåáðàè÷åñêèå ñèñòåìû,
âêëþ÷àþùèå ïàðû ñèñòåì îòîáðàæåíèÿ ïðîñòûõ òèïîâ äàííûõ �1 è ñëîæíûõ —
� 2 â êëàññå ÿçûêîâ L:
�1 � { , }, { , }, { , }, { , }G G G G G G G Gb b c c i i r r
� � � � � � � �
,
� 2 � {{ , }, { , }, { , }, { , }, }G G G G G G G Ga a z z u u e e
� � � � � � � �
� . (1)
 ñèñòåìå �1 êàæäàÿ ïàðà ñèñòåì G Gt t
� �
, îáåñïå÷èâàåò îòîáðàæåíèå ïðîñòûõ
òèïîâ äàííûõ íà ìíîæåñòâå çíà÷åíèé è îïåðàöèé: G Xt t t
� � �� � �,� , Gt
�
�
� � �X t t
� �
, � , ãäå òèï äàííûõ t b c i r a z u e� , , , , , , , è ��
t , �
�
t — îïåðàöèè îòîáðàæå-
íèÿ ïàðû ÿçûêîâ l� , l� . Àíàëîãè÷íî îïðåäåëÿþòñÿ ñèñòåìû � 2 ñëîæíûõ òèïîâ äàí-
íûõ t a z u e� , , , .
1.1. Òåîðèÿ îòîáðàæåíèÿ ïðîñòûõ òèïîâ äàííûõ ßÏ. Îòîáðàæåíèå òèïà
äàííûõ t q ñèñòåì Gt
� è G
q
�
â êëàññå ïàð ÿçûêîâ l� è l� îáëàäàåò ñëåäóþùèìè
ñâîéñòâàìè:
1) cèñòåìû Gt
� è G
q
�
èçîìîðôíû, åñëè îíè ïîñòðîåíû äëÿ îäèíàêîâûõ òèïîâ
äàííûõ ÿçûêîâ l� , l� è ìíîæåñòâà èõ çíà÷åíèé, ò.å. Gt
� è G
q
�
ñîâïàäàþò;
2) ìåæäó çíà÷åíèÿìè òèïîâ äàííûõ X t
� è X
q
�
ñóùåñòâóåò èçîìîðôèçì, åñëè
ìíîæåñòâà èõ îïåðàöèé ��
t è �
�
q
ðàçëè÷íû, � � � �� �
t q
íå ïóñòî è ñóùåñòâóåò
èçîìîðôèçì äâóõ ñèñòåì — Gt
� è G
q
�
èç �1, êàæäàÿ èç êîòîðûõ èìååò âèä
G Xt t t
� � �� � �, � , G X
q q q
� � �
� � �, � ;
3) äëÿ òèïîâ ñòðîêà t è âåùåñòâåííûé q íå ñóùåñòâóåò èçîìîðôèçìà ìåæäó X t
�
è X
q
�
;
4) ìîùíîñòè ñèñòåì | | | |G Gt q
� �
� äîëæíû áûòü ðàâíû, ÷òî ÿâëÿåòñÿ êðèòåðèåì
îöåíêè ïðàâèëüíîñòè ñîïðÿæåíèÿ îáúåêòîâ â ðàçíûõ ÿçûêàõ L .
Ñðåäè ìíîæåñòâà îïåðàöèé � ìîãóò áûòü îïåðàöèè îòíîøåíèÿ, êîòîðûå îïðå-
äåëÿþò îòíîøåíèå ëèíåéíîãî ïîðÿäêà ýëåìåíòîâ íà ìíîæåñòâå çíà÷åíèé X t
� . Èçî-
4 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
ìîðôèçì äâóõ ñèñòåì èç �1 äîêàçûâàåòñÿ íà ïåðå÷èñëèìûõ òèïàõ l� è l� ìíîæåñ-
òâà L (íàïðèìåð, íà ñèìâîëüíûõ òèïàõ Gc
� è Gc
�
).
Òåîðåìà 1. Ïóñòü � — îòîáðàæåíèå ñèñòåìû Gc
� � �1 â ñèñòåìó Gc
�
� �1.
Îòîáðàæåíèå � èçîìîðôíî òîãäà è òîëüêî òîãäà, êîãäà � èçîìîðôíî îòîáðàæà-
åò çíà÷åíèÿ òèïîâ äàííûõ X c
� â X c
�
ñ ñîõðàíåíèåì ëèíåéíîãî ïîðÿäêà.
Íåîáõîäèìîñòü. Ïóñòü � — èçîìîðôèçì. Òîãäà ïðè îòîáðàæåíèè Gc
� â Gc
�
ñî-
õðàíÿþòñÿ âñå îïåðàöèè ìíîæåñòâà � � � �� �
c c� , â òîì ÷èñëå è îïåðàöèÿ îòíîøå-
íèÿ, îïðåäåëÿþùàÿ ëèíåéíûé ïîðÿäîê ìíîæåñòâà çíà÷åíèé X c
� è X c
�
.
Äîñòàòî÷íîñòü. Ïóñòü � èçîìîðôíî îòîáðàæàåò X c
� â X c
�
è ñîõðàíÿåò ëèíåé-
íûé ïîðÿäîê ýëåìåíòîâ. Òîãäà ïðîâåðêà ñîõðàííîñòè îïåðàöèé îòíîøåíèÿ âûïîë-
íÿåòñÿ ñîãëàñíî óïîðÿäî÷åííîñòè ýëåìåíòîâ.
Òåîðåìà äîêàçàíà. Îíà ïîçâîëÿåò äîêàçûâàòü ëþáîå èçîìîðôíîå îòîáðàæåíèå
ýëåìåíòîâ ìíîæåñòâ X c
� è X c
�
.
Ëåììà 1. Äëÿ ëþáîãî èçîìîðôíîãî îòîáðàæåíèÿ � ìåæäó ñèñòåìàìè Gt
� è G
q
�
âûïîëíÿþòñÿ ðàâåíñòâà
�
�� ��1 ( )
min min
X Xt q
� , � �� ��2 ( )max max
X Xt q
� . (2)
Ìèíèìàëüíîå è ìàêñèìàëüíîå çíà÷åíèÿ X t
�. min
è X t
�. max ýòèì ýëåìåíòàì
ìíîæåñòâà íå ïðèíàäëåæàò, à ïðèíàäëåæàò ñîîòâåòñòâåííî ýëåìåíòàì X t
� è X
q
�
. Èç
ýòîãî ñëåäóåò, ÷òî X t
�. min
è X t
�. max âõîäÿò â àëãåáðàè÷åñêóþ ñèñòåìó (1).
Ââèäó ëåììû 1 è ðàâåíñòâà ìèíèìàëüíûõ çíà÷åíèé �
�� ��
( )
min min
X Xñ c� äëÿ
t c� äîêàçûâàåòñÿ îïåðàöèÿ succ. Ïîñëåäîâàòåëüíî ïðèìåíÿÿ îïåðàöèþ succ ê ýòîìó
ðàâåíñòâó è ó÷èòûâàÿ ëèíåéíóþ óïîðÿäî÷åííîñòü X c
� è X c
�
(x � succ( )x ), ïîëó÷àåì,
÷òî äëÿ ëþáîãî x Xc c
� �� è x Xc c
� ��
�
min
èç ðàâåíñòâà � � �
( )X xc c� , ãäå x Xc c
� �
� , ñëå-
äóåò � � �
(succ ( )) =succ ( )x xc c .
Àíàëîãè÷íî äîêàçûâàåòñÿ îïåðàöèÿ pred ñ ïîìîùüþ ðàâåíñòâà � ��( )maxX c �
� X c
�� max
è ëþáîãî x Xc c
� �� è x Xc c
� ��� max . Èç ðàâåíñòâà � �� �
( )maxX xc c� ñëåäóåò
ðàâåíñòâî � � �
( ( )) ( )pred predx xc c� .
Òåîðåìà 2. Ëþáîé èçîìîðôèçì � ìåæäó ñèñòåìàìè Gb
� è Gb
�
áóëåâûõ òèïîâ —
òîæäåñòâåííûé èçîìîðôèçì:
�
�� ��
( )X Xb b
false false
� , � �� ��
( )X Xb b
true true
� . (3)
Äîêàçàòåëüñòâî. Ïðè îòîáðàæåíèè Gb
� è Gb
�
âñåãäà ñïðàâåäëèâî X b
�� false
�
� X b
�� true
. Ó÷èòûâàÿ, ÷òî � ñîõðàíÿåò ëèíåéíûé ïîðÿäîê, åäèíñòâåííûì èçîìîðôèç-
ìîì ÿâëÿåòñÿ (3).
Òåîðåìà 3. Ëþáîé èçîìîðôèçì ìåæäó àëãåáðàè÷åñêèìè ñèñòåìàìè c ñîîò-
âåòñòâóþùèìè ÷èñëîâûìè òèïàìè — òîæäåñòâåííûé àâòîìîðôèçì.
Äîêàçàòåëüñòâî ýòîé òåîðåìû ïðîâîäèòñÿ àíàëîãè÷íî òåîðåìå 2.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 5
Îòîáðàæåíèå ñèìâîëüíîãî òèïà â öåëûé è öåëîãî òèïà â ñèìâîëüíûé âûïîëíÿ-
åòñÿ ñ ïîìîùüþ ñèñòåì Gc
� è Gi
�
, Gi
�
è Gc
� . Ïåðåñå÷åíèå ìíîæåñòâ îïåðàöèé
�� � � �� �
c i
� âêëþ÷àåò ìíîæåñòâî îïåðàöèé îòíîøåíèÿ �
� � � �pred, succ, , êîòî-
ðîå â òî÷íîñòè ñîâïàäàåò ñ ìíîæåñòâîì îïåðàöèé ëþáîãî ïåðå÷èñëèìîãî òèïà.
Ìîæíî âîñïîëüçîâàòüñÿ ðåçóëüòàòàìè òåîðåìû 3 è âûáðàòü ëþáîå èçîìîðôíîå îòî-
áðàæåíèå ìíîæåñòâ âèäà X c
� è X i
�
, êîòîðîå ñîõðàíÿåò ëèíåéíûé ïîðÿäîê.  êà÷åñ-
òâå X i
�
ìîæåò áûòü âûáðàí ëþáîé îòðåçîê öåëîãî òèïà, äëÿ êîòîðîãî
| |
max min
X X Xc i i
� �� ��
� � � 1 è äîëæíî âûïîëíÿòüñÿ óñëîâèå î ðàâåíñòâå ìîùíîñòåé
îñíîâíûõ ìíîæåñòâ | | | |G Gt q
� �
� .
Îòîáðàæåíèå ñèìâîëîâ â öåëîå ìîæíî âûïîëíèòü ïóòåì ïîäñòàíîâêè êàæäîìó
ñèìâîëó åãî ïîðÿäêîâîãî íîìåðà â àëôàâèòå — ôóíêöèÿ ord, è íàîáîðîò, ïî ïîðÿä-
êîâîìó íîìåðó ñèìâîëà â àëôàâèòå ïîäñòàâèòü åãî çíà÷åíèå — ôóíêöèÿ chr.
Îòîáðàæåíèå öåëîãî â áóëåâîé òèï è áóëåâîãî â öåëûé îïðåäåëÿåòñÿ íà ïåðå-
ñå÷åíèè ìíîæåñòâà îïåðàöèé �� � � �� �
c i
� . Ê íåìó ïðèìåíèìû ðåçóëüòàòû îïåðà-
öèé îòîáðàæåíèé íàä öåëûì è áóëåâûì òèïàìè, êàê íàä ïåðå÷èñëèìûìè òèïàìè.
Îïåðàöèè îòîáðàæåíèÿ ÷èñëîâûõ òèïîâ îïðåäåëÿþòñÿ íà ìíîæåñòâå öåëûõ ÷è-
ñåë Z, ðàöèîíàëüíûõ Q è äåéñòâèòåëüíûõ (âåùåñòâåííûõ) R. Ñèñòåìû Gi
� è Gi
�
, ñî-
îòâåòñòâóþùèå öåëûì òèïàì, èçîìîðôíû. Îïåðàöèÿ ñëîæåíèÿ öåëûõ ÷èñåë îáåñïå-
÷èâàåòñÿ ðàâåíñòâîì �� � � �� ���� �� � � �x y x yi i i i . Ïîëàãàÿ yi
� � 0 , ïîëó÷àåì
�� � �� ��
� �x xi i . Òàê êàê x�
1 — ïðîèçâîëüíîå, ýòî ðàâåíñòâî âûïîëíÿåòñÿ òîëüêî
ïðè ��
�
. Îïåðàöèÿ óìíîæåíèÿ âûïîëíÿåòñÿ íà ðàâåíñòâå �� � � �x yi i
�
�� � �� �x yi i) (� . Åñëè yi
� � 1, òî �� � �� ���� �� �x xi i 1 , ãäå �� ��xi — öåëîå ÷èñëî.
Åñëè îíî íå ðàâíî 0, òî âûïîëíÿåòñÿ öåëî÷èñëåííîå äåëåíèå, ò.å. ïîëó÷àåì ���� �,
ãäå � — èçîìîðôèçì ìåæäó ñèñòåìàìè Gi
� è Gi
�
.
Èçîìîðôíîå îòîáðàæåíèå � ìåæäó ñèñòåìàìè Gr
� è Gr
�
ñîîòâåòñòâóåò âåùåñ-
òâåííûì òèïàì, ãäå X r
� è X r
�
— ïîäìíîæåñòâà R. Òàê êàê Z R� , ðåçóëüòàò ñïðà-
âåäëèâ äëÿ öåëûõ ÷èñåë, à òàêæå äëÿ ïîäìíîæåñòâà âåùåñòâåííûõ ÷èñåë. Åñëè
x Xr
� � , ò.å. x m nr
� � / , ãäå m è n — öåëûå ÷èñëà, òî m m n m n� � �� �( ) ( ( / ))
� � � �� � �( ) ( / ) ( / )n m n n m n . Îòñþäà ñëåäóåò ðàâåíñòâî �( / ) /m n m n� , êîòîðîå
âûïîëíÿåòñÿ äëÿ ëþáûõ ÷èñåë èç Q. Âåùåñòâåííîå ÷èñëî x ìîæíî ñ çàðàíåå îïðåäå-
ëåííîé òî÷íîñòüþ � ïðåäñòàâèòü â âèäå ðàöèîíàëüíîãî ÷èñëà m n/ òàê, ÷òî
| / |x m n� � �.
Òàêèì îáðàçîì, äëÿ ëþáûõ x R� âûïîëíÿåòñÿ �( )x x� . Ó÷èòûâàÿ, ÷òî ìíîæåñòâà
Z è R — áàçîâûå äëÿ îñíîâíûõ ìíîæåñòâ X i
� è X r
�
ñèñòåì Gr
� è Gr
�
, òåîðåìà 3 äîêàçàíà.
1.2. Òåîðèÿ îòîáðàæåíèÿ ñëîæíûõ òèïîâ äàííûõ ßÏ. Ñòðóêòóðíûå òèïû
äàííûõ ñòðîÿòñÿ èç ïðîñòûõ òèïîâ ñ ïîìîùüþ îïåðàöèé êîíñòðóèðîâàíèÿ. Ìíî-
æåñòâà çíà÷åíèé ýòèõ òèïîâ êîíå÷íû è ñîõðàíÿþò ëèíåéíûé ïîðÿäîê. Îòîáðàæå-
íèå ñòðóêòóðíûõ òèïîâ îïðåäåëÿåòñÿ îòîáðàæåíèåì ïðîñòûõ òèïîâ äàííûõ, èç êî-
òîðûõ îíè ñòðîÿòñÿ.
Ïóñòü Ga
� è Ga
�
— ñèñòåìû èç � 2 , ñîîòâåòñòâóþùèå ìàññèâó â êëàññå L .
Òåîðåìà 4. Èçîìîðôíûå îòîáðàæåíèÿ �i è �v ìíîæåñòâ èíäåêñîâ è çíà÷åíèé
ýëåìåíòîâ ìàññèâîâ ñîõðàíÿþò ëèíåéíûé ïîðÿäîê.
6 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
Èçîìîðôèçì îïðåäåëÿåòñÿ îòîáðàæåíèÿìè � � �i
a aI X: , � �v
aY X: ( )
Y X a( )
�
, ãäå Y X a( )� — ìíîæåñòâî çíà÷åíèé x xn1 , ,� ýëåìåíòîâ ìàññèâà â I a
� ;
Y x Xa i( ) � ; X t — ìíîæåñòâî çíà÷åíèé ýëåìåíòîâ ìàññèâà òèïà T, çàäàííîå íà
ìíîæåñòâå èíäåêñîâ ýòîãî ìàññèâà.
Èçîìîðôèçì ìåæäó ñèñòåìàìè Ga
� è Ga
�
îïðåäåëÿåòñÿ îòîáðàæåíèÿìè �i è �v ,
êîòîðûå ñîõðàíÿþò ëèíåéíûé ïîðÿäîê ýëåìåíòîâ ýòîãî ìàññèâà.
Îòîáðàæåíèå çàïèñè. Ïóñòü G z
� è G z
�
— äâå ñèñòåìû � � , ñîîòâåòñòâóþùèå
òèïó äàííûõ: çàïèñü â äâóõ ÿçûêàõ — l� è l� , x Xz z
� �� , x Xz z
� �
� .
Òåîðåìà 5. Åñëè ìåæäó ïîñëåäîâàòåëüíîñòÿìè ýëåìåíòîâ çàïèñåé x z
� è x z
�
ñó-
ùåñòâóåò âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå, òî èçîìîðôèçì � ìåæäó ñèñòåìàìè
G z
� è G z
�
îïðåäåëÿåòñÿ èçîìîðôíûì îòîáðàæåíèåì ýëåìåíòîâ çàïèñè.
Óñëîâèÿìè èçîìîðôíîãî îòîáðàæåíèÿ ìíîæåñòâ çíà÷åíèé ýòîãî òèïà ÿâëÿåòñÿ
êîëè÷åñòâî êîìïîíåíòîâ çàïèñè è ñîîòâåòñòâóþùèé ïîðÿäîê èõ ñëåäîâàíèÿ.
Äëÿ îòîáðàæåíèÿ çàïèñè â ìàññèâ íåîáõîäèìî, ÷òîáû òèïû âñåõ êîìïîíåíòîâ
çàïèñè áûëè îäèíàêîâûå, à ñàìà çàïèñü áûëà ïðåäñòàâëåíà ìàññèâîì. Ìíîæåñòâî
çíà÷åíèé êîìïîíåíòîâ çàïèñè äîëæíî ñîîòâåòñòâîâàòü ìíîæåñòâó çíà÷åíèé ýëå-
ìåíòîâ ìàññèâà Y . Ìíîæåñòâî èíäåêñîâ ñòðîèòñÿ ïðîñòûì ïåðåóïîðÿäî÷åíèåì
êîìïîíåíòîâ çàïèñè: i-ìó êîìïîíåíòó çàïèñè ñòàâèòñÿ â ñîîòâåòñòâèå �� �i -é ýëå-
ìåíò âî ìíîæåñòâå I èíäåêñîâ çíà÷åíèé. Ïðè îòîáðàæåíèè çàïèñè â ìàññèâ
èñïîëüçóåòñÿ òåîðåìà 4.
Äðóãîé ïîäõîä ê ïðåîáðàçîâàíèþ ñòðóêòóðíûõ òèïîâ — èñïîëüçîâàíèå îïåðàöèé ñå-
ëåêòîðà S è îïåðàöèé êîíñòðóèðîâàíèÿ C äëÿ èçìåíåíèÿ óðîâíÿ ñòðóêòóðèðîâàíèÿ äàííûõ.
Îïåðàöèÿ ñåëåêòîðà S äëÿ ìàññèâà îïðåäåëÿåòñÿ êàê îãðàíè÷åíèå îòîáðàæå-
íèÿ: M I Y: íà �I , E M I Y# : , ãäå E — âëîæåíèå � �I I. Òîãäà M k/ { } ñîîòâå-
òñòâóåò k-ìó ýëåìåíòó ìàññèâà ïðè � �I k. Àíàëîãè÷íî ýòà îïåðàöèÿ îïðåäåëÿåòñÿ è
äëÿ çàïèñè M S m
v/ { }, ãäå M — îòîáðàæåíèå êîìïîíåíòîâ çàïèñè, S m
v — âûáîð ñî-
îòâåòñòâóþùåãî êîìïîíåíòà çàïèñè.
Ìíîæåñòâî îïåðàöèé ñåëåêòîðà ïðåäñòàâèì ñîîòíîøåíèåì S S
n
�
�
�
� 1
� ,
S S S S Sa z u e
� � � � �� { , , , }, ãäå S � — ìíîæåñòâî îïåðàöèé ñåëåêòîðà ñòðóêòóðíûõ òèïîâ â
ßÏ l� ; S a
� — îïåðàöèÿ ñåëåêòîðà ìàññèâîâ â l� ; S z
� — îïåðàöèÿ ñåëåêòîðà çàïèñåé â l� ;
S u
� — îïåðàöèÿ ñåëåêòîðà îáúåäèíåíèÿ; S e
� — îïåðàöèÿ ñåëåêòîðà ïîñëåäîâàòåëüíîñòè.
Îïåðàöèÿ êîíñòðóèðîâàíèÿ C ñòðóêòóðíûõ òèïîâ äàííûõ âûïîëíÿåòñÿ ïðè
óñëîâèè, ÷òî ìíîæåñòâî îáúåêòîâ, èç êîòîðûõ êîíñòðóèðóåòñÿ íîâûé ñòðóêòóðíûé
òèï, èìååò ïðîèçâîëüíóþ ïðèðîäó. Ïðè êîíñòðóèðîâàíèè íîâîãî ñòðóêòóðíîãî
òèïà âûïîëíÿþòñÿ îïåðàöèè: óïîðÿäî÷åíèå ìíîæåñòâà ýëåìåíòîâ, îïðåäåëåíèå
ìíîæåñòâà èíäåêñîâ è óñòàíîâëåíèå âçàèìíî îäíîçíà÷íîãî ñîîòâåòñòâèÿ ìåæäó
ìíîæåñòâàìè èíäåêñîâ è çíà÷åíèé.  îáùåì âèäå ìíîæåñòâî îïåðàöèé êîíñòðóè-
ðîâàíèÿ èìååò âèä
C C
n
� �
� �
� , C C C C Cà z u e
� � � � �� { , , , },
ãäå C C C Cà z u e
� � � �, , , — îïåðàöèè êîíñòðóèðîâàíèÿ ìàññèâà, çàïèñè, ïîñëåäîâà-
òåëüíîñòè è äðóãèõ ñòðóêòóð äàííûõ â êëàññå ÿçûêîâ L .
Ïðåäëîæåííûå îïåðàöèè ïðÿìîãî è îáðàòíîãî îòîáðàæåíèÿ ïðîñòûõ è ñëîæ-
íûõ òèïîâ äàííûõ â êëàññå ßÏ ðåàëèçîâàíû â ñèñòåìå ÀÏÐÎÏ [23] êàê ìåõàíèçì
ñîïðÿæåíèÿ ðàçíîÿçûêîâûõ îáúåêòîâ â ýòèõ ßÏ è ôîðìèðîâàíèÿ ñîîòâåòñòâóþùèõ
èì ìîäóëåé–ïîñðåäíèêîâ.
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 7
2. ÏÐÀÊÒÈ×ÅÑÊÈÅ ÀÑÏÅÊÒÛ ÐÅÀËÈÇÀÖÈÈ ÑÁÎÐÊÈ ÐÀÇÍÎßÇÛÊÎÂÛÕ ÎÁÚÅÊÒÎÂ
Òåîðèÿ òèïîâ è ñòðóêòóð äàííûõ, îñíîâíîé ôîðìàëüíûé àïïàðàò îòîáðàæåíèÿ
ïðîñòûõ è ñòðóêòóðíûõ òèïîâ äàííûõ â ðàçíûõ ßÏ, ñôîðìèðîâàëàñü â 70-90-å
ãîäû [10]. Äàííàÿ òåîðèÿ ïðèìåíÿëàñü ïðè îáúåäèíåíèè è êîìïëåêñèðîâàíèè
ìîäóëåé â ðàçíûõ ßÏ ÷åðåç ìåõàíèçì èíòåðôåéñà. Åå ðîëü ïîñòîÿííî âîçðàñòàëà
â ïðàêòèêå ïðîãðàììèðîâàíèÿ â ñâÿçè ñ ïîÿâëåíèåì íîâûõ ïëàòôîðì êîìïüþòå-
ðîâ, ßÏ è îïåðàöèîííûõ ñðåä, òðåáóþùèõ óñòàíîâëåíèÿ ñîîòâåòñòâèÿ ïðîãðàìì
íà ñòàðûõ è íîâûõ êîìïüþòåðíûõ ïëàòôîðìàõ.
Ïðîáëåìà âçàèìîñâÿçè ðàçíîÿçûêîâûõ ïðîãðàìì ñ èñïîëüçîâàíèåì èíòåðôåé-
ñà ðåàëèçîâàíà â ðÿäå îïèñàííûõ äàëåå ñèñòåì è íîâûõ ïîäõîäîâ.
2.1. Ñáîðêà ðàçíîÿçûêîâûõ îáúåêòîâ â ñèñòåìå ÀÏÐÎÏ. Îñíîâó ñáîðêè ñî-
ñòàâëÿåò ðàçðàáîòàííàÿ áèáëèîòåêà èíòåðôåéñíûõ ôóíêöèé [7–9], êàæäàÿ èç êîòî-
ðûõ îòîáðàæàåò îäèí èç âàðèàíòîâ ïðåîáðàçîâàíèÿ íåñîâïàäàþùèõ òèïîâ è ñòðóê-
òóð äàííûõ â êëàññå ßÏ (Ôîðòðàí, Àëãîë, Êîáîë, ÏË1, Àññåìáëåð) ÎÑ ÅÑ [25].
Êëþ÷åâûå êîíöåïöèè ðåàëèçàöèè ñèñòåìû ñëåäóþùèå:
— ìîäóëüíûé îáúåêò è îïåðàòîð âûçîâà â ßÏ [7, 17, 18];
— ñèñòåìû �� è � � , îïåðàöèè è ôóíêöèè îòîáðàæåíèÿ äàííûõ ßÏ;
— ìîäóëü-ïîñðåäíèê êàæäîé ïàðû ñîïðÿãàåìûõ îáúåêòîâ â ßÏ;
— ïàñïîðò ìîäóëÿ (íàçíà÷åíèå, ñïèñîê ïàðàìåòðîâ è èõ òèïîâ, ñðåäà è äð.);
— ìîäåëü óïðàâëåíèÿ âûáîðîì ãîòîâûõ îáúåêòîâ èç Áàíêà ìîäóëåé (âû÷èñëè-
òåëüíàÿ ìàòåìàòèêà, ÀÑÓ è äð.);
— ñèñòåìíûå îïåðàöèè (ñáîðêà, òåñòèðîâàíèå îáúåêòîâ, èíòåðôåéñíûõ ìîäó-
ëåé–ïîñðåäíèêîâ êàæäîé ïàðû ñîïðÿãàåìûõ îáúåêòîâ è èõ àãðåãàòîâ).
Ñèñòåìà ÀÏÐÎÏ ãåíåðèðóåò ìîäóëè-ïîñðåäíèêè äëÿ êàæäîé ïàðû ñîïðÿãàå-
ìûõ ðàçíîÿçûêîâûõ îáúåêòîâ íà îñíîâå ôîðìàëüíûõ àëãåáðàè÷åñêèõ ñèñòåì ��,
� � è ìåæúÿçûêîâîãî è ìåæìîäóëüíîãî èíòåðôåéñîâ [3–9].
Ìåæúÿçûêîâîé èíòåðôåéñ îáåñïå÷èâàåò óñòàíîâëåíèå ñîîòâåòñòâèÿ òèïîâ äàí-
íûõ â êëàññå ßÏ, à òàêæå îïðåäåëåíèå àëãîðèòìîâ îòîáðàæåíèÿ íåñîâïàäàþùèõ
òèïîâ è ñòðóêòóð äàííûõ êîíêðåòíûõ ßÏ, ðåàëèçàöèþ íàáîðà ôóíêöèé è/èëè ìàê-
ðîîïðåäåëåíèé äëÿ îòîáðàæåíèÿ óêàçàííûõ äàííûõ.
 çàäà÷ó ìåæìîäóëüíîãî èíòåðôåéñà âõîäèò ãåíåðàöèÿ èíòåðôåéñíûõ ìîäó-
ëåé-ïîñðåäíèêîâ äëÿ ñîïðÿãàåìûõ îáúåêòîâ ñ îïåðàòîðàìè êîíâåðòèðîâàíèÿ ïåðå-
äàâàåìûõ äàííûõ è ïåðåäà÷ óïðàâëåíèÿ (òóäà è îáðàòíî).
Ïðèâåäåì ïðèìåð ïðèìåíåíèÿ áèáëèîòå÷íûõ ôóíêöèé ïðåîáðàçîâàíèÿ ïðè
òðàíñôîðìàöèè (TRAN) ìàòðèöû, îïèñàííîé â ìîäóëå A íà ÿçûêå ÏË1 ïî ñòîëáöàì
è â ìîäóëå B — íà Ôîðòðàíå ïî ñòðîêàì. Ìîäóëü-ïîñðåäíèê ñîäåðæèò ñãåíåðèðîâàí-
íûå îïåðàòîðû îáðàùåíèÿ ê ôóíêöèÿì òðàíñïîíèðîâàíèÿ ìàòðèöû ïî ñòðîêàì ìîäó-
ëÿ A (òî÷êà âõîäà �B ) â ìàòðèöó ïî ñòîëáöàì äëÿ B è CALL B. Ïîñëå âûïîëíåíèÿ ìî-
äóëÿ B — îáðàòíûå ïðåîáðàçîâàíèÿ ( �A ) äëÿ ìîäóëÿ A è âîçâðàò â íåãî [7].
8 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
Ìîäóëü À Ìîäóëü-ïîñðåäíèê Ìîäóëü B
PROC OPTION (main); SCECT SUBROUTINE B K M( , ) ;
DCL K M( , ), ( , )4 10 5 5 ; B � : SAVEP 2 ; Integer K M( , ), ,4 10 95 5;
do J � 1 to 4; do L � 1 to 10; PLAS1 ( , )4 10 ; write ( , ) (( ( , ), , )6 1 1 10K J L L � ,
K J L J L( , ) ( )� � � �1 10 ; PLAS1 ( , )5 5 ; J � 1 4, );
end; end; TRAN ( , ), , ,4 10 2 1 0p � ; write ( , ) (( ( , ), , )6 1 1 5M J L L � ,
do J � 1 to 5; TRAN ( , ), , ,5 5 2 2 0p � ; J � 1 5, );
do L � 1 to 5; ASFT return A �;
M J L J L( , ) ( )� � � �1 5 ; CALL B; Format (4013) ;
end; end; A � : TRAN ( , ), , ,4 10 2 1 0p � ; end;
CALL �B K M( , ); TRAN ( , ), , ,5 5 2 2 0p � ;
end A; return A ;
end;
Ñèñòåìà ÀÏÐÎÏ áûëà ðåàëèçîâàíà äëÿ ßÏ ÎÑ ÅÑ ÝÂÌ, âíåäðåíà â 52 îðãà-
íèçàöèÿõ ÑÑÑÐ (â Ìîñêâå, Ëåíèíãðàäå, Ìèíñêå, Ðèãå, Åðåâàíå è äð.) è ó ìíîãî÷èñ-
ëåííûõ ïîòðåáèòåëåé ßÏ ÎÑ ÅÑ. Îíà òàêæå èñïîëüçîâàíà êàê áàçîâàÿ ñáîðî÷íàÿ
ñèñòåìà â èíñòðóìåíòàëüíî-òåõíîëîãè÷åñêèõ êîìïëåêñàõ Ïðîìåòåé è ÐÓÇÀ ïðîèç-
âîäñòâà âñòðîåííûõ áîðòîâûõ ïðîãðàìì Ìèíèñòåðñòâà ðàäèîïðîìûøëåííîñòè
ÑÑÑÐ [20]. Ïî ðåøåíèþ ýòîãî ìèíèñòåðñòâà ÀÏÐÎÏ ïåðåäàíà â ñîñòàâå êîìïëåê-
ñîâ â îòðàñëåâîé Åðåâàíñêèé ÍÓÖ (1984), êîòîðûå ïîñòàâëÿëèñü â ðàçíûå
îðãàíèçàöèè äàííîé îòðàñëè äî 1991 ã., èñïîëüçóþùèå ÅÑ ÝÂÌ äëÿ àâòîìàòèçàöèè
ðàçëè÷íûõ âèäîâ äåÿòåëüíîñòè.
2.2. Ðåàëèçàöèÿ ñîïðÿæåíèÿ ìîäóëåé â äðóãèõ ñèñòåìàõ. Â ïåðèîä øèðîêî-
ãî èñïîëüçîâàíèÿ ðàçíûõ ßÏ â ÎÑ ÅÑ ìíîãèå ïðîãðàììèñòû ñòàëêèâàëèñü ñ ïðî-
áëåìàìè îáåñïå÷åíèÿ èíòåðôåéñà ðàçíîÿçûêîâûõ ìîäóëåé. Ïîäõîäû ê ðåøåíèþ çà-
äà÷ ñáîðêè ìîäóëåé îòðàæåíû â îòå÷åñòâåííûõ è çàðóáåæíûõ ðàáîòàõ.
Îòå÷åñòâåííûå ðàçðàáîòêè. Ê íèì îòíîñÿòñÿ èíòåãðàëüíûé ïîäõîä ê èíäóñ-
òðèè ñèñòåì À.Ï. Åðøîâà [12], êîíöåïöèÿ ñòðóêòóðíîãî êîíñòðóèðîâàíèÿ ñèñòåì
Å.Ë. Þùåíêî [13], ïðèíöèï ìíîãîÿçûêîâîñòè ñèñòåì ìîäóëüíîãî ïðîãðàììèðîâà-
íèÿ Å.À. Æîãîëåâà [14], ìåòîä êîìïëåêñèðîâàíèÿ ìîäóëåé Â.Í. Îðëîâà [15], ìî-
äåëü ñáîðêè È.Í. Ïàðàñþêà [16] è ìíîãèå äðóãèå.
Èíòåãðàëüíûé ïîäõîä îñíîâàí íà ñèñòåìàòèçàöèè è èñïîëüçîâàíèè îãðîìíîãî
çàïàñà ìîäóëåé è ïðîãðàìì êàê «÷èñòîé ýêîíîìèè òðóäà, êîòîðàÿ äîëæíà äàòü ñòðà-
íå 2/3 ãîäîâîãî ïðîèçâîäñòâà ïðîãðàììíûõ ñðåäñòâ çà ñ÷åò ñîâåðøåíñòâîâàíèÿ ìå-
òîäîâ è ñðåäñòâ ñáîðî÷íîãî ñîçäàíèÿ ïðîãðàìì, ïîäîáíî ñáîðêå âî ìíîãèõ îòðàñ-
ëÿõ ïðîìûøëåííîñòè».
Êîíöåïöèÿ ñòðóêòóðíîãî êîíñòðóèðîâàíèÿ ïðîãðàììíûõ ïðîäóêòîâ ðåàëèçî-
âàíà â ñèñòåìå Ìóëüòèïðîöåññèñò, â êîòîðîé ïðîãðàììû îïèñûâàëèñü ñïåöèôèêà-
öèÿìè ñèñòåìû àëãîðèòìè÷åñêèõ àëãåáð. Êîìïîíåíòû àëãåáðû àëãîðèòìîâ — ñõå-
ìû ïðîãðàìì, êëîíû, èíñòðóìåíòû ïðîåêòèðîâàíèÿ è ñèíòåçà ïðîãðàìì. Â íàñòîÿ-
ùåå âðåìÿ êàðêàñ ñèíòåçà äëÿ îáúåêòíûõ ïðîãðàìì è èõ ñâÿçåé ðåàëèçîâàí
â Rational Rose.
Îñîáåííîñòü ïðèíöèïà ïîñòðîåíèÿ ìíîãîÿçû÷íîé ñèñòåìû — ñáîðêà ìîäóëü-
íîé ñòðóêòóðû èç ðàçíîÿçû÷íûõ ìîäóëåé íà ñåìàíòè÷åñêîì óðîâíå, â êîòîðîì íà-
êàïëèâàëèñü îñíîâíûå ïîíÿòèÿ (òèïû äàííûõ è èõ çíà÷åíèÿ) íà Ôîðòðàíå è
Àëãîëå. Äàííûé óðîâåíü — áàçà îïèñàíèÿ ñåìàíòèêè ýòèõ ßÏ. Âñå ñîïðÿæåíèÿ
ðàçíîÿçûêîâûõ ìîäóëåé îïèñûâàëèñü â ìàøèííî-çàâèñèìîì ÿçûêå Àâòîêîä, ÷òî
âíîñèëî îïðåäåëåííûå òðóäíîñòè ïðè ðåàëèçàöèè óïðàâëÿþùåé ïðîãðàììû äëÿ
ìîäóëüíîé ñòðóêòóðû.
Ìåòîä êîìïëåêñèðîâàíèÿ îáúåêòîâ — èäåîëîãè÷åñêèé àíàëîã ñáîðêè â ÀÏÐÎÏ.
 íåì îïðåäåëåíû âñå ñîãëàøåíèÿ î ñâÿçÿõ è óïðàâëåíèè ðàçíûõ ìîäóëåé íà ßÏ ÎÑ
ÅÑ, ïðèíÿòûå â ðàçíûõ òðàíñëÿòîðàõ, è äàíî ìåòîäè÷åñêîå ðóêîâîäñòâî ïî íàïèñà-
íèþ ìîäóëåé-ïåðåõîäíèêîâ äëÿ êàæäîé ïàðû ßÏ. Ðàññìîòðåíî øåñòü ïàð ßÏ: ÏË1
� Àññåìáëåð, ÏË1 � Ôîðòðàí, Ôîðòðàí � Àññåìáëåð. Ïðèâåäåíû êîíêðåòíûå ïðè-
ìåðû ìîäóëåé–ïåðåõîäíèêîâ êàê îáðàçöîâ äëÿ ïðàêòè÷åñêîé ñáîðêè.
Ìîäåëü ñáîðêè ñåìåéñòâà ïàêåòîâ ïðèêëàäíûõ ïðîãðàìì (ÏÏÏ) ÄÅËÜÒÀÑÒÀÒ
íàïîëíÿëàñü ôóíêöèîíàëüíûìè Ôîðòðàí-ìîäóëÿìè, ðåàëèçóþùèìè çàäà÷è èç ïðè-
êëàäíîé ñòàòèñòèêè. Äëÿ ñáîðêè ÏÏÏ ðàçðàáîòàíî ñåìåéñòâî ÿçûêîâ ñïåöèôèêàöèé
ìîäåëåé ïðåäìåòíûõ îáëàñòåé è ÿçûêîâ îáùåíèÿ. Íà èõ îñíîâå àâòîìàòè÷åñêè ñîáè-
ðàëèñü �-ñèñòåìû ñåìåéñòâà ÏÏÏ, êàæäàÿ èç êîòîðûõ èñïîëüçîâàëà ñáîðî÷íóþ ìî-
äåëü âû÷èñëåíèé ïðîãðàìì â äèíàìèêå âûïîëíåíèÿ.
Çàðóáåæíûå ðàáîòû. Èíòåðôåéñ ðàçíîòèïíûõ ìîäóëåé îáåñïå÷èâàëè â ïðîåê-
òàõ MIL, SAA, ÎÂÅRÎN (www.oberon.ethz.ch/archives/documentation_new). Îñîáåí-
íîñòü ýòèõ ïîäõîäîâ — ñîçäàíèå ÿçûêîâ îïèñàíèÿ èíòåðôåéñîâ ñîïðÿãàåìûõ
îáúåêòîâ è ðåàëèçàöèÿ íà èõ îñíîâå çàäà÷ îòîáðàæåíèÿ òèïîâ è ñòðóêòóð äàííûõ,
ïåðåäàâàåìûõ ÷åðåç ïàðàìåòðû. Îíè ïðåäâîñõèòèëè ïîÿâëåíèå â 90-õ ãîäàõ ÿçûêîâ
ñïåöèôèêàöèè èíòåðôåéñà IDL (Interface Defiinion Language), ñâÿçåé ïðîãðàììíûõ
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 9
êîìïîíåíòîâ APL (Application Program Language) è äð. Ñðåäè ïðîåêòîâ íàèáîëåå
áëèçêà ê ñáîðêå ðàçíîÿçûêîâûõ ìîäóëåé (íà ïðèìåðå Ïàñêàëÿ, Modula-2) ñèñòåìà
ÎÂÅRÎN. Îíà ðàñøèðåíà íîâûìè âîçìîæíîñòÿìè ïî èçãîòîâëåíèþ ïðîãðàììíûõ
ïðîäóêòîâ â ñîâðåìåííûõ îïåðàöèîííûõ ñðåäàõ.
Ïðîáëåìà èíòåðôåéñà ìîäóëåé áûëà íà ïîâåñòêå äíÿ ìíîãèõ ìåæäóíàðîäíûõ
è îòå÷åñòâåííûõ êîíôåðåíöèé. ÃÊÍÒ ÑÑÑÐ ïðîâåë êîíêóðñ «Èíòåðôåéñ ÑÝ»
(1987).  íåì ïðèíÿëè ó÷àñòèå ñïåöèàëèñòû Èíñòèòóòà êèáåðíåòèêè ÀÍ ÓÑÑÐ
(ãðóïïû àâòîðîâ îò ÀÏÐÎÏ è ÐÒÊ [26], â ðàáîòàõ êîòîðûõ ïðåäñòàâëåí ïðîãðàì-
ìíûé è ãðàôè÷åñêèé èíòåðôåéñ ñîîòâåòñòâåííî).
2.3. Âçàèìîäåéñòâèå ðàçíîÿçûêîâûõ ïðîãðàìì â ñîâðåìåííûõ ßÏ. Ïðîá-
ëåìå âçàèìîäåéñòâèÿ ðàçíîÿçûêîâûõ ïðîãðàìì â íîâûõ ßÏ (Cè/C++, Visual C++,
Visual Basic, Matlab, Smalltalk, Lava, LabView, Perl) ïîñâÿùåíà ìîíîãðàôèÿ
È. Áåÿ [19]. Â íåé îòðàæåíà ìíîãîëåòíÿÿ è ñèñòåìíàÿ ðàáîòà ïî ñîçäàíèþ ðàçíûõ
âàðèàíòîâ (áîëåå 60) èíòåðôåéñíûõ ïðîãðàìì ñ ïðåîáðàçîâàíèåì íåñîâïàäàþùèõ
òèïîâ äàííûõ äëÿ êàæäîé ïàðû ðàçíîÿçûêîâûõ ïðîãðàìì è èõ âçàèìîäåéñòâèÿ
â ñîâðåìåííûõ ñðåäàõ. Ýòî ïîäòâåðæäàåò àêòóàëüíîñòü èäåè îòîáðàæåíèÿ òèïîâ
äàííûõ â íîâûõ ßÏ.
Èì óñòàíîâëåíû êîíêðåòíûå âèäû ñâÿçåé êàæäîé äîïóñòèìîé ïàðû ïðîãðàìì
â ßÏ èç óêàçàííîãî ìíîæåñòâà è ðàçðàáîòàíû ôóíêöèè îòîáðàæåíèÿ äàííûõ, ïåðå-
äàâàåìûõ ÷åðåç îïåðàòîðû âûçîâà ïðîãðàìì â ðàçíûõ ßÏ. Ôàêòè÷åñêè ïðåäëîæåíî
ìíîæåñòâî ðàçíûõ âèäîâ ñõåì îïèñàíèÿ ðàçíîÿçûêîâûõ ïðîãðàìì â ßÏ, êîòîðûìè
ìîãóò ïîëüçîâàòüñÿ ïðîãðàììèñòû. Ïðèìåðû âçàèìîäåéñòâèÿ ðàçíîÿçûêîâûõ ïðî-
ãðàìì ïðîèëëþñòðèðîâàíû â ñîâðåìåííîé íàãëÿäíîé ôîðìå (ïàíåëè, ñöåíàðèè,
èêîíêè è îáðàçöû) è ìîãóò ñëóæèòü êîíêðåòíûì îáðàçöîì äëÿ ïðîãðàììèñòîâ.
2.4. Ïðèíöèïû âçàèìîäåéñòâèÿ ïðîãðàìì â ñðåäå MS .Net. Òèïû äàííûõ,
îáùèå äëÿ âñåõ ßÏ ñðåäû .Net, ïðåäñòàâëåíû ñèñòåìîé CTS (Common Type System)
è âêëþ÷àþò: ñòàòè÷åñêèé òèï-çíà÷åíèå (value type), äèíàìè÷åñêèé, ññûëî÷íûé òèï
(reference type), èíòåðôåéñíûé òèï è óêàçàòåëü. Äàííàÿ ñèñòåìà îáåñïå÷èâàåò ïðå-
îáðàçîâàíèå óêàçàííûõ òèïîâ ê ñèñòåìíîé ôîðìå ïðåäñòàâëåíèÿ è, íàîáîðîò, èç
íåå ê îïèñàíèþ â ßÏ, óñòàíàâëèâàåò âçàèìíî îäíîçíà÷íîå ñîîòâåòñòâèå ìåæäó
ïðîñòûìè òèïàìè â C# è òèïàìè FCL-êëàññà (Framework Class Library). Îñíîâíîå
íàçíà÷åíèå ññûëî÷íûõ òèïîâ ñîñòîèò â îáåñïå÷åíèè ñâÿçåé ðàçíîÿçûêîâûõ êîìïî-
íåíòîâ è èõ ïîâòîðíîì èñïîëüçîâàíèè.
2.5. Ñòàíäàðòèçàöèÿ òèïîâ äàííûõ è íîâûõ âèäîâ ðåñóðñîâ. Íà äàííîå âðå-
ìÿ ïðîâåäåíà ñòàíäàðòèçàöèÿ òèïîâ äàííûõ äëÿ âñåõ ñîâðåìåííûõ ßÏ, à òàêæå èí-
ôîðìàöèîííûõ è ïðîãðàììíûõ ðåñóðñîâ Èíòåðíåòà.
Óíèâåðñàëèçàöèÿ òèïîâ äàííûõ. Ñîãëàñíî ÄÑÒÓ 3901-99 (ÃÎÑÒ 30664-99),
ãàðìîíèçèðîâàííîìó ñ ISO/IEÑ 11404:1996, êîíöåïöèÿ èíòåðôåéñà ßÏ îñíîâàíà íà
îòîáðàæåíèè ÿçûêîâî-íåçàâèñèìûõ òèïîâ äàííûõ (LIDT — Language Independent
Datatypes) è îïðåäåëèëà ðåøåíèå ïðîáëåìû èíòåðôåéñà äëÿ âñåõ ñóùåñòâóþùèõ è
ïîÿâëÿþùèõñÿ ßÏ. Ñðåäñòâà îïèñàíèÿ LIDT íåçàâèñèìû îò ßÏ è àíàëîãè÷íû ñðå-
äñòâàì îïèñàíèÿ èíòåðôåéñîâ IDL, RPC è API. ßçûê LIDT äîïóñêàåò: âíåøíåå ïðå-
îáðàçîâàíèå òèïîâ äàííûõ ßÏ â LIDT; âíóòðåííåå ïðåîáðàçîâàíèå LIDT â òèïû
äàííûõ ßÏ è îáðàòíîå âíóòðåííåå ïðåîáðàçîâàíèå.
Âíåøíåå ïðåîáðàçîâàíèå — îòîáðàæåíèå òèïà äàííûõ ëþáîãî ßÏ â äîïóñòè-
ìûå LIDT. Âíóòðåííåå îòîáðàæåíèå — ïðåîáðàçîâàíèå LIDT èëè èõ ñåìåéñòâà
â êîíêðåòíûé âíóòðåííèé òèï äàííûõ ßÏ (â ñòàíäàðòå ïðèâåäåíû ïðèìåðû ïðåîá-
ðàçîâàíèÿ òèïîâ äàííûõ Ïàñêàëÿ, Ôîðòðàíà, MUMPS â LIDT). Îáðàòíîå âíóòðåí-
íåå ïðåîáðàçîâàíèå — îòîáðàæåíèå òèïà äàííûõ ßÏ â LIDT â ðàìêàõ ïîñòðîåííî-
ãî âíóòðåííåãî ïðåîáðàçîâàíèÿ.
Ïîñëåäíÿÿ âåðñèÿ ISO/IEÑ 11404 «Òèïû äàííûõ îáùåãî íàçíà÷åíèÿ» ïîÿâè-
ëàñü â 2007 ã. è îðèåíòèðîâàíà íà ñïåöèôèêàöèþ ñóùíîñòåé, îáðàáàòûâàåìûõ â ñå-
òåâûõ ñåðâèñàõ ëþáûõ êîìïüþòåðíûõ ñåòåé.
10 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
Ñòàíäàðòèçàöèÿ ðåñóðñîâ. Îñíîâíûå ðåñóðñû ïîâòîðíîãî èñïîëüçîâàíèÿ —
êîìïîíåíòû è ñåðâèñû, èñïîëüçóåìûå â ðàñïðåäåëåííûõ ñðåäàõ è âåá-ñåðâèñàõ
[21–23]. Ñðåäñòâî ñïåöèôèêàöèè ýòèõ ðåñóðñîâ — RDF (Resource Definition
Framework) è ñõåìà RDF äëÿ èõ îáúåäèíåíèÿ, à ñðåäñòâî èíòåãðàöèè ñåðâèñîâ —
Semantic Web, â êîòîðîì ñåðâèñû âçàèìîäåéñòâóþò ìåæäó ñîáîé ÷åðåç ìåõàíèçì
âûçîâà èëè îáðàùåíèÿ â ñòàíäàðòå W3C (World Wide Web Consortium). Êîìïîíåí-
òû è ñåðâèñû îïèñûâàþòñÿ â ñòàíäàðòå WSDL (Web Services Description Language)
â âèäå íàáîðà èìåíîâàííûõ îïèñàíèé èíòåðôåéñîâ, ñâÿçûâàíèÿ è òèïîâ äàííûõ,
èçîìîðôíûõ ïðîñòûì òèïàì äàííûõ [27].
Òàêèì îáðàçîì, íà äàííûé ìîìåíò îäèí èç ïóòåé ðàçâèòèÿ ïðîãðàììèðîâà-
íèÿ — ñòàíäàðòèçàöèÿ òèïîâ äàííûõ è íîâûõ âèäîâ ðåñóðñîâ (êîìïîíåíòîâ, ñåðâè-
ñîâ) è èõ èíòåðôåéñîâ.
3. ÐÀÇÂÈÒÈÅ ÏÐÎÁËÅÌÀÒÈÊÈ ÑÁÎÐÎ×ÍÎÃÎ ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈß
Çàäà÷à ñîïðÿæåíèÿ ðàçíîÿçûêîâûõ è ðàçíîòèïíûõ îáúåêòîâ ðåøàåòñÿ â íîâîì
ôóíäàìåíòàëüíîì ïðîåêòå ÍÀÍ Óêðàèíû (2007–2011) «Ðàçðàáîòêà òåîðåòè÷åñêî-
ãî àïïàðàòà ãåíåðèðóþùåãî ïðîãðàììèðîâàíèÿ è èíòåãðèðîâàííîé ñðåäû åãî
ïîääåðæêè». Åãî öåëü — ðàçðàáîòàòü îñíîâû òåîðèè è ïðàêòèêè ãåíåðèðóþùåãî
ïðîãðàììèðîâàíèÿ äëÿ àâòîìàòèçèðîâàííîãî ñîçäàíèÿ ïðîãðàììíûõ ñèñòåì è èõ
ñåìåéñòâ èç ãîòîâûõ ïðîãðàììíûõ ïðîäóêòîâ. Â òåîðèþ ãåíåðèðóþùåãî ïðî-
ãðàììèðîâàíèÿ âîéäåò ôóíäàìåíòàëüíûé àïïàðàò îïðåäåëåíèÿ áàçîâûõ ïîíÿòèé:
ìîäåëè ïðåäìåòíûõ îáëàñòåé; ìåòîäû èõ òðàíñôîðìàöèè; èíôðàñòðóêòóðà êîì-
ïîíåíòîâ ïîâòîðíîãî èñïîëüçîâàíèÿ äëÿ ïðîèçâîäñòâà ñåìåéñòâ ñèñòåì; íîâûå
ìåòîäû èõ òåñòèðîâàíèÿ è îöåíêè êà÷åñòâà, à òàêæå ñîçäàíèÿ êîíôèãóðàöèé
ïðîäóêòîâ ñåìåéñòâà è äð. [21–24].
Ñáîðêà ñãåíåðèðîâàííûõ ñ ßÏ è äëÿ ðàçíûõ ñðåä êîìïîíåíòîâ è ïðîãðàìì
ñèñòåìû ñåìåéñòâ ÿâëÿåòñÿ áîëåå ñëîæíîé ïðîáëåìîé. Åå ñëîæíîñòü îïðåäåëÿþò
òèïû äàííûõ óñòàðåâøèõ è íîâûõ ßÏ, íîâûå ìåòîäû (êîìïîíåíòíûå, àñïåêòíûå,
ñåðâèñíûå è äð.) èëè êîìáèíèðîâàííûå ñ ìîäóëüíûì, îáúåêòíûì ìåòîäàìè è ñðå-
äñòâàìè ðàçðàáîòêè îòäåëüíûõ ïðîãðàììíûõ ñèñòåì, ðàçíîîáðàçèå âèäîâ ãîòîâûõ
ðåñóðñîâ (ñîâðåìåííîãî è íàñëåäîâàííîãî òèïà), à òàêæå îñîáåííîñòè îïåðàöèîí-
íûõ ñðåä (ðàñïðåäåëåííîñòü, áåçîïàñíîñòü è äð.). Íà ñëîæíîñòü òàêæå âëèÿåò áîëü-
øîå ðàçíîîáðàçèå çàäà÷ â ñîçäàâàåìîì ñåìåéñòâå ñèñòåì, âêëþ÷àÿ áèçíåñîâûå,
ôèíàíñîâûå, ýêîíîìè÷åñêèå, êàäðîâûå è ò.ï.
 äàííîì ïðîåêòå ïðåäïîëàãàåòñÿ ðàñøèðåíèå àëãîðèòìè÷åñêèõ ñèñòåì �1 è � 2
íîâûìè òèïàìè ñòðóêòóð (ìíîæåñòâàìè, ñïèñêàìè, óêàçàòåëÿìè è äð.), ïîíÿòèéíûìè
êîíöåïòàìè ïðåäìåòíûõ îáëàñòåé ÷ëåíîâ ñåìåéñòâ è ñðåäñòâàìè èõ òðàíñôîðìàöèè
íîâûìè ìåòîäàìè (êîìïèëÿòèâíîãî, óòî÷íÿþùåãî, îïòèìèçàöèîííîãî âèäîâ) [21]. Áó-
äóò èññëåäîâàíû ïðèíöèïû âçàèìîäåéñòâèÿ ðàçíîÿçûêîâûõ êîìïîíåíòîâ ñ ïðèìåíå-
íèåì íîâûõ ÿçûêîâ ñïåöèôèêàöèè ñîâðåìåííûõ ðåñóðñîâ (LIDT, RDF, WSDL è äð.),
ìåòîäû òåñòèðîâàíèÿ, óñîâåðøåíñòâîâàííûå ìåòîäû ñáîðêè êîìïîíåíòîâ ïîâòîðíîãî
èñïîëüçîâàíèÿ, øàáëîíîâ, ãîòîâûõ ñèñòåì (ãîðèçîíòàëüíîãî è âåðòèêàëüíîãî òèïîâ) è
ôîðìèðîâàíèÿ ìîáèëüíûõ êîíôèãóðàöèé ñèñòåì ñåìåéñòâà.
ÇÀÊËÞ×ÅÍÈÅ
Òåîðèÿ è ïðàêòèêà ñáîðî÷íîãî ïðîãðàììèðîâàíèÿ áîëüøèõ ïðîãðàìì èç áîëåå
ïðîñòûõ, îïèñàííûõ íà ßÏ ÷åòâåðòîãî ïîêîëåíèÿ, ïîñòîÿííî ðàçâèâàþòñÿ. Ïîÿ-
âèëèñü íîâûå ìåòîäû (êîìïîíåíòíûé, ñåðâèñíûé, àñïåêòíûé, ãåíåðàöèîííûé
è äð.), îáåñïå÷èâàþùèå ïðîèçâîäñòâî ïðîãðàììíûõ ïðîäóêòîâ èç ãîòîâûõ ðå-
ñóðñîâ. Íåñîìíåííî, ìåòîä ñáîðêè ðàçíîÿçûêîâûõ è ðàçíîòèïíûõ ïðîãðàììíûõ
îáúåêòîâ, ðàçðàáîòàííûé ñ ó÷àñòèåì Å.Ë. Þùåíêî, îñòàåòñÿ ìåòîäîì èíäóñòðèè
ïðîãðàììíûõ ïðîäóêòîâ íà áëèæàéøèå äåñÿòèëåòèÿ. Îí àäàïòèðóåòñÿ ê ïîñòîÿí-
íî èçìåíÿþùèìñÿ îïåðàöèîííûì ñðåäàì, ó÷èòûâàåò îñîáåííîñòè íîâûõ ßÏ è
ÿçûêîâ èíòåðôåéñîâ, à òàêæå íîâûõ âèäîâ ðåñóðñîâ (ãîòîâûõ êîìïîíåíòîâ, ñåð-
âèñîâ, ñèñòåì è äð.). Ñáîðî÷íîå ïðîãðàììèðîâàíèå ïîïîëíÿåòñÿ íîâûìè òèïàìè
ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6 11
è ñòðóêòóðàìè äàííûõ ñîâðåìåííûõ ßÏ, ñòàíäàðòàìè, òåîðåòè÷åñêèìè è ïðàêòè-
÷åñêèìè êîíöåïöèÿìè òðàíñôîðìàöèè íîâûõ àðòåôàêòîâ (ìîäåëåé, ÿçûêîâ ñïå-
öèôèêàöèé äîìåíîâ, ñåìåéñòâ ñèñòåì è äð.), îïðåäåëÿþùèõ íîâûå ïîäõîäû
ê àâòîìàòèçàöèè èçãîòîâëåíèÿ ïðîãðàììíûõ ïðîäóêòîâ.
ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ
1. Ñ è ñ ò å ì à àâòîìàòèçàöèè ïðîèçâîäñòâà ïðîãðàìì (ÀÏÐÎÏ) / Â.Ì. Ãëóøêîâ, À.À. Ñòîãíèé,
Å.Ì. Ëàâðèùåâà è äð. — Ê.: Èí-ò êèáåðíåòèêè ÀÍ ÓÑÑÐ, 1976. — 134 ñ.
2. Ë à â ð è ù å â à Å . Ì . Ìîäåëè, ìåòîäû è ñðåäñòâà ñáîðî÷íîãî ïðîãðàììèðîâàíèÿ â ñèñòåìàõ
îáðàáîòêè äàííûõ: Äèñ. ... ä-ðà ôèç.–ìàò. íàóê. — Êèåâ: Èí-ò êèáåðíåòèêè èì. Â.Ì. Ãëóøêîâà ÀÍ
ÓÑÑÐ, 1989. — 348 ñ.
3. Ã ð è ù å í ê î Â . Í . , Ë à â ð è ù å â à Å . Ì . Î ñîçäàíèè ìåæúÿçûêîâîãî èíòåðôåéñà äëÿ ÎÑ ÅÑ //
ÓñèÌ. — 1977. — ¹ 1. — Ñ. 34–41.
4. Ë à â ð è ù å â à Å . Ì . Âîïðîñû îáúåäèíåíèÿ ðàçíîÿçûêîâûõ ìîäóëåé â ÎÑ ÅÑ // Ïðîãðàì-
ìèðîâàíèå. — 1978. — ¹ 1. — Ñ. 22–27.
5. Ë à â ð è ù å â à Å . Ì . Àâòîìàòèçèðîâàííîå èçãîòîâëåíèå ïðîãðàììíûõ àãðåãàòîâ èç ðàçíîÿçû-
êîâûõ ìîäóëåé // ÓñèÌ. — 1979. — ¹ 5. — Ñ. 54–60.
6. Ë à â ð è ù å â à Å . Ì . Ìåòîäèêà èçãîòîâëåíèÿ ïðîãðàììíûõ àãðåãàòîâ // Êèáåðíåòèêà. — 1980. —
¹ 2. — C. 77–82.
7. Ë à â ð è ù å â à Å . Ì . , Ã ð è ù å í ê î Â . Í . Ñâÿçü ðàçíîÿçûêîâûõ ìîäóëåé â ÎÑ ÅÑ. — Ì.:
Ôèíàíñû è ñòàòèñòèêà, 1982. — 127 c.
8. Ë à â ð è ù å â à Å . Ì . , à ð è ù å í ê î  . Ì . Ñáîðî÷íîå ïðîãðàììèðîâàíèå. — Êèåâ: Íàóê. äóìêà,
1991. — 213 c.
9. Ë à â ð è ù å â à Å . Ì . Ñáîðî÷íîå ïðîãðàììèðîâàíèå. Íåêîòîðûå èòîãè è ïåðñïåêòèâû // Ïðîáëåìû
ïðîãðàììèðîâàíèÿ. — 1999. — ¹ 2. — C. 20–32.
10. À ã à ô î í î â Â . Í . Ñïåöèôèêàöèè ïðîãðàìì: ïîíÿòèéíûå ñðåäñòâà è èõ îðãàíèçàöèÿ. — Íîâî-
ñèáèðñê: Íàóêà, 1987. — 240 ñ.
11. Ã ë ó ø ê î â Â . Ì . , Ö å é ò ë è í Ã . Å . , Þ ù å í ê î Å . Ë . Àëãåáðà. ßçûêè. Ïðîãðàììèðîâàíèå. —
3-èçä., ïåðåðàá. è äîï. — Ê.: Íàóê. äóìêà, 1989. — 376 ñ.
12. Å ð ø î â À . Ï . Îïûò èíòåãðàëüíîãî ïîäõîäà ê àêòóàëüíîé ïðîáëåìàòèêå ïðîãðàììíîãî îáåñ-
ïå÷åíèÿ // Êèáåðíåòèêà. — 1984. — ¹ 3. — C. 11–21.
13. Þ ù å í ê î Å . Ë . , Ö å é ò ë è í Ã . Å . , Ã ð è ö à é Â . Ï . , Ò å ð ç ÿ í Ò . Ê . Ìíîãîóðîâíåâîå
ñòðóêòóðíîå êîíñòðóèðîâàíèå ïðîãðàìì. Òåîðåòè÷åñêèå îñíîâû, èíñòðóìåíòàðèé. — Ì.: Ôèíàíñû
è ñòàòèñòèêà, 1989. — 208 ñ.
14. Æ î ã î ë å â Å . À . Òåõíîëîãè÷åñêèå îñíîâû ìîäóëüíîãî ïðîãðàììèðîâàíèÿ // Êèáåðíåòèêà. —
1980. — ¹ 2. — C. 44–49.
15. Î ð ë î â Â . Í . Êîìïëåêñèðîâàíèå ïðîãðàìì â ÎÑ ÅÑ. — Ì.: Ôèíàíñû è ñòàòèñòèêà, 1986. — 123 ñ.
16. Ï à ð à ñ þ ê È . Í . , Ñ å ð ã è å í ê î È .  . Èíñòðóìåíòàëüíî-áàçîâàÿ òåõíîëîãèÿ ñáîðî÷íîãî ïðî-
ãðàììèðîâàíèÿ îäíîãî êëàññà èíòåëëåêòóàëüíûõ ïàêåòîâ ïðèêëàäíûõ ïðîãðàìì íà ÅÑ ÝÂÌ // Òð.
ìåæäóíàð. íàó÷.-òåõí. êîíô. Cåêöèÿ 3. — Êàëèíèí, 1987. — C. 43–47.
17. Ë à â ð è ù å â à Å . Ì . Èíòåðôåéñ â ïðîãðàììèðîâàíèè // Ïðîáëåìè ïðîãðàìóâàííÿ. — 2007. —
¹ 2. — Ñ. 126–139.
18. Ë à â ð è ù å â à Å . Ì . Ñòàíîâëåíèå è ðàçâèòèå ìîäóëüíî-êîìïîíåíòíîé èíæåíåðèè ïðîãðàì-
ìèðîâàíèÿ â Óêðàèíå. — Êèåâ, 2008. — 33 ñ. — (Ïðåïð. / ÍÀÍ Óêðàèíû. Èí-ò êèáåðíåòèêè èì.
Â.Ì. Ãëóøêîâà; 2008–1).
19. Á å é È . Âçàèìîäåéñòâèå ðàçíîÿçûêîâûõ ïðîãðàìì. — Ì.; Ñ-Ïåòåðáóðã; Êèåâ: Âèëüÿìñ, 2005. — 868 ñ.
20. Ë è ï à å â  .  . Òåõíîëîãèÿ ñáîðî÷íîãî ïðîãðàììèðîâàíèÿ. — Ì.: Ðàäèî è ñâÿçü, 1993. — 272 ñ.
21. × å ð í å ö ê è Ê . , À é ç å í å ê å ð Ó . Ïîðîæäàþùåå ïðîãðàììèðîâàíèå. Ìåòîäû, èíñòðóìåíòû,
ïðèìåíåíèå. — Ì.; ÑÏá.; Õàðüêîâ; Ìèíñê: Ïèòåð, 2005. — 730 ñ.
22. Ã ð è ù å í ê î Â . Í . , Ë à â ð è ù å â à Å . Ì . Ìåòîäû è ñðåäñòâà êîìïîíåíòíîãî ïðîãðàììèðîâàíèÿ
// Êèáåðíåòèêà è ñèñòåìíûé àíàëèç. — 2003. — ¹ 1. — C. 39–55.
23. Ë à â ð è ù å â à Å . Ì . Ìåòîäû ïðîãðàììèðîâàíèÿ // Òåîðèÿ, èíæåíåðèÿ, ïðàêòèêà. — Êèåâ: Íàóê.
äóìêà, 2006. — 451 ñ.
24. Ë à â ð ³ ù å â à Ê . Ì . Ãåíåðóâàëüíå ïðîãðàìóâàííÿ ïðîãðàìíèõ ñèñòåì ³ ¿õ ñ³ìåéñòâ // Ïðîáëåìè
ïðîãðàìóâàííÿ. — 2009. — ¹ 1. — C. 3–16.
25. Ñ è ñ ò å ì à àâòîìàòèçàöèè ïðîèçâîäñòâà ïðîãðàìì ñ ðåæèìîì ìóëüòèäîñòóïà / À.Ò. Âèøíÿ,
Â.Í. Ãðèùåíêî, Å.Ì. Ëàâðèùåâà, Å.È. Ìîðåíöîâ è äð. — Åðåâàí: ÍÓÖ, 1984. — ¹ 93. — 968 ñ.
26.  å ë ü á è ö ê è é È .  . , Õ î ä à ê î â ñ ê è é  . Í . , Ø î ë ì î â Ë . È . Òåõíîëîãè÷åñêèé êîìïëåêñ
ïðîèçâîäñòâà ïðîãðàìì íà ìàøèíàõ ÅÑ ÝÂÌ. — Ì.: Ñòàòèñòèêà, 1980. — 264 ñ.
27. W e b Services Description Language (WSDL). Version 2.0. Part 1: Core Language
(http://www.w3.org/TR/2004/WD-wsdl20-).
Ïîñòóïèëà 07.07.2009
12 ISSN 0023-1274. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2009, ¹ 6
|
| id | nasplib_isofts_kiev_ua-123456789-44477 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 0023-1274 |
| language | Russian |
| last_indexed | 2025-12-07T16:49:51Z |
| publishDate | 2009 |
| publisher | Інститут кібернетики ім. В.М. Глушкова НАН України |
| record_format | dspace |
| spelling | Лаврищева, Е.М. 2013-06-02T08:01:00Z 2013-06-02T08:01:00Z 2009 Сборочное программирование. Теория и практика / Е.М. Лаврищева // Кибернетика и системный анализ. — 2009. — № 6. — С. 3-12. — Бібліогр.: 27 назв. — рос. 0023-1274 https://nasplib.isofts.kiev.ua/handle/123456789/44477 681.3.06 Викладено методи, засоби й інструменти збірного програмування. Розглянуто фундаментальні основи збірки різномовних об’єктів у мовах четвертого покоління в ряді систем у середовищі ОС ЄС. Показано нові підходи до формального опису і стандартизації типів даних у сучасних мовах, а також практичні аспекти систематизації готових об’єктів для їхнього повторного використання в зборці великих систем у сучасних середовищах. Наведено нові ідеї і підходи до забезпечення взаємодії різномовних об’єктів у середовищі сімейств програмних систем. The methods, means, and tools of compositional programming are outlined. The fundamentals of the composition of multilanguage objects in fourth-generation languages in systems of OS ES environment are considered. New approaches to formal declaration and standardization of data types in modern languages and practical aspects of the systematization of ready objects for their reuse to compose large systems in modern environments are shown. New ideas and approaches to the interaction of multilanguage objects in an environment of a family of application systems are described. ru Інститут кібернетики ім. В.М. Глушкова НАН України Кибернетика и системный анализ Кибернетика Сборочное программирование. Теория и практика Cкладальне програмування. Теорія і практика Compositional programming. Theory and practice Article published earlier |
| spellingShingle | Сборочное программирование. Теория и практика Лаврищева, Е.М. Кибернетика |
| title | Сборочное программирование. Теория и практика |
| title_alt | Cкладальне програмування. Теорія і практика Compositional programming. Theory and practice |
| title_full | Сборочное программирование. Теория и практика |
| title_fullStr | Сборочное программирование. Теория и практика |
| title_full_unstemmed | Сборочное программирование. Теория и практика |
| title_short | Сборочное программирование. Теория и практика |
| title_sort | сборочное программирование. теория и практика |
| topic | Кибернетика |
| topic_facet | Кибернетика |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/44477 |
| work_keys_str_mv | AT lavriŝevaem sboročnoeprogrammirovanieteoriâipraktika AT lavriŝevaem ckladalʹneprogramuvannâteoríâípraktika AT lavriŝevaem compositionalprogrammingtheoryandpractice |