Tools (best practice?) For model-based development?

Engine-driven software development.

As I understand it, this increases the level of design abstraction in order to better reflect the domain in which the software will try to run. This can be said in only one sentence.

The relationship between domain experts (the customer) and developers is critical to the operation of this methodology. I want to know if there is a set of tools or a set of best practices that will help in the initial focus of MDSD? As soon as the domain is concretized, on how to map this model to ORM (or something else)?

I just dive into the realm of MDSD and DSL, so any constructive ideas or comments will be suggested.

+3
source share
5 answers

If you are developing Microsoft platforms, you can also check out Oslo. There is a good review here: http://www.pluralsight.com/community/blogs/aaron/archive/2008/11/03/introducing-quot-oslo-quot.aspx

Here's a ton of links from Chris Sells: http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=2197

I'm not ready yet to equate Driven Driven development with Model Drive Development.

You might also want to test the Model Managed Architecture (OMG MDA) model for the future, although probably not so much to collapse your own.

Model-driven - - , , , ( ). , .

+2

.net, " , " . ORM (NHibernate), SOA .

" Driven Driven" . ,

+2

: -. , , . , . , / -.

, MDSD .

, / . , , .

, - , .

, / MDSD.

DSL () - , . DSL , . DSL ( DSL) / . [ - ].

, DSL MDSD, , MDSD. , MDSD.

( , ), -. !

! , . , !

, , MDSD, (: , /, ...), !

ActiveRecord :

class Firm < ActiveRecord::Base
   has_many   :clients
   has_one    :account
   belongs_to :conglomorate
end

, . ( , , , ...).

+1

MDD .

(, UML), , , .

, ( ).

- . "". , . , , . , , , ..

. MDD, - - .

  • UML.

  • UML .

  • ORM ( ODBMS) - .

, . , , , , .

- , . . - . .

+1

MDSD, Markus Voelter: http://www.jot.fm/issues/issue_2009_09/column6.pdf

MDSD/DSL, EMF (https://www.eclipse.org/modeling/emf/) :

  • (EMF)
  • (EMF, Sirius, Xtext...)
  • manage collaboration and scalability (EMF-Transaction, CDO)
  • implement model validation rules (EMF validation)
  • implement code generators (Acceleo, Xtend / Xpand, Mwe ...)
  • implement document generators (pxDoc, m2doc ...)

An interesting way to reduce investment in tools is to use extensible UML modeling, as well as define your own UML profiles and custom tools on top of a reusable modeler (the previous list is still adequate if your UML modeler is based on the implementation of UML2 / EMF).

0
source

Source: https://habr.com/ru/post/1699115/


All Articles