Обласно-специфично моделовање
Обласно-специфично моделовање је софтверско инжењерска методологија за дизајнерске и развојен системе, као што је компјутерски софтвер. Он укључује систематичко коришћење обласно-специфичног језика за показивање разних аспеката система.
Обласно-специфични моделарски језици често подржавају виши ниво апстракције него опште наменски моделарски језици, тако да они захтевају мањи труд и мање детаља ниског нивоа да специфишу одређени систем.
Преглед
уредиОбласно-специфично моделовање (ОСМ) често укључује идеју о генерисању кода: аутоматизацији креација од извршног кода директно из обласно-специфичних језичких модела. То што су ослобођене од ручне креације and одржавања изворног кода значи да обласно-специфичан језик може знатно побољшати развијачеву продуктивност.[1] Поузданост аутоматске генерације у поређењу са мауалним кодирањем ће такође смањити број дефеката у резултујућим програмима самим тим побољшавајући квалитет.
Обласно-специфичан језик се разликује од ранијих језичких генерацијских покушаја у КАСИ алаткама 1980их или УМЛ алаткама 1990их. У ова ова, генератори кода и моделарски језици су била направљена од стране произвођача алатки. Док је могуће да продавал алатки направи обласно-специфичан језик и генераторе, много је нормалније се обласно-специфичан језик јави унутар једне организације. Један или више експретских пограмера креирају моделарски језик и генераторе, док их остали програмери користе.
Имајући моделарски језик и генератор направљен од стране огранизације која ће их користити дозвољава чврсту погодност са њиховим тачним областима и потребама. Такође смањује време потребно програмерима да науче моделарски језик, јер он може да користи познате термине и концепте. Коначно, само захтеви једне организације морају бити узети у обзир, лакше је моделарском језику да се развије као одговор на промене у домену.
Обласно специфични језици могу обично да покрију обсег апстракционих нивоа за одређену област. На пример, обласно-специфичан моделарски језик за мобилне телефоне може да дозволи корисницима да специфишу апстракције високог нивоа за корисничко сучеље, такође и апстракције ниског нивоа за чување података као што су бројеви телефона и подешавања. Исто тако, обласно-специфични моделарски језик за финансијске услуге мозе да дозволи корсницима да спецификују апстракције високог нивоа за клијенте, као и апстракције ниског нивоа за имплементацију залиха и обвезничких трговачких алгоритама.
Обласно специфичне моделарске теме
уредиДефинисање обласно моделарских специфичних језика
уредиДа би се језик дефинисао, потребан је језик да се напише та дефиниција. језик од модела се обично назива метамодел, отуда је језик за дефинисање моделарског језика мета-метамодел. Мета-метамодели се могу поделити у две групе: они који су изведени из прилагођени од постојећих језика, и они који су развијени специјално као мета-метамодели.
Изведени мета-метамодели укључују моделе објектне везе, формалне језике, Проширену Бакус–Наурова форму (ЕБНФ), онтологијске језике, XML шема, и Мета-објектно постројење (МОП). Снаге ових језика теже да буду у фамилијарности и стандардизацији оригиналног језика.
Етоси обласно-специфичног моделовања фаворизују креирање новог језика за посебан задатак, и тако су неизненађујући нови језици дизајнирани као мета-метамодели. Најчешће коришћена фамилија таквих језиак је ОПРР,[2][3] ГОПРР,[4] и ГОППРР, које се фокусирају на подршку стварима нађеним у моделарским језицима са најмање труда.
Подршка алата за обласно-специфичне моделарске језике
уредиМноги опште-наменски моделарски језици већ имају подршку алата доступну у форми CASE алатки. обласно специфични моделарски језици теже да имају мало тржиште да подрже конструкцију од договорених CASE алатки ни од чега. Уместо, већина алатних продржаваћа за обласно-специфичне језике је направљена базирана на постојеће обласно специфичне оквире или кроз обласно специфична језичка окружења.
Обласно специфично окружење мозе се сврстати као метамоделарска алатка, т.ј. моделарски алат коришћен да дефинише моделарски алат CASE алат. Резултујући алат мозе или да ради унутар обласно-специфичној језичког окружења или мање често бити произведен као одвојени самостални програм. у чешћем случају, обласно-специфичне језичке околине подржавају додатни слој апстракција када се пореде са традиционалним CASE алатима.
Коришћење обласно-специфичког језичког окружења може значајно да смањи трошкове of набављања алтне подршке за обласно-специфични моделарски језик, јер ће добро дизанирана обласно-специфична језичка средина бити аутоматизована за креацију програмских делова који су скупи да се праве од нуле, као што су обласно-специфични уредници, претраживачи и компоненте. Обласни експерти требају једино да спецификују обласно-специфичне конструкције и правила, и обласно-специфична језичка средима даје моделарски алат скројен за тражену област.
Већина постојећих обласно-специфичних језика заузима место на обласно-специфичним језичким срединама, или комерцијалним као MetaEdit+ или Actifsource, или отвореног кода као GEMS, или академским као GME. Повећавајућа популарност обласно-специфичног језика је довела до тога де сеоквири обласно-специфичној језика додајуна постојеће ИДЕ, тј. Eclipse Modeling Project (ЕМП) са EMF и GMF, или мајкрософтови DSL Tools за софтверске фабрике.
Обласно-специфичан језик и УМЛ
уредиОбједињени језик за моделовање (UML) је опште-наменски моделарски језик језик за софтверско интензивнесистеме који су дизајнирани да подржавају највише објектно оријентисано програмирање. Сходно томе, у контраксту са обласно-специфичним језицима, UML се користи за широке разноврсности сврха преко широког домета области. Примитиве понуђене од стране UMLа су оне објектно-оријентисаногпрограмирања, док обласно-специфични језици нуде примитиве чија је сематика позната свим практикантима унутар области. На пример, у области аутомобилског инжењерства, постојаће софтверски модели који ће представљати својства система против обијања брава, или волана, итд.
UML укључују профилни механизам који дозвољава профилу да буде ограничен и прилагођен за специфичне области и палтформе. UML профили користе стереотипове, стереотипске атрибуте (познате као маркиране вредности пре UML 2.0), и ограничења на маргинирају и и продуже обим UMLа на одређену област. Можда је навише познат пример прилагођавања UML за посебну област SysML, обласно специфични језик за системско инжењерство.
Види још
уредиРеференце
уреди- ^ Kelly, S. and Tolvanen, J.-P., (2008) Domain-Specific Modeling: Enabling Full Code Generation, John Wiley & Sons, New Jersey. ISBN 978-0-470-03666-2 [1]
- ^ R.J. Welke. The CASE Repository: More than another database application. In W.W. Cotterman and J.A. Senn, editors, Proceedings of 1988 INTEC Symposium Systems Analysis and Design: A Research Strategy, Atlanta, Georgia, 1988. Georgia State University. [2]
- ^ Smolander 1992, стр. 224
- ^ Kelly, S., Lyytinen, K., and Rossi, M., "MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE Environment," Proceedings of CAiSE'96, 8th Intl. Conference on Advanced Information Systems Engineering, Lecture Notes in Computer Science 1080, Springer-Verlag. стр. 1-21, 1996. (in Ph.D. thesis as 3metools.pdf)
Литература
уреди- Smolander, K. (1992). „OPRR - A Model for Modeling Systems Development Methods”. Ур.: Lyytinen, Kalle; Tahvanainen, V.-P. Next Generation CASE Tools. IOS Press. стр. 224. ISBN 978-90-5199-076-8.
Спољашње везе
уреди- Domain-specific modeling for generative software development Архивирано на сајту Wayback Machine (31. јануар 2010), Веб-чланак од стране Martijn Iseger, 2010
- Domain Specific Modeling in IoC frameworks Веб-чланак од стране Ke Jin, 2007
- Domain-Specific Modeling for Full Code Generation from Methods & Tools Веб чланак од стране Juha-Pekka Tolvanen, 2005
- Creating a Domain-Specific Modeling Language for an Existing Framework Веб чланак од стране Juha-Pekka Tolvanen, 2006