Доменге тән модельдеу - Domain-specific modeling

Доменге тән модельдеу (DSM) Бұл бағдарламалық жасақтама әдістеме сияқты жүйелерді жобалауға және дамытуға арналған компьютерлік бағдарламалық жасақтама. Ол а-ны жүйелі түрде қолдануды көздейді доменге арналған тіл жүйенің әртүрлі қырларын ұсыну.

Доменге тән модельдеу тілдері жоғары деңгейді қолдайды абстракциялар қарағанда жалпы мақсаттағы модельдеу тілдер, сондықтан олар берілген жүйені көрсету үшін аз күш пен төменгі деңгейдегі бөлшектерді қажет етеді.

Шолу

Доменге тән модельдеу көбінесе идеясын да қамтиды кодты құру: автоматтандыру орындалатынды құру бастапқы код тікелей доменге арналған тілдік модельдерден. Бастапқы кодты қолмен жасау мен қызмет көрсетуден босату доменге арналған тілдің дамытушының өнімділігін едәуір жақсарта алатынын білдіреді.[1] Қолмен кодтаумен салыстырғанда автоматты генерациялаудың сенімділігі, нәтижесінде пайда болатын бағдарламалардағы ақаулар санын азайтады, осылайша сапаны жақсартады.

Доменге арналған тіл бұрынғы код жасау әрекетінен ерекшеленеді ІС 1980 жылдардағы құралдар немесе UML 1990 жылдардағы құралдар. Бұл екеуінде де код генераторлары мен модельдеу тілдерін құрал сатушылар құрды.[дәйексөз қажет ] Құрал жеткізушісіне доменге тән тіл мен генераторларды құру мүмкіндігі болғанымен, доменге тән тілдің бір ұйымда болуы қалыпты жағдай. Бір немесе бірнеше білікті әзірлеушілер модельдеу тілі мен генераторларды жасайды, ал қалған әзірлеушілер оларды қолданады.

Оларды қолданатын ұйымда модельдеу тілі мен генератордың болуы олардың нақты доменімен және домендегі өзгерістерге сәйкес келуіне мүмкіндік береді.

Доменге тән тілдер әдетте белгілі бір домен үшін абстракция деңгейлерінің ауқымын қамтуы мүмкін. Мысалы, ұялы телефондарға арналған доменге тән модельдеу тілі пайдаланушыларға жоғары деңгейлі абстракцияларды көрсетуге мүмкіндік бере алады пайдаланушы интерфейсі, сондай-ақ телефон нөмірлері немесе параметрлер сияқты деректерді сақтауға арналған төменгі деңгейдегі абстракциялар. Дәл сол сияқты қаржылық қызметтерге арналған доменге тән модельдеу тілі пайдаланушыларға клиенттер үшін жоғары деңгейлі абстракцияларды, сондай-ақ акциялар мен облигациялардың сауда-саттық алгоритмдерін іске асыруға арналған төменгі деңгейдегі абстракцияларды анықтауға мүмкіндік бере алады. Доменге тән модельдеу сонымен қатар төменгі деңгейдегі бағдарламалық артефактілер туралы ой қозғау үшін пайдалы.[2]

Тақырыптар

Доменге тән тілдерді анықтау

Тілді анықтау үшін анықтаманы жазу үшін тіл қажет. Модельдің тілін көбінесе а деп атайды метамодель, демек, модельдеу тілін анықтау мета-метамодель болып табылады. Мета-метамодельдерді екі топқа бөлуге болады: қолданыстағы тілдерден алынған немесе теңшелген, және мета-метамодель ретінде арнайы жасалған.

Туынды мета-метамодельдерге жатады тұлға қатынастарының диаграммалары, ресми тілдер, кеңейтілген Backus-Naur формасы (EBNF), онтологиялық тілдер, XML схемасы, және Meta-Object Facility (MOF). Бұл тілдердің күшті жақтары түпнұсқа тілді білу және стандарттау болып табылады.

Доменге тән модельдеу этикасы белгілі бір тапсырма үшін жаңа тіл құруды қолдайды, сондықтан метаметамодель ретінде жасалған таңқаларлықсыз жаңа тілдер бар. Мұндай тілдердің ең көп қолданылатын отбасы - OPRR,[3][4] ГОПРР,[5] және GOPPRR, олар модельдеу тілдеріндегі заттарды минималды күшпен қолдауға бағытталған.

Доменге арналған тілдерге арналған құралдарды қолдау

Көптеген Жалпы мақсаттағы модельдеу тілдерде қазірдің өзінде қол жетімді құралдар қолдауы бар ІС құралдар. Доменге арналған тілдік тілдер нарықтың өлшемі тым аз, тапсырыс бойынша CASE құралын нөлден бастауға мүмкіндік береді. Оның орнына, доменге арналған тілдік тілдерге арналған құралдардың көпшілігі қолданыстағы доменге арналған тілдік құрылымдар негізінде немесе доменге тән тілдік орта арқылы құрылады.

