Modélisation

Passez au niveau de codage suivant

Dans OS.beee, les modèles "métier" pilotent le cycle de vie du logiciel. Suivant la méthodologie du Model Driven Software Development (MSD), le savoir-faire applicatif est stocké dans des modèles pour des domaines d'activité spécifiques et leurs sous-domaines ("Domain Specific Modelling", DSM). Cette approche permet l'intégration des frameworks existants pour différents domaines informatiques tels que les fonctions de sécurité ou d'interface utilisateur. 

Modèles DSL & grammaire

Le langage DSL (Domain Specific Language) est le langage de choix pour la modélisation d'applications spécifique à un domaine. Avec OS.bee, notre façon de diminuer la complexité d'un domaine d'application comme un ERP est de subdiviser un domaine en sous-domaines et de préserver leur contexte et leur cohérence. En conséquence, un ensemble de DSL et de générateurs à références croisées constituent l'épine dorsale d'OS.bee et construisent l'architecture OS.bee-DSL, alimentée par Xtext, un framework de développement de langage hautement extensible couvrant tous les aspects de l'infrastructure linguistique et le support complet de l'IDE basé sur Eclipse.

EMF

Modélisation textuelle

Les langages spécifiques au domaine utilisés dans OS.bee sont conçus pour être faciles à lire et à apprendre, et peuvent également être adoptés par des experts de domaines moins techniques. Que vous soyez familier avec les techniques de modélisation ou que vous ayez déjà utilisé des langages de programmation généraux, les développeurs trouveront de puissants outils dans OS.bee. La prise en charge de l'édition d'Eclipse par Xtext offre une grande facilité d'utilisation, fournissant aux développeurs une assistance contextuelle, une validation, un aperçu et un formatage. 

Comme même le code le plus simple ne peut pas toujours s'expliquer lui-même, une documentation en ligne est incluse pour tous les DSL, aidant à comprendre comment le problème donné a été résolu. La boîte à outils de widgets standard (SWT) d'Eclipse est complétée par des widgets Opal, par exemple pour implémenter une sélection d'images.

Xtext

Opal (SWT widgets)

Content Assistance
Formatting
Outline
Validation
Inline Documentation
Image Selection

Modélisation graphique

Afin de maîtriser la complexité du développement piloté par les modèles, des outils de programmation visuelle sont implémentés dans OS.bee. Pouvoir visualiser les modèles rend le développement logiciel graphique, déclaratif et intuitif. Il réduit le temps, il permet de se familiariser avec l'approche pilotée par le modèle pour les développeurs, et offre une meilleure compréhension des langages spécifiques au domaine pour les non-développeurs. 

Editeur de modèle graphique

Concepteur de perspective

Génération de code

En fin de compte, le code source est nécessaire pour donner vie à votre application. OS.bee fournit des générateurs de code spécifiques au langage, appelés inferrers de modèle. Ils fournissent des transformations à partir de la syntaxe DSL vers n'importe quel code interprétable par la machine, par exemple Java ainsi que XML, SQL, MDX, etc. Dans certains cas, le modèle pur est interprété pendant l'exécution sans avoir besoin de fragments de code intermédiaires. Les inferrers peuvent également fonctionner comme transformateurs de modèle à modèle, si le format source n'est pas un DSL mais un autre langage de modélisation, par exemple BPM Notations. Plus généralement, il est possible de définir n'importe quel format cible et d'avoir plusieurs formats sources.

Xtext builder, Xtend, Xbase, Xpand