Model-Driven Engineering (MDE) in a nutshell

Models have been an integral part of software engineering and have always been used to support different stages of the software development lifecycle of a product. Model-driven engineering (MDE) is a modern approach to software engineering, which obeys the core principle that “Everything is a model” and focuses on the creation, manipulation and management of conceptual models of software systems. Models provide an abstract representation of the system and above all, allow for managing complexity by describing application-specific solutions using high-level graphical modelling, rather than a programming language. Thus, abstraction from the implementation details allows for an evaluation of the target system properties very early in the design, as it is less expensive to modify or refine models of the system at a high-level prior to development, than after it has been fully built.

In recent times, pieces of software have become more and more complex and their evolution will surely be increasing in the future, which requires that they are looked at different levels of abstraction. One way in which this can be accomplished is through the use of models, which are abstract representations of a system. Models have always been used in software engineering to support various stages of the development lifecycle, however they were not traditionally seen as end-products. That is why MDE is a growing software engineering paradigm which treats models as primary artifacts, as opposed to other traditional paradigms which consider source code as their primary artifact. Models capturing various information allow for representing different views of the system and focusing on certain aspects of it. Having different views of the system captured in models can be useful for concentrating on a particular concern of the system where irrelevant information is filtered out. Therefore, models provide a powerful way to manage complexity by allowing developers to separate concerns and describe complex systems from a very abstract point of view.

Models could be represented either graphically or textually, but in both cases they must be expressed in a well-defined and unambiguous notation. That is why, models are normally expressed in a general purpose modelling language which is characterised by three main components:

  • Abstract syntax which specifies the structure of the language and the way its primitives can be combined.
  • Concrete syntax which describes the actual representations of the language elements in terms of visual appearance.
  • Semantics which specify the meaning of the language elements.

The abstract syntax of a modelling language is often represented with a metamodel, which defines the structure that the model must conform to in order to be valid. Furthermore, metamodels are subject to modification and extension of the language definition and can be used to check whether models are valid instances of the language. Having precisely defined metamodels is the basis for applying operations on models such as querying the content of models, checking their well-formedness, or as we shall see later on – performing model transformations. All models must be
built in compliance with a set of metamodels thus facilitating meaningful integration and transformation among models and automation through tools. Although the standard metamodeling language defined by the Object Management Group (OMG) is the Meta Object Facility (MOF), several other tools for metamodeling exist, the most widespread of which is the Eclipse Modeling Framework (EMF) which uses the metamodeling language Ecore.
Another initiative by the OMG is the Model Driven Architecture (MDA) which is an approach to software development relying on automated mapping of models to implementations. MDA typically distinguishes between three modelling levels in a software system:

  • Computation Independent Model (CIM) which outlines the requirements of the system and the business context, but does not consider any structural or processing characteristics.
  • Platform Independent Model (PIM) which describes the system, its information and algorithms, independently from the platform or the technology that is adopted to realise it.
  • Platform Specific Model (PSM) which provides detailed specification of the system including technology and platform-specific characteristics.

A set of mappings between those modelling levels can be defined through model transformations. The basic MDA pattern involves a single PIM that can then be transformed into one or more PSMs. Such transformations need to provide the additional information required in order to produce the PSM from the PIM. Ultimately, this is one of the main objectives of the model-driven approach – transforming the higher-level models to PSMs via code generation techniques. Transformations performed by code generators that convert abstract models into platform specific code are indeed essential to MDE, because they provide increased productivity in development by leaving most of the less challenging and mundane aspects of the programming to the code generator. Other major goals of MDA apart from increased automation include improved portability, interoperability and reusability which are accomplished through abstraction and architectural separation of concerns. It is also key to emphasise that models are structured and live entities that are amenable to automated processing and by manipulating models, repetitive tasks can be automated, resulting in increased productivity.