Доменге тән тілдік орта метамодельдеу құралы, яғни модельдеу құралын немесе CASE құралын анықтау үшін қолданылатын модельдеу құралы ретінде қарастырылуы мүмкін. Алынған құрал немесе доменге арналған тілдік ортада жұмыс істеуі мүмкін, немесе жеке оқшау бағдарлама ретінде аз шығарылуы мүмкін. Көбінесе доменге арналған тілдік орта қосымша қабатын қолдайды абстракция дәстүрлі CASE құралымен салыстырғанда.

Доменге арналған тілдік ортаны пайдалану доменге арналған тілге арналған құралдарды алу құнын едәуір төмендетуі мүмкін, өйткені жақсы жобаланған доменге арналған тілдік орта нөлден тұрғызуға қымбат тұратын бағдарламалық бөліктерді құруды автоматтандырады, мысалы. доменге арналған редакторлар, браузерлер және компоненттер. Домен сарапшысы тек доменге арналған құрылымдар мен ережелерді көрсетуі керек, ал доменге тән тілдік орта мақсатты доменге сәйкес модельдеу құралын ұсынады.

Доменге тән бар тілдің көпшілігі доменге тән тілдік ортада, коммерциялық сияқты, орын алады MetaEdit + немесе Белсенділік сияқты ашық көзі GEMS, немесе сияқты академиялық GME. Доменге тән тілдің танымалдылығының артуы қолданыстағы IDE-ге доменге тән тілдік құрылымдардың қосылуына әкелді, мысалы. Тұтылуды модельдеу жобасы (EMP) көмегімен ЭҚК және GMF немесе Microsoft корпорациясында DSL құралдары үшін Бағдарламалық жасақтама зауыттары.

Доменге арналған тіл және UML

The Бірыңғай модельдеу тілі (UML) - бұл жалпы мақсаттағы модельдеу бағдарламалық жасақтаманы қажет ететін жүйеге арналған, негізінен қолдау көрсетуге арналған объектіге бағытталған бағдарламалау. Демек, доменге тән тілдерден айырмашылығы, UML домендердің кең ауқымында алуан түрлі мақсаттарда қолданылады. UML ұсынатын примитивтер объектіге бағытталған бағдарламалауға жатады, ал доменге тән тілдер примитивтерді ұсынады семантика осы саладағы барлық практиктерге таныс. Мысалы, доменінде автомобиль жасау, қасиеттерін білдіретін бағдарламалық модельдер болады құлыпқа қарсы тежеу ​​жүйесі немесе а руль және т.б.

UML белгілі бір домендер мен платформалар үшін оны шектеуге және теңшеуге мүмкіндік беретін профиль механизмін қамтиды. UML профильдерін қолданады стереотиптер, стереотип атрибуттары (UML 2.0 дейін белгіленген мәндер ретінде белгілі) және шектеулер және белгілі бір доменге UML ауқымын кеңейту үшін шектеулер. Мүмкін белгілі бір домен үшін UML-ді теңшеудің ең танымал мысалы болып табылады SysML, доменге арналған арнайы тіл жүйелік инженерия.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Келли, С. және Толванен, Дж.П., (2008) Доменге сәйкес модельдеу: толық кодты генерациялауды қосу, Джон Вили және ұлдары, Нью-Джерси. ISBN  978-0-470-03666-2 [1]
  2. ^ Эйхберг, Майкл; Монперрус, Мартин; Клоппенбург, Свен; Мезини, Мира (2010), «Машинада орындалатын кодтың моделі негізінде жобалау» (PDF), Модельдеу негіздері мен қосымшалар, 6138, 104–115 б., дои:10.1007/978-3-642-13595-8_10, алынды 2019-03-06
  3. ^ Р.Дж. Уэлк. CASE репозиторийі: мәліметтер базасының басқа қосымшаларынан көп. В.В. Коттерман мен Дж.А. Сенн, редакторлар, 1988 ж. INTEC симпозиум жүйелерін талдау және жобалау: зерттеу стратегиясы, Атланта, Джорджия, 1988. Джорджия мемлекеттік университеті. [2]
  4. ^ Смоландер, К., (1992) OPRR - жүйелерді дамыту әдістерін модельдеу моделі. Келесі буын CASE құралдары (ред. К. Лайтинен, В.- П. Тахванайнен) IOS Press, Амстердам, Нидерланды, 224-239 бет.[3]
  5. ^ Келли, С., Лайтинен, К. және Росси, М., «MetaEdit +: толық конфигурацияланған көп қолданушы және көп құралы бар CASE ортасы», CAiSE'96, 8-ші инт. Ақпараттық жүйелерді жетілдіру бойынша конференция, Информатикадағы дәрістер, 1080, Springer-Verlag, 1-21 бет, 1996. (жылы Ph.D. 3metools.pdf ретінде тезис)

Сыртқы сілтемелер