2 research outputs found
ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ CIAO
Event-driven software systems, belonging to the class of systems with complex behavior in the scientific literature, are reactive systems, which react to the same input effect in different ways depending on their state and background.
It is convenient to describe such systems using state-transition models utilizing special language tools, both graphical and textual. Methodology for automated development of systems with complex behavior using the designed CIAO language (Cooperative Interaction of Automata Objects), which allows formally specifying the required behavior based on an informal description of the reacting system, is presented.
An informal description of a reacting system can be provided verbally in a natural language or in another way adopted in a specific domain. Further, according to this specification in the CIAO language, a software system for interacting automata in the C++ programming language is generated with a special system.
The generated program implements a behavior guaranteed to correspond to a given specification and original informal description. CIAO provides both graphical and textual notation. Graphic notation is based on an extended notation of state machine diagrams and component diagrams of the unified modeling language UML, which are well established in describing the behavior of event-driven systems.
The text syntax of the CIAO language is described by context-free grammar in regular form. Automatically generated C++ code allows using of both library and any external functions written manually.
At the same time, the evident correspondence of the formal specification and the generated code is preserved on conditions that the external functions conform to their specifications.
As an example, an original solution to D. Knut's problem of a responsive elevator control system is proposed. The effectiveness of the proposed methodology is demonstrated, since the automaton-converter generating the C++ code is presented as a responsive system, is specified in the CIAO language and implemented by the bootstrapping. The proposed methodology is compared with other well-known formal methods for describing systems with complex behavior.Π‘ΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π½Π°ΡΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
ΡΠ΅Π°Π³ΠΈΡΡΡΡΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ (reactive systems), ΡΠΎ Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΅Π°Π³ΠΈΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΡΡΡΠΎΡΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠ½ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ·ΡΠΊΠΎΠ²ΡΡ
ΡΡΠ΅Π΄ΡΡΠ² β ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠ° CIAO (Cooperative Interaction of Automata Objects), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ΠΎ ΡΠ»ΠΎΠ²Π΅ΡΠ½ΠΎ Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΏΡΠΈΠ½ΡΡΡΠΌ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ°Π»Π΅Π΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ CIAO ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ
Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++. Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠ»Ρ ΡΠ·ΡΠΊΠ° CIAO ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ Π½ΠΎΡΠ°ΡΠΈΡ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½ΠΎΡΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠ° ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ UML, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΡΠ΅Π±Ρ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌ. Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° CIAO ΠΎΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ
, ΡΠ°ΠΊ ΠΈ Π»ΡΠ±ΡΡ
Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²ΠΎΠΈΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π. ΠΠ½ΡΡΠ° ΠΎ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΠΈΡΡΠΎΠΌ. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°Ρ-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° Π‘++, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ CIAO ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ°ΡΠΊΡΡΡΠΊΠΈ. ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ
ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ CIAO
Π‘ΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π½Π°ΡΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
ΡΠ΅Π°Π³ΠΈΡΡΡΡΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈΒ (reactive systems), ΡΠΎ Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΅Π°Π³ΠΈΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΡΡΡΠΎΡΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠ½ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ·ΡΠΊΠΎΠ²ΡΡ
ΡΡΠ΅Π΄ΡΡΠ² β ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΡΠ·ΡΠΊΠ° CIAO (Cooperative Interaction of Automata Objects), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ΠΎ ΡΠ»ΠΎΠ²Π΅ΡΠ½ΠΎ Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΏΡΠΈΠ½ΡΡΡΠΌ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠ°Π»Π΅Π΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ CIAO ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ
Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++. Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠ»Ρ ΡΠ·ΡΠΊΠ° CIAO ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ Π½ΠΎΡΠ°ΡΠΈΡ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½ΠΎΡΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠ° ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ UML, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΡΠ΅Π±Ρ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌ. Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° CIAO ΠΎΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΎΠΉ Π² ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ
, ΡΠ°ΠΊ ΠΈ Π»ΡΠ±ΡΡ
Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²ΠΎΠΈΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π.Β ΠΠ½ΡΡΠ° ΠΎ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΠΈΡΡΠΎΠΌ. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°Ρ-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° Π‘++, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ CIAO ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ°ΡΠΊΡΡΡΠΊΠΈ. ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