As already mentioned, in order to achieve the transition from a model to some other useful artefact, model transformations are used. Model transformations provide a chain that allows for automatically implementing a system in successive steps from the various models present, each of which can subsequently produce a more and more refined version of the software. Transformations may also be used for various other purposes in MDE including modifying, creating and merging models which all rely on the reuse of information captured in models to do so.
Model transformations normally have one or more source models as inputs and one or more outputs which depending on the type of transformation can either be another set of models or text. Consequently, we can identify two types of model transformations according to the type of target. Model-to-model transformations (M2M) generate elements of the target model by mapping source model elements to elements in the target model (e.g. transforming a UML class diagram into an Entity Relationship Diagram). Transformation is performed between a source and a target model both of which have to conform to a metamodel, following a set of transformation rules that are defined in a transformation language. On the other hand, model-to-text (M2T) transformations map source models to a set of files. Quite often, the text produced by the transformation is source code, in which case the transformation can also be referred to as model-to-code transformation (e.g. generating Java classes with appropriate attributes, getters and setters based on information in the class model). M2T approaches, however, can be useful not only for achieving the transition from the model level to code level, but also for generating non-code artifacts such as documents, for example. Within the M2T category, a common approach in which transformations are performed is the template-based approach, which separates the static and dynamic parts of the code. A template defines the static text elements shared by all artifacts, while dynamic parts are marked with meta-markers and contain code that accesses the information stored in the source model. Those dynamic parts are then filled in with relevant information specific to each particular case. Templates help explicitly defining the structure of the output which leads to generating more readable and understandable code. Also, being able to reuse a personalised and manually developed presentation template in an automatically generated application, can win the acceptance of users, reluctant to use MDE.

Unfortunately, MDE does not come without disadvantages. First, there is a general barrier of mistrust in the software engineering community concerning the quality of the automatically generated code, which is perceived by many as less performing than the highly optimised code developers can write manually. Moreover, powerful tools are required to support the automation of model transformations if the MDE vision is to become widely spread in the software development community. These tools should not only allow users to execute predefined transformations on demand, but also to fine-tune and define their own transformations using an advanced transformation language. Furthermore, it must be noted that using MDE to support the software development across all layers of an application (e.g. business logic, data, user interface) is still regarded a difficult task. Generating a fully functional application code across all tiers is complex because of the complexity in creating models that are detailed enough to be usable in practice for generating an application end-to-end. Although successfully generating code from models is possible, it is better suited to the cases where the model is very close to the implementation or where the semantics of the transformation is well understood (e.g. transforming a UML class diagram into class skeletons). That is why this project concentrates on generating code for only one tier of the application (e.g. user interface) for the purposes of early prototyping, where the internal quality of the end solution is not of prime importance.

Join the ConversationLeave a reply

Your email address will not be published. Required fields are marked *

Comment*

Name*

Website

Comments

  1. In one embodiment, VAR2CSA polypeptide is produced recombinantly using a mammalian cell system over the counter lasix The effects of N acetyl l cysteine on the female reproductive performance and nephrotoxicity in rats

  2. Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  3. This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  4. I really like reading through a post that can make men and women think. Also, thank you for allowing me to comment!

  5. Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  6. Pretty! This has been a really wonderful post. Many thanks for providing these details.

  7. I truly appreciate your technique of writing a blog. I added it to my bookmark site list and will

  8. Good post! We will be linking to this particularly great post on our site. Keep up the great writing

  9. I just like the helpful information you provide in your articles

  10. I think this post makes sense and really helps me, so far I’m still confused, after reading the posts on this website I understand.

  11. I truly appreciate your technique of writing a blog. I added it to my bookmark site list and will

  12. Pretty! This has been a really wonderful post. Many thanks for providing these details.

  13. I appreciate you sharing this blog post. Thanks Again. Cool.

  14. This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  15. There is definately a lot to find out about this subject. I like all the points you made

  16. Good post! We will be linking to this particularly great post on our site. Keep up the great writing

  17. very informative articles or reviews at this time.

  18. Good post! We will be linking to this particularly great post on our site. Keep up the great writing

  19. Nice post. I learn something totally new and challenging on websites

  20. Try to slowly read the articles on this website, don’t just comment, I think the posts on this page are very helpful, because I understand the intent of the author of this article.

  21. I just like the helpful information you provide in your articles

  22. I think the content you share is interesting, but for me there is still something missing, because the things discussed above are not important to talk about today.

  23. I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  24. Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.

  25. I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

  26. I appreciate you sharing this blog post. Thanks Again. Cool.

  27. There is definately a lot to find out about this subject. I like all the points you made

  28. Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  29. Pretty! This has been a really wonderful post. Many thanks for providing these details.

  30. Good post! We will be linking to this particularly great post on our site. Keep up the great writing

  31. This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  32. This was beautiful Admin. Thank you for your reflections.

  33. Good post! We will be linking to this particularly great post on our site. Keep up the great writing

  34. There is definately a lot to find out about this subject. I like all the points you made

  35. Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  36. naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

  37. You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

  38. I truly appreciate your technique of writing a blog. I added it to my bookmark site list and will

  39. Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.

  40. This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  41. I do not even understand how I ended up here, but I assumed this publish used to be great

  42. I appreciate you sharing this blog post. Thanks Again. Cool.

  43. canadian pharmacy cialis To assess the importance of PDGFRs for cell migration in these recurrent cell lines, scratch wound assays were employed after downregulation of PDGFRs

  44. You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

  45. Pretty! This has been a really wonderful post. Many thanks for providing these details.

  46. naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

  47. I appreciate you sharing this blog post. Thanks Again. Cool.

  48. I appreciate you sharing this blog post. Thanks Again. Cool.

  49. I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

  50. I very delighted to find this internet site on bing, just what I was searching for as well saved to fav

  51. Your use of practical tips and advice in your articles makes them actionable and useful.

  52. I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.

  53. SPY4D situs slot online terpercaya no 1 di indonesia

  54. Wodia

    Brezplačno Keno Grid Celoten koncept je, hitra namizna igra. Pripravljeni na mize za nekaj spletnega Blackjacka, ki se igra v številnih igralnicah po vsem svetu. Možnosti za zmago blackjack na spletu v igralnici 2022 zunanji dejavniki, ko se uvede nov element oblikovanja. To ne bi smelo biti problem, ki uživa reže nad drugo vsebino casino. Lepo oblikovan dodatek, če se pojavijo na kolutih drug poleg drugega. V krogih brezplačnih vrtljajev lahko igralci odkrijejo skrite skrinje z zmagovalnimi grozdi in si prislužijo več visoko plačanih nagrad, vendar se niso bili pripravljeni zavezati k odgovoru. Edini jackpot igra casino ponudbe je Big Foot, ki imajo donosne bonuse. Novi blackjack s sistemom glede na število igralcev, ki vam bo dala dodaten razlog za igranje.
    https://blog.8mg.africa/community/profile/vanranford57239/
    Upravlja družba TSG Interactive Gaming Europe Limited, ki je registrirana na Malti z matično številko C54266 in sedežem na naslovu Spinola Park, Level 2, Triq Mikiel Ang Borg, St Julians SPK 1000, Malta. Licenca št. MGA/B2C/213/2011, dodeljena 1. avgusta 2018. Malteška identifikacijska št. za DDV: MT24413927. Spletno igralništvo ureja Urad za igre na srečo na Malti. “Pozornost godi v smislu, ker te ljudje slišijo. Po drugi strani se zelo hitro lahko ujameš v zanko izpolnjevanja pričakovanj,” slabo leto po nastopu na Evroviziji razmišlja Ana Đurić, ki jo širša javnost pozna pod imenom Konstrakta. Slovenski košarkarji so kvalifikacije za svetovno prvenstvo končali z dvema porazoma, ki pa sta s tekmovalnega vidika nepomembna. Po porazu z Estonijo so klonili še pred Izraelom. V Kopru je bilo pred lepo zapolnjenimi tribunami 79:87.

  55. If you experience any joint pain or swelling while taking Cipro 500mg, contact your doctor immediately, as the medication may cause tendon inflammation or rupture.

  56. zib

    Social media dashboards are suites of tools that perform many different functions in one package. For instance, most of them have a post-scheduling tool, some analytics, and social monitoring. In addition, most social media dashboards don’t cover all social networks: TikTok, Snapchat, and Pinterest are harder to find coverage for, though this is changing. Not all social media platforms will be right for your business. Save time and effort by choosing social media platforms that your target audience will use. Below is a brief guide to help you understand some of the options available. It includes common social media management software features including publishing/scheduling tools for all the major platforms, a social listening tool, and a social inbox (for Instagram only).
    https://thehansom.com/bbs/board.php?bo_table=free&wr_id=774106
    As a result, copywriting helps shape the overall appearance, awareness, and interest of the brand in the eyes of the audience. Through the years, copywriting has played a major role in the social media success of a brand. So, how is copywriting important for social media success? Let’s take a look. It’s 2022, and no one likes ads. With so much content to scroll through on socials, what are the odds that your ad or post will capture the attention of your target audience? A good way to go here is to keep the language natural and conversational, avoid buzzwords, and consider the humans behind the screen. Authenticity is key to building trust on social media, so in order to build a loyal following of trusting customers, you need to write with the most authentic voice possible.  Social media content writing is the process of writing content for social media audiences, usually across multiple major social media platforms. It can include writing short captions for TikTok or Instagram Reels, long-form LinkedIn articles, and everything in between.

  57. tom

    Москва, Зеленоград, пл. Юности, дом 3 ЧИТАЙ ТАКЖЕ: При помощи ложки. Возьмите ложку и проведите ровную линию над внешним углом глаза. Затем переверните ложку и обведите круглую часть ложки. Помимо регулярной фиксации вашей порванной атрибутики, ваша скотч-лента или старый добрый целлофан также способны помочь вам нарисовать идеальные стрелки с подводкой для глаз. Девушкам, которые только начинают пользоваться подводкой, особенно классическими жидкими средствами, достаточно трудно нарисовать стрелки идеально ровными. Профессионалы дают несколько советов, помогающих упростить задачу: Просто нанеси на подвижное веко немного бежевых теней, добавь чуточку шиммера и проведи тонкую стрелку черной подводкой по контуру века. 2. Отметьте точками конец и начало стрелки, сравните их, убедитесь, что точки симметричны на обоих глазах. Нанесите плавную пунктирную линию:
    https://shanegzon307407.techionblog.com/18088705/как-восстановить-помаду-для-бровей
    Масло для бровей и ресниц DNC питательное. Средство содержит в своем составе облепиховое и касторовое масла и комплекс витаминов А, D, В5. Подавляющее большинство в восторге от данного продукта. Пользователи отмечают, что обещания производителя оправдались. Боле того, средство расходуется очень экономично, что не может не радовать. Для того, чтобы брови и ресницы всегда были здоровыми, густыми и шелковистыми они нуждаются в оздоравливающих процедурах. К одной их таких и относится использование касторового масла для ресниц и бровей. Читать подробнее Масла и экстрактыкасторовое масло, репейное масло Камфорное масло — популярный продукт, используемый в косметологии. Его использование помогает укрепить ресницы, придать им пышность и улучшить внешний вид. Очень важно избегать попадания в глаза. Подробнее о том, как правильно применять данное средство, вы узнаете из этой статьи.

  58. slot online bingo4d beserta judi online terbaik

  59. jip

    We use state-of-the-art technology to build our products, including: Kenneth Jimmy is a software developer based in Nigeria who has extensive experience developing modern applications. Web developers can come from different educational disciplines because Web development is one of those fields where once a programming language is learned, much of the rest of the skill set can be acquired through practice. Although there are no formal educational requirements to be able to work as a Web developer, a lot of employers do prefer formally educated people who come from any computer related field and have Web development skills. Differences Between Website Design And Website Development Most site layouts incorporate negative space to break the text up into paragraphs and also avoid center-aligned text.
    http://ys-clean.co.kr/bbs/board.php?bo_table=free&wr_id=9382
    Access to the Google TV kids section requires that your child have either a Google account or profile managed with Family Link. Another core feature of Google Photos is its automatic photo backup option, and the fact that you get 15GB of storage space for free certainly adds to the appeal. It’s an attractive reason for iPhone users to choose it, seeing as Apple only offers 5GB of free storage with its iCloud Photo Library. Google Photos will also serve most Android users well, too, despite competition from worthy photo editing apps in the Google Play app store. At Trimble, we are committed to your privacy. We know that we must earn your trust—and keep it—every time you use Trimble products and services. Visit our Privacy Center to learn more. Check out the Affordable Connectivity Program Consumer FAQ for more information about the benefit.

  60. Your article made me suddenly realize that I am writing a thesis on gate.io. After reading your article, I have a different way of thinking, thank you. However, I still have some doubts, can you help me? Thanks.

  61. I’m eagerly anticipating the release of metformin 2023, which promises to be a game-changer in the field of medicine.

  62. Thanks to Metformin 134, I can finally focus on living my life to the fullest without worrying about diabetes symptoms holding me back.

  63. The lisinopril 20 mg tablet is known to interact with certain medications, so it’s important to inform your provider of all prescriptions and supplements you’re taking.

  64. But

    V súčasnosti môžu túto službu využívať registrovaní zákazníci internetových kasín a online stávkových kancelárii Tipsport, Doxxbet a SynotTip. Každý z tria legálnych slovenských prevádzkovateľov umožňuje vklad cez sms za minimálne 5 eur. Nižšiu sumu nie je možné previesť na konto. Kým príde prvé krypto kasíno na Slovensko, asi si ešte chvíľu počkáme. Napriek tomu, máte v súčasnosti celkom veľké množstvo možností, ako realizovať vklady a výbery na hráčske kontá v online kasínach. Pokiaľ ide o vklady, tie môžete realizovať prostredníctvom: Minimálny vklad: Čo je to casino vklad, Casino vklad 1 euro, 1 eur vklad, 5 eur vklad, 10 eur vklad, Poplatky za hazardné hry 100 šancí stať sa milionárom stačí urobiť vklad min. 5€
    http://www.deckman.co.kr/bbs/board.php?bo_table=free&wr_id=68678
    Tipsport je na Slovensku známou značkou. Jedná so najväčší portál, kde sa vsádza na športové zápasy. Tipsport určite nie je neznámy ani hráčom kasínových hier. Táto spoločnosť sa mnohým ľuďom spája predovšetkým so športovým tipovaním, avšak na začiatku roka 2020 Tipsport získal licenciu aj na prevádzkovanie online kasína, a tak si tu v súčasnosti už môžete vychutnať zábavu aj na hracích automatoch, rulete či blackjacku. Ak chcete hrať v aplikácii, hráči v každej nasledujúcej verzii pokeru môžu ľahko nájsť. Mobilné kasíno s bonusom za vklad 2023 robia to preto, efekty a zvuky televízneho programu cez 20 veľmi fialové výplatných línií. Je to preto, ktorá sa vyplní. Inokedy sa títo hráči zaoberajú tienistým kasínom, ktorí pri hazardných hrách zasiahli jackpot.

  65. Tal

    The most searched in google about this game is slotomania vip, Slotomania free coins, free coins slotomania. New year come so collect Slotomania Free Coins 2022 – 2021 , slotomania facebook. Category: Suggestions Hi Slotomania fans!We’ve made a new update to Clan Points that will improve your game experience! Now Clans have become even more fair, equal, and simple to understand for all players. Have fun and enjoy the exciting changes! The most searched in google about this game is slotomania vip, Slotomania free coins, free coins slotomania. New year come so collect Slotomania Free Coins 2022 – 2021 , slotomania facebook. These Slotomania free coins collected from links are credit instant in your account, and there is no need to download any other software or any other surveys. Slotomania offers a variety methods for collecting free bonus codes, royal diamond, silver, brass, platinum, diamond, including free coins from Facebook, Instagram, twitter and direct links from mail. Slotomania free coin links can be grabbed from all social media and direct links.
    http://fit-girl.co.kr/bbs/board.php?bo_table=free&wr_id=37888
    JavaScript seems to be disabled in your browser. For the best experience on our site, be sure to turn on Javascript in your browser. These chips are 8 gram professional grade, standard casino size. We can help you design a standout product for business or personal use. 100 Chip Sets start at $143.96300 Chip Sets start at $276.96500 Chip Sets start at $419.961000 Chip Sets start at $674.96 500 Piece Desert Sands Set Introducing our new Classic 100% Plastic Playing Cards. These cards are 100% Plastic and compares to thickness of Modiano Da Vinci Cards and flexibility of Copag. The cards come Poker Size Jumbo… Challenge Coins Cash games with short stack buyins use about 60 chips per player (30 chip stack x 2 allowing for a rebuy). These Custom Poker Chips also work great with any QR Code you choose printed on one or both sides!  See the sample Custom QR Code Poker Chip below.