Model Driven development

Domain-specific modelling languages (DSMLs) and the underpinning infrastructure of IDE support, model transformations, code generation… are essential to this.

In class, you have learned about many of these technologies, and have applied them in a small way to

a fairly small language. In this piece of coursework, I challenge you to go larger: pick a domain-specific

language of your choice and build infrastructure for it. You can pick any existing domain-specific language—either a technical language like Docker or jHipster, or a language addressing concerns in

a non-technical domain (e.g., SBML from biological modelling, or public space patterns from urban

modelling). Don’t know where to start? Here is a great conversation on Twitter, where many people

have suggested their favourite languages. If you really want to impress me, you can pick a domain for

which there isn’t yet a language.1

In any case, you need to develop the following pieces of the language’s infrastructure:

1. A working editor with syntax highlighting, code completion etc. for textual languages and efficient edition support for graphical languages;

2. Validation support both for syntax, static semantics (well-formedness), and at least one advanced semantic check (dynamic semantics or some form of type checking, static verification

/ validation);

3. Language semantics to enable some form of execution either through analysis (simulation

based or other) or actual execution (interpreted or compiled) depending on the type of language. For some existing languages, this may be easiest to do by building an improved version

of the existing language and writing a transformation that translates to the original language.

Think carefully about what validation and semantics are most useful for your chosen language. This

will be different for different languages. In fact, even when two students have chosen the same language you may still end up focusing on different validation and semantics, depending on the purpose

you are considering most important. For example, for a jHipster implementation you may choose

to focus on generating running application implementations (different from those already generated

by the existing jHipster infrastructure) or, alternatively, may provide analysis of potential performance bottlenecks in the modelled application. You may also choose to build a better jHipster and

translate down to jHipster. Or why not translate from webmachine to jHipster?


I need

A Git repository with the implementation of your language, including a README file indicating

how to use the language infrastructure and an example project that can be used to demonstrate the capabilities of your language and infrastructure. It is your responsibility to ensure

that the instructions in the README file can be used on a fresh machine (Windows or Linux)

to explore the capabilities of your language at least in the context of the example project

Beceriler: C Programlama, C++ Programlama, Java, Python, Perl

Daha fazlasını gör: getafreelancer test driven development, test driven development 981, tictactoe test driven development, model driven architecture, openerp development python version, asp net test driven development data access layer, iphone database driven development, flower driven development, test driven development, free excel financial model property development, financial model property development, revenue model software development company, behavior driven development, python test driven development, test driven development in java, test driven development java, test driven development python, what is test driven development, model cv for domain expert in manufacturing, model driven development omg

İşveren Hakkında:
( 430 değerlendirme ) Mutrah, Oman

Proje NO: #29374522

Bu iş için 1 freelancer ortalamada $100 teklif veriyor


Hi there, I am expert Perl and C++ programmer. I have expertise of both linux and windows development in Perl, C and C++. I have the knowledge of object oriented programming and design patterns. I can implement differ Daha Fazla

$100 USD in 7 gün içinde
(0 Değerlendirme)