OpenArchitectureWare.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄ΡΡΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ²: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ xText, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ xText ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ, ΡΡ Π΅ΠΌΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΡΠ°Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
OpenArchitectureWare. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ²: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
OpenArchitectureWare (oAW) — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ MDA/MDD ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Eclipse (ΡΠΈΡ. 1.1):
Π ΠΈΡΡΠ½ΠΎΠΊ 1.1. oAW ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ.
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ xText, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ xText ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ, ΡΡ Π΅ΠΌΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΡΠ°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΡΠΌΠ΅ Ecore-ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡΡΡΡΠ΅ΠΉΡΡ Π½Π° Eclipse Modeling Framework (EMF). ΠΡΡΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Antlr Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π½Π΅ΡΠ° ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ xPand [9] (ΡΠΌ. ΡΠΈΡ. 1.2):
Π ΠΈΡΡΠ½ΠΎΠΊ 1.2. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ oAW.
Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ DSL Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΌΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π΅ Π½Π°ΡΡΡΠ΅Π½Ρ. Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° [10].
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ:
- 1. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ DSL Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ.
- 2. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
- 3. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, Ρ.ΠΊ. oAW ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Π Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ:
- 1. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
- 2. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.
- 3. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΌΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ.