УДК 004.42, 519.683 MDD МЕТОДОЛОГИЯСЫН МҰНАЙ-ГАЗ САЛАСЫ МƏСЕЛЕЛЕРІН ШЕШУГЕ АРНАЛҒАН ЖОҒАРЫ ӨНІМДІ ЕСЕПТЕУ ҚОСЫМШАЛАРЫН ЖОБАЛАУ ЖƏНЕ ӨҢДЕУДЕ ПАЙДАЛАНУ Б. Мəткерім, Д.Ж. Ахмед-Заки Əл-Фараби атындағы Қазақ Ұлттық университеті, Алматы қ., Қазақстан bazargulmm@gmail.com, darhan.ahmed-zaki@kaznu.kz Аңдатпа. Бұл жұмыста Модельдермен Меңгерілетін Өңдеу методологиясы - MDD-ді мұнайгаз саласы мəселелеріне арналған жоғары өнімді есептеу (ЖӨЕ) қосымшаларын жобалау жəне өңдеуде пайдалануды ұсынады. MDD методологиясының негізгі идеясы қосымшаны өңдеуде басты назарды кодтаудан модельдеуге аудару. MDD методологиясын пайдаланудың басты себебі дəстүрлі тəсілмен ЖӨЕ қосымшаларын өңдеуде өткізетін кемшіліктерден құтылу. MDD методологиясын жүзеге асыру үшін оның OMG консорциум ұсынған фреймворкі Модельдермен Меңгерілетін Архитектура MDA таныстырылды, сонымен қатар оның ЖӨЕ-ге арналған концепциялары мен өңдеу үрдісі баяндалды. Арнайы ЖӨЕ компоненттерін құру арқылы MDA-дің PIM платформадан тəуелсіз модельдері жəне PSM платформаны спецификациялайтын модельдері модельдеуге болатыны көрсетіледі. Бағдарламалық қамтаманың инженериясының заманауи тəсілін қолдану бізге кеңейтілуімді, өзгеріске икемді жəне түзетуге болатын ЖӨЕ қосымшаларын құруға көмегін тигізеді деген сенімдеміз. 1 Кіріспе Мұнай-газ саласы мəселелерін шешу көп жағдайларда мұнай-газ резервуарларын симуляциялауға алып келеді, ал ол аса ауқымды деректермен жоғары өнімді есептеулерді (ЖӨЕ) жүргізуді талап ететіні белгілі. Мұнай-газ саласы ЖӨЕ атқарылып жатқан маңызды бір саланың бірі болып табылады. Соңғы жылдары аса жоғары жылдамдықпен есептеу мүмкіндігіне ие ЖӨЕ жүйелері біртіндеп жоғары оқу орындарында орналастырылып, ғылыми жобалар аясында түрлі тақырыптарда ғылыми есептеулер жүргізіліп жатар [1,2,3], осы жүйелердің есептеу қабілеттілігін толығымен пайдалану арқылы симуляциялауды жоғары деңгейде жүргізу ЖӨЕ мамандарының мақсаты болып саналады. Ал ол үшін сапалы ЖӨЕ қосымшаларын даярлауымыз керек. Ғылыми есептеудің көлемі мен өзіндік ерекшеліктеріне сай жүйенің параллельді аппараттық жабдықтамасына (ПАЖ) үйлесімді параллельді бағдарламалық модельдерді (ПБМ) таңдау арқылы жобалау жəне өңдеу қазіргі заманның талабы десек қателеспейміз. Дəстүрлі мұнай-газ резервуарларын симуляциялау мəселелеріне арналған ЖӨЕ қосымшасын өңдеу процессі бірнеше фазадан тұрады атап айтқанда: мұнай-газ резервуарларындағы феномендерді зерттеу, табиғи феномендерді математикалық модельдеу, математикалық модельді сəйкес сандық əдістермен модельдеу, бағдарламалық тілмен математикалық модельді кодтау, валидация жəне верификациялап соңында тесттен өткізу. ЖӨЕ қосымшаларының дəстүрлі өңдеу тəсілі математикалық тілмен сипатталған модельдермен өте тығыз байланысты екені баршаға мəлім, ал бұл бағдарламалық қосымшаны жобалау жəне өңдеуде бір шама кемшіліктерге əкеліп соғады, олар ПАЖ-ға тəуелділік, математикалық жəне бағдарламалық концепциялардың араласып кетуі жəне бағдарламалаудың күрделілігі болып табылады [4]. Аталған кемшіліктердің салдарынан параллельді бағдарлама төмен деңгейде, ПАЖ-ны спецификациялайтын жəне ЖӨЕ қосымшасын басқа ПАЖ жəне ПБМ-ға сəйкес жаңарту сонымен қатар құжаттау, қолданысқа енген қосымшаны кездейсоқ жағдайлардан қорғау қиындыққа соғады. Осы атап айтқан кемшіліктерден құтылу үшін мұнай-газ мəселелерін шешуге арналған ЖӨЕ қосымшаларын жобалау жəне өңдеуді ұйымдастырудың басқа тиімді методологиясын қарастыру өзекті мəселеге айналып отыр. Ал біз əлемдік бағдарламалық қамтама
инженериясына зерттеулер жүргізу арқылы осы мəселені шешу үшін MDD методологиясын қолданған жақсы нəтижелер беретініне көз жеткіздік. 2 MDD методологиясы жəне MDA стандарты MDD (Model-Driven Development) - моделдермен меңгерілетін өңдеу методологиясы, бұл қолданбалы бағдарламалық қосымшаны өңдеуде басты назарды бағдарламалық кодқа емес модельге аудару. Бұндағы Модель дегеніміз белгілі ортада немесе арнайы көру нүктесінен қарағандағы жүйенің функциясы, құрылымы жəне іс-қимылының формалды спецификациясы [5]. MDD методологиясы бойынша қосымшаның жобалау жəне өңдеудің барлық кезеңінде модельге сүйенеді, сондықтанда модельмен меңгерілетін (model-driven) деп айтылады. MDD ақпараттық технология саласының бағдарламалық қосымшаны өңдеуде объектіге бағытталған бағдарламалау тəсілінен кейінгі абстракциялаудың деңгейін жоғарлатудың алға қарай басқан тағы бір батыл қадамы болып есептеледі. Абстракциялау деңгейі жоғарлаған сайын қосымшаны өңдеудің өнімділігі артады жəне оңайлай түсетіні белгілі. 2000 ж. басында OMG концорциумы [6] MDD методологиясының инициативасы ретінде MDA (model driven architerture) концептуалды фреймворкін жəне оның концепцияларын ұсынды сонымен қатар модельдерді сипаттайтын жəне өзара трансформация жасайтын стандартты спецификациялау тілдерінде қоса ұсынды. MDA нұсқаулығында [5] MDA жүйені өңдеуде модельдердің күшін сол жұмыс барысында арттыратын бір тəсіл. Ол модельмен меңгеріледі себебі ол модельдерді пайдалана отырып түсіну, жобалау, құрастыру, орналастыру, іске асыру, техникалық қызмет көрсету, өңдеу жəне ары қарай түрлендіру барысына жетекшілік ету деген мағына береді деп жазылған. MDA-дің модельге байланысты негізгі концепциялары төмендегідей: CIM (Computation Independent Model) есептеуден тəуелсіз модель Бизнес немесе аймақ модель терминдер зерттеу аймағының мамандарына таныс. Жүйенің не істеу керектігін жорамалдайды Жүйені жүзеге асыру туралы ақпараттарды жасырады Басқа екі модель CIM талаптарының ізімен жүру керек. PIM (Platform Independent Model) платформадан тəуелсіз модель Жалпы абстракциялау тəсілімен қызметтерді анықтайды. Техникалық егжей-тегжейлікке мəн берілмейді PSM (Platform Specific Model) платформаны спецификациялау модель Арнайы платформаға арналған егжей-тегжейлі PIM спецификациясы. Сурет 1. MDA қосымшаларды өңдеу циклі MDA қосымшаларды өңдеу циклі 1 суретте көрсеткендей талдау, жобалау жəне кодтау болып үш кезеңнен тұрады, əр кезеңде сəйкесінше PIM моделін, PSM моделін өңдеуге жəне соңында кодтауға баса назар аударылады. Бірақ мұнда ескеретін бір жайт ол модельдер тек қағаз жүзінде қалып қоймай оны компьютерлердің оқи алуы жəне PIM моделінен PSM модельдердің трансформациялануы, сонымен қатар PSM моделінен бағдарламалық кодтың
генерациялануы. Суретте нұсқауыштардың жанындағы цифрлар рет ретімен өңдеу цикліндегі қадамдарды білдіреді. Модельдердің бастапқы нұсқасы бірден сəтті болмауы түсінікті жағдай, сондықтанда алдыңғы нұсқаны валидациялау арқылы қайта-қайта өзгертулер енгізудің нəтижесінде екінші үшінші нұсқаларын құрып, ол бағалаудан өткенде барып келесі деңгейдегі модельге Сурет 2 МDA-мен ЖӨЕ қосымшаларын өңдеу процессі трансформацияланады. Кей жағдайда егер жұмыс істеп тұрған бір қосымшаны басқаша технологиямен қайта өңдеу керек болса. онда оның PIM, PSM модельдерін қайта қарау арқылы (мысалы 4, 7 қадам ) жаңа модельдер құрып (мысалы 2,5 қадам) одан қосымшаның жаңа нұсқасының кодын генерациялап алуға əбден болады. MDA модельдерін құру үшін UML тілін [7] қолдануды ұсынылған. UML (Unified Modeling Language) - бір ыңғайландырылған модельдеу тілі. MDA үшін UML прецеденттер диаграммасы, кластар жəне объекттер диаграммасы, қалып күй диаграммалары, OCL жəне қарып қатынастар диаграммаларын қолданса жеткілікті болып есептеледі [8]. MDA коммерция, финанс, өкімет, білім саласына арналған қосымшаларды дайындауда кеңінен пайдаланылған [9], сонымен қатар ғылым саласының есептеу қосымшаларын өңдеуде де қолданысқа енген, мысалға молекулярлы-сəулелік эпитация, жоғары энергиялық электронды дифракцияның бейнеленуі [10] жəне Францияның CEA орталығының ғылыми
жобаларында [11]. Келесі бөлімде MDA-ді Мұнай-газ саласы мəселелеріне арналған ЖӨЕ қосымшасын дайындауда процессін сипаттаймыз. 3 Мұнай-газ мəселелеріне арналған ЖӨЕ қосымшаларын дайындау ЖӨЕ қосымшаларын дайындау процессін MDA-ға икемдеп 2 - суретте UML тілінің ісқимыл диаграммасы арқылы сипаттадық. Суреттен көргеніміздей жалпы процесс 5 бөлікке бөлінеді, əр бөліктегі іс-əрекетті сол бөліктің сал жағында көрсетілген маман иесі орындайды, нəтижесінде өң жақта көрсетілген MDA модельдерін ұсынады. Казіргі кезде ғылым саласы тым жіңішкеленіп кеткені белгілі, бір ЖӨЕ қосымшасын дайындаушы маман барлық ғылыми есептеуге қатысты салаларды толық меңгеруі мүмкін емес жағдай, сондықтанда бір жоба аясында қатысты мамандардың селбесе жұмыс істеуі жобаны жоғары деңгейде аяқтауға мүмкіндік береді. Сурет 3. Мұнай-газ саласы мəселелеріне арналған ЖӨЕ қосымшаларын дайындауда əр сала мамандарының эстафетасы 3 - суретте мұнай-газ қосымшаларын дайындауда əр сала мамандарының эстафетасы сипатталған, суретте көрсетілгендей əр маман өз мамандық ерекшелігіне қарай қосымшаны өңдеуге үлес қосады. Мұнай-газ саласы маманына зерттелу феноменінің процессін анықтау міндеті жүктелген, есептелуге тиісті мұнай-газ есебінің қойылымын анықтайды, ал екінші эстафета таяқшасын қабылдаушы зерттеу феноменінің математикалық моделін құрып шығады. Одан ары қарай эстафета таяқшасын сандық əдістерінің маманына табыстайды. Сандық əдістердің маманы берілген математикалық моделді зерттей отырып айқындалған жəне айқындалмаған сандық əдістердің ішінен үйлесімдісін таңдап сандық есептеу моделін алады, оны төртінші MDD маманына табыстайды. Ал MDD маманы сандық моделді төрт түрлі ЖӨЕ компонентін пайдалана отырып [12] PIM моделін құрады, одан ары қарай қажетті платформа мен технологияға сəйкес PIM-ді PSM-ге трансформациялайды, соңында PSM моделін кодқа генерациялап оны эстафетаның соңғы аялдамасы болған бағдарламалаушыға табыстайды. ЖӨЕ-ге арналған ПБМ-мен жақсы таныс бағдарламалаушы кодты толықтырып, бағдарламаны толығымен аяқтап, оны жүргізеді, сонымен қатар тестілеуден де өткізіп дайындалған ЖӨЕ қосымшасын тапсырыс берушіге ұсынады. Мұнай-газ резервуарындағы сұйықтықтың динамикасын симуляциялау мұнай-газ саласы зерттеу мəселелерінің біріне жатады. Симуляциялауға қажетті зерттеу объектілері əдетте сұйықтықтың қысымы, өткізгіштігі, тұтқырлығы жəне температурасы болып есептеледі. Біз қысымға арналған ЖӨЕ қосымшасын MDD арқылы жобалау жəне өңдеуді қарастырдық. Эластикалық анизотропиялы кеуекті ортаның Ω = [ 0, T ] K{0 x 1,0 y 1,0 z 1} кубындағы сұйықтықтың ағысының қысымы төмендегі үш өлшемді дифференциялық теңдеумен берілген: = ( φ ( x, ) + ( φ ( x, ) + ( φ ( x, ) + f ( t, x, (1) t x x y y z z Бастапқы жəне шекаралық шарттары: u(0, x, = ϕ (0,x, (2)
(3) = 0 n Γ (3) теңдеудегі Г Ω кубының беті. (1) теңдеудің шешімі (,,, ) дегеніміз t уақыттағы резервуардың (,, ) нүктесіндегі қысымы; (,, ) резервуардың диффузиялық коэффициенті;,,, мұнай скважинасынан беріліп отыратын қысым. ЖӨЕ қосымшасын жобалау жəне өңдеу жоғарыда баяндалған мамандар тобының эстафетасы арқылы жүзеге асырылды. Əрине мəселе қарапайым болғандықтан бұл мəселе үшін көп маманның атқаратын жұмысы тек бір маманға жүктелді, бірақ əр маманның қызметін эстафета таяқшасын тасымалдау ретімен жеке-жеке орындап шығып соңында Java бағдарламалау тілінде өңделген параллельді ЖӨЕ қосымшасы алынды. 4 Қорытынды Бұл ғылыми зерттеу жұмысында мұнай-газ саласы мəселелеріне арналған ЖӨЕ қосымшасын өңдеуде MDD методологиясын қолдануды алға қойды, сонымен қатар осы методологияның стандарттарының бірі MDA концепциялары түсіндірілді. MDA-мен қосымшаларды дайындаудың үлгісін таныстыра отырып ЖӨЕ қосымшаларын жобалау жəне өңдеудің процессі сипатталды. Күрделі мұнай-газ мəселелерін шешуде бес сала мамандарының басын қосатын арнайы топ жасақталып, қосымшаны дайындау эстафетасын ұйымдастырудың жолы көрсетілді. Дəстүрлі ЖӨЕ қосымшасын өңдеуде маман бəрінен хабардар болуды талап етіледі, əсіресе ЖӨЕ қосымшаларын өңдеуге арналған технологияларды жақсы меңгеру керек сонымен қатар математикалық модельдеуді, оған сəйкес күрделі сандық əдістерді де жақсы меңгеру міндетті, ал бұның бəрі бір маманның үстінен табыла беруі тым сирек кездесетін жағдай, сондықтанда ғылым саласында сапалы ЖӨЕ қосымшасын өңдей алатын мамандар республикамызда саусақпен санап аларлық. Ал MDD болса осы мəселеге бір шешім береді, модельдеуші математиктермен бағдарламалаушының арасындағы көпір іспеттес, ол жақсы математикалық модельге арналған сандық əдісті түсіне отырып MDA-дің арнай модельдерін құрады жəне оны бағдарламалаушыға түсінікті объектіге бағытталған тəсілмен түсіндіреді. Əдебиеттер тізімі 1. ҚазҰУ URSA кластерінің веб сайты: http://ursa.kaznu.kz/wordpress/ 2. ҚазҰТУ супер компьютерінің веб саты: http://www.kazntu.kz/ru/node/1894 3. ҚБТУ супер компьютерінің веб саты: http://www.kbtu.kz/ru/node/18 4. Ober MDE4HPC: An Approach for Using Model-Driven Engineering in High- Performance Computing, SDL 2011, LNCS7083, pp, 247-261,2011 5. Miller, J., Mukerji, J.: Mda guide version 1.0.1. omg/2003-06-01. Technical report, OMG (2003) 6. OMG веб сайты: http://www.omg.org/ 7. OMG Unified Modeling Language, Version 2.2. Superstructure, 2009. 8. K. Lano, Model-driven software development with UML and JAVA 2009, Cengage Learning EMEA 9. MDA жетістігі туралы əнгімелер, http://www.omg.org/mda/products_success.htm 10. A. Daniluk, Visual modeling for scientific software architecture design. A Practical approach, Computer Physics Communications. 183 (2012) 213-230.
11. D. Lugato, J.-M. Bruel, and I. Ober, Model-Driven Engineering for High Performance Computing Applications, Proc. Modeling Simulation and Optimization Focus on Applications, Acta Press, 2010, pp. 303 308. 12. Bazargul Matkerim, Darhan Akhmed-Zaki, Manuel Barata, Development High Performance Scientific Computing Application Using Model-Driven Architecture, Applied Mathematical Sciences, Vol. 7, 2013, no. 100, 4961 4974, http://www.mhikari.com/ams/ams-2013/ams-97-100-2013/matkerimams97-100-2013.pdf 13. B. Heimsund, Mathematical and Numerical Methods for Reservoir Fluid Flow Simulation, Doctor Scientiarum thesis, Department of Mathematics, University of Bergen, Marth 2005. 14. O. Pastor, J.C.Molina Model-Driven Architecture in Practice. Springer- Verlag Berlin Heidelberg 2010 15. D.S. Frankel, Model Driven Architecture: Applying MDA to Enterprise Computing, Wile New York, 2003. 16. Bryan Carpenter, Geoffrey Fox, Sung-Hoon Ko, Sang Lim, mpijava 1.2: API Specification, Northeast Parallel Architectures Centre, Syracuse University. 17. mpijava Home Page: http://www.hpjava.org/mpijava.html 18. UML to Java generator: http://marketplace.obeonetwork.com/module/uml2javagenerator