Кіріспе

Орындалатын UML (xtUML немесе xUML) - бағдарламалық жасақтаманы әзірлеу әдісі және өте абстрактілі бағдарламалық тіл. Ол алғаш рет 2002 жылы "Executable UML: Model Driven Architecture үшін негіз" кітабында сипатталған. Бұл тіл "UML (Бірыңғай модельдеу тілі) графикалық белгілерінің бір бөлшегін орындалатын семантика мен уақыт ережелерімен біріктіреді". Executable UML әдісі ShlaerMellor әдісінің жалғастырушысы болып табылады. Орындалатын UML модельдері "жұғаруға, сынауға, жөндеуге және өнімділікті өлшеуге болады. ", және белгілі бір іске асыруды мақсат ету үшін аз абстрактілі бағдарламалау тіліне құрастырылуы мүмкін. Орындалатын UML платформаға тәуелсіз модельдерді белгілеу арқылы модельге негізделген архитектураны (MDA) және платформаға тәуелсіз модельдерді платформаға тән модельдерге компиляциялауды қолдайды.

Шолу

Орындалатын UML үшінші буын бағдарламалау тілдеріне қарағанда абстракцияның жоғары деңгейі болып табылады. Бұл әзірлеушілерге қосымшаның абстракциялық деңгейінде әзірлеуге мүмкіндік береді. Executable UML мәселелерді бөлуді көздейді. Бұл қайта пайдалануды жеңілдетеді және бағдарламалық жасақтаманы әзірлеу шығындарын төмендетеді. Бұл сонымен қатар орындалатын UML домендерін платформааралық болуға мүмкіндік береді. Яғни ол белгілі бір бағдарламалау тіліне, платформаға немесе технологияға байланысты емес. Орындалатын UML сонымен қатар платформаға тәуелсіз модельдерді (PIM) платформаға тән модельдерге (PSM) аударуға мүмкіндік береді. Executable UML әдісі модельді зияткерлік меншік ретінде бағалауға мүмкіндік береді, өйткені модель проблемалық кеңістік үшін толық орындалатын шешім болып табылады. Іс-әрекеттер іс-әрекет тілінде нақтыланады. Бұл дегеніміз, орындалатын UML модельдерінен автоматты түрде іске асыру кодын шығаруды оңтайландырылған түрде шығару мүмкін. Орындалатын UML орындалатын код ретінде, сондай-ақ құжаттама ретінде қызмет етуге арналған. Модельдер - мақсатты іске асыру үшін құрастырылған проблемалық кеңістіктің графикалық, орындалатын спецификациясы. Олар сонымен қатар адам оқып алатын болуы тиіс.

Орындалатын UML құраушы элементтері

Жүйе бірнеше пәндерден тұрады, олар UML терминдерінде домендер деп аталады. Орындалатын UML-де іске асыру мәселелеріне тәуелсіз оның тақырыбының абстракциялау деңгейінде доменді модельдеу үшін қолданылады. Нәтижесінде пайда болған домен моделі келесі элементтермен бейнеленеді: Домен диаграммасы модельделген доменнің және оның басқа домендерге байланыстылықтарының көрінісін ұсынады. Сынып диаграммасы домен үшін кластарды және сыныптық қауымдастықтарды анықтайды. Мемлекеттік диаграмма кластың немесе кластың инстанциясы үшін жағдайларды, оқиғаларды және жағдайлардың ауысуын анықтайды. Іс-қимыл тілі модель элементтерінде өңдеуді жүзеге асыратын әрекеттерді немесе операцияларды анықтайды.

Домендік диаграмма

Орындалатын UML жүйелердің домендерін (оларды: аспектілер немесе проблемалар деп те атайды) анықтауды талап етеді. "Әр бір домен - бұл ұғымдық субъектілер мекендейтін автономды әлем" Әр доменді жүйедегі басқа домендерден тәуелсіз модельдеуге болады, бұл мәселелерді бөлуді қамтамасыз етеді. Мысалы, автоматтандырылған кассалық жүйеге арналған домендер келесілерді қамтуы мүмкін: Автоматтандырылған кассаның бизнес-логикасының қосымша домен моделі. Жүйелік қауіпсіздікке қатысты әртүрлі мәселелердің қауіпсіздік доменінің моделі (мысалы, аутентификация және шифрлау). Сыртқы деректерді пайдалану әдістерінің деректерге қол жеткізу домендік моделі. Жүйе ақпаратты тіркей алатын немесе тіркеуі тиіс әртүрлі әдістердің журналдау доменінің моделі. Пайдаланушы интерфейсінің домендік моделі, пайдаланушының жүйемен өзара әрекеттесуінің үлгісі. Жүйенің аппараттық және бағдарламалық платформаларында орындалатын UML моделінің архитектуралық домен моделі. Қауiп-қатерлердiң бөлiнiсi әрбiр саланы тиiстi сала сарапшыларының жүйедегi басқа салалардан тәуелсiз әзiрлеуiне және тексеруiне мүмкiндiк бередi. Домендер арасындағы байланыстарды көпірлер деп атайды. "Көпір - бұл домендер арасындағы қабаттасқан тәуелділік". Бұл дегеніміз, домендер басқа домендерге талап қоя алады. Көптіктерді әр түрлі сала мамандарымен келісу ұсынылады. Доменнің бар екендігін және оны модельдеудің қажеті жоқ екенін көрсету үшін оны іске асырылған деп белгілеуге болады. Мысалы, MySQL деректер қорын пайдаланатын деректерге қол жеткізу домені іске асырылған деп белгіленетін болады.

Сынып диаграммасы

Концептуалдық субъектілер, мысалы, нақты заттар, рөлдер, оқиғалар, өзара іс-қимылдар және үлгіленетін доменге тән ерекшеліктер сыныптарға абстракцияланады. Сабақтардың атрибуттары мен операциялары болуы мүмкін. Бұл кластардың арасындағы қатынастар қауымдастықтар мен жалпылаулармен көрсетіледі. Қауымдастыққа Қауымдастық класы ретінде қосымша абстракциялау қажет болуы мүмкін. Сабақ диаграммасындағы шектеулер Action Language және Object Constraint Language (OCL) тілдерінде де жазылуы мүмкін. Executable UML әдісі Executable UML сынып диаграммасында пайдаланылатын UML элементтерін шектейді. Орындалатын UML кластық диаграммасы домен туралы ақпаратты көрсетуге арналған. Мемлекеттік диаграмма диаграммаларының күрделілігі сынып диаграммасын қайта өңдеу керектігінің жақсы көрсеткіші болып табылады.

Мемлекеттік диаграмма

Сабақтардың өмірлік циклдері орындалатын UML-де мемлекеттік диаграммамен үлгіленеді. Стан диаграммасы кластың мінез-құлқын анықтайтын күйлерді, ауысуларды, оқиғаларды және процедураларды анықтайды. Әр штатта сол мемлекетке кіргеннен кейін орындалатын бір ғана процедура бар. Процедура іс-әрекеттерден тұрады, олар іс-әрекет тілдесінде көрсетілген.

Іс-қимыл тілі

Сыныптар мен мемлекеттердің үлгілері тек доменнің статикалық көрінісін ғана қамтамасыз ете алады. Орындалатын модель болу үшін сынып инстанцияларын құру, қауымдастықтарды құру, атрибуттар бойынша операцияларды орындау, күй оқиғаларын шақыру және т.б. тәсіл болуы керек. Орындалатын UML-де бұл UML Action Semantics-ке сәйкес келетін іс-қимыл тілі арқылы жүзеге асырылады. Action Semantics 2001 жылы UML спецификациясына қосылды. Action Semantics RFP ShlaerMellor әдісін қолданатын іс-қимыл тілдеріндегі бұрынғы жұмыстарға негізделген. Қолданыстағы іс-қимыл тілдері: Объекттік іс-қимыл тілі (OAL), ШлаерМеллор іс-қимыл тілі (SMALL), Іс-қимылдың ерекшелік тілі (ASL), Үлгілік іс-қимылдың ерекшелік тілі (MASL), Сол іс-қимыл тілі (TALL), Старрдың қысқаша қатынастық іс-қимыл тілі (SCRALL), Платформаға тәуелсіз іс-қимыл тілі (PAL) және PathMATE іс-қимыл тілі (PAL). SCRALL - графикалық әрекет тілі болып табылатын жалғыз тіл.

Үлгілерді сынау және орындау

Доменді модельдеуден кейін оны модельді орындау арқылы мақсатты іске асырудан тәуелсіз сынауға болады. Әрбір доменді кез келген басқа доменнен тәуелсіз түрде тексеруге және растауға болады. Бұл анықталған қателерді доменмен байланыстыруға және басқа жүйелік проблемалардан тәуелсіз болуға мүмкіндік береді. Тексеруге тиісті сала мамандарымен жүргізілетін модельдерді адаммен тексеру және орындалатын UML семантикасын автоматтандырылған тексеру сияқты нәрселер кіреді. яғни, Executable UML моделі Executable UML метамоделине сәйкес келетінін тексеру. Тексеру әдетте модельді орындау үшін орындалатын UML құралын пайдалануды қамтиды. Орындау модельді құрастырудан бұрын немесе кейін болуы мүмкін.

Үлгі құрастыру

Мақсатты іске асыру бойынша орындауды қолдау үшін домендік модельді аз абстрактілі нысанға аудару керек. Бұл аударма процесі модель құрастыру деп аталады. Модель компиляторларының көпшілігі белгілі бағдарламалау тілін мақсат етеді, өйткені бұл бар компилятор технологиясын қайта пайдалануға мүмкіндік береді. Домен модельдерін мақсатты іске асыру себептері бойынша оңтайландыру абстракциялау деңгейін төмендетеді, домендік тәуелсіздікке кері әсер етеді және қайта пайдаланудың құнын арттырады. Орындалатын UML-де оптимизациялар модель компиляторымен автоматты түрде немесе таңбалау арқылы жасалады. Белгілеу белгілі бір төменгі деңгейдегі іске асырулар үшін нақты модель элементтерін мақсат етуге мүмкіндік береді және кең ауқымды архитектуралық шешімдерге мүмкіндік береді, мысалы, объектілер коллекциялары екі есе байланысты тізім ретінде іске асырылуы керек. MDA терминдерінде модель компиляторы PSM-ді жасайды. PIM мен PSM арасындағы ажырау орындалатын UML-де модельді қайталап жасау мүмкіндігін бұзады және PSM-ге өзгерістерді болдырмайды.

Орындалатын UML негізгі аспектілері

Орындалатын UML UML-дің кіші жиынтығы үшін орындау семантикасын анықтайды. Орындалатын UML қосалқы жиынтығының негізгі аспектілеріне мыналар жатады: Агрегациялау және композиция сияқты іске асырудың арнайы конструкцияларын қолдау жоқ. Жалпылау әрқашан {толық, ажыратылған} деп жазылады. Сыныптар арасындағы қауымдастықтар әрқашан аталады, екі ұшында да рөлдерді анықтайтын етістік сөз тіркестері бар және екі ұшында да көпшілік көрсетілген. Қауысу аяғындағы көбейтулер 0 1 (нөлден бірге дейін), * (нөлден көпке дейін), 1 (дәл бірге дейін) немесе 1 * (бірден көпке дейін) болып шектеледі . Деректер түрлері келесі негізгі дерек түрлерімен шектеледі: бульдік, тізбек, бүтін сан, нақты, күн, уақыт белгісі және кездейсоқ id, немесе келесі домендік дерек түрлерінің бірі: сандық, тізбек, санамаланған және құрама. Домендік сандық және тізбектік деректер түрлері негізгі деректер түрлерінің кіші жиынтығын білдіре алады. Домендік құрама деректер түрі әрқашан домен ішіндегі бір бірлік ретінде қарастырылады. Мысалы, MailingAddress құрама деректер түрін жариялауға болады, бірақ қала туралы ақпаратты одан алуға болмайды. Орындалатын UML модельдеріндегі шектеулер Объекттік шектеу тілі (OCL) немесе іс-қимыл тілі ретінде бейнеленуі мүмкін.

fUML және ALF

Object Management Group орындалатын UML-дің әсерінен Foundation UML (fUML) стандартын бекітті. Action Language for Foundational UML (ALF) - Object Management Group-тің стандартты іс-қимыл тілі спецификациясы.