Vous êtes sur la page 1sur 7

2019 ACM/IEEE 22e conférence internationale sur les langages et systèmes d'ingénierie pilotés par les modèles Companion

(MODÈLES-C)

Vers une ingénierie de modèle basée sur la recherche évolutive


avec l'échelle MDEOptimiser
Alexandru Burdusel Steffen Zschaler
Département d'informatique Département d'informatique
King's College de Londres King's College de Londres
30 Aldwych, Londres, WC2B 4BG 30 Aldwych, Londres, WC2B 4BG
alexandru.burdusel@kcl.ac.uk szschaler@acm.org

Abstrait—Exécuter des expériences scientifiques à l'aide de la recherche résultats, les métriques générées par les configurations évaluées
Les outils d'ingénierie des modèles (SBME) sont une tâche complexe, qui pose doivent être interprétées et traitées. Cette tâche est souvent effectuée à
un certain nombre de défis, allant de la définition d'un flux de travail
l'aide d'un script de traitement de données et nécessite que les données
d'expérience au réglage des paramètres, en passant par la recherche des
soient d'abord normalisées afin qu'elles puissent être analysées et
ressources de calcul optimales, la collecte et l'interprétation des métriques et
la reproductibilité de l'ensemble du processus. évaluées statistiquement. La plupart des outils SBME utilisent leur
Malgré la prolifération de matériel facilement accessible, en raison de la propre standard pour la fréquence et le format des données collectées
disponibilité accrue des fournisseurs d'infrastructure en tant que service, de au cours des expériences. Cette différence de format de données
nombreux outils SBME utilisent rarement cette technologie pour accélérer
nécessite que les chercheurs écrivent leurs propres scripts pour traduire
l'expérimentation. L'exécution de nombreuses expériences sur une seule
entre divers schémas et formats de données, en un schéma et un
machine implique des temps d'attente beaucoup plus longs et réduit la
capacité d'augmenter la vitesse des itérations lors de la recherche SBME, format communs, afin de traiter les données de l'expérience. Cette
ralentissant ainsi l'ensemble du processus. étape de traduction rend le processus lourd et sujet aux erreurs.
Dans cet article, nous introduisons un langage spécifique au domaine Dans cet article, nous proposons MDEOptimiser Scale (MDEO Scale), un
(DSL) et un cadre qui peuvent être utilisés pour configurer et exécuter des DSL et un framework de distribution de tâches destinés aux outils SMBE.
expériences à grande échelle, sur une infrastructure cloud, de manière
MDEO Scale permet aux utilisateurs de programmer des expériences SBME
reproductible. Nous décrirons notre architecture DSL et framework ainsi
qu'un exemple pour montrer comment une étude de cas peut être évaluée à sur des plateformes IaaS, de paralléliser les configurations d'expériences et
l'aide de deux outils d'optimisation de modèle différents. de réduire le temps nécessaire à leur exécution. L'outil offre une interface de
Index des termes—ingénierie pilotée par modèle, reproductible collecte de données, qui vise à standardiser le format de collecte des données
recherche, recherche évolutive, ingénierie de modèle basée sur la recherche, des expériences SBME, et offre un support pour le calcul des métriques
workflow, cloud, middleware
d'expérience communes et des statistiques récapitulatives pour les
problèmes de recherche à objectif unique et multi-objectif. Dans cet article,
je. jeNTRODUCTION
nous nous concentrons sur les problèmes SBME, cependant, l'approche que
L'ingénierie des modèles basés sur la recherche (SBME) est une méthodologie nous décrivons peut être étendue pour prendre en charge l'exécution de
qui combine des techniques de recherche avec l'ingénierie dirigée par les modèles, toutes les expériences qui évaluent les techniques de recherche.
pour aider les experts du domaine à trouver des modèles optimaux qui satisfont aux Dans cet article, nous apportons les contributions suivantes :
contraintes du métamodèle [1]–[5]. L'un des problèmes rencontrés par les 1) nous proposons un DSL qui permet aux utilisateurs de spécifier des configurations
chercheurs SBME est le temps d'exécution long et les ressources de calcul d'expérimentation pour les outils SMBE ;
considérables requises par les outils SBME pour trouver de bons résultats. 2) nous décrivons l'architecture d'un framework qui peut exécuter des
expérimentations sur du matériel IaaS ;
Des expériences de recherche typiques visent à évaluer plusieurs 3) nous proposons un cadre pour capturer et effectuer une
configurations, pour au moins un outil SBME. Chaque configuration se analyse commune des données d'expérience.
compose d'un ensemble de paramètres, d'études de cas et de modèles Le reste de cet article est structuré comme suit : Dans la Sect. II nous
d'entrée. De telles approches systématiques génèrent un grand nombre introduisons le contexte pertinent. La section IV contient les principales
de permutations d'expériences et l'évaluation de telles expériences contributions, décrivant nos motivations, nos objectifs de conception et
nécessite souvent de faire fonctionner les outils pendant longtemps. De l'architecture de nos outils. La section VI décrit la DSL et les détails de
plus, pour obtenir des résultats statistiquement significatifs, chaque mise en œuvre de notre approche et dans la section VII, nous discutons
expérience de configuration doit être répétée au moins 30 fois [6]. Cette des travaux connexes.
exigence augmente considérablement le temps et les ressources
nécessaires pour mener des expériences SBME. II. BRECONNAISSANCE
Les chercheurs de la SBME sont confrontés à au moins deux défis techniques : 1. Dans cette section, nous introduisons des concepts et des définitions qui
Exécuter des expériences à grande échelle de manière efficace, et sont pertinents pour la recherche décrite dans cet article. Nous donnons des
2. Comparer les résultats obtenus par différentes exécutions pour différents définitions des termes clés utilisés dans notre DSL, suivies d'une introduction
algorithmes, outils ou configurations. Pour comparer l'expérience aux concepts IaaS. Nous présentons ensuite brièvement

978-1-7281-5125-0/19/$31,00 ©2019 IEEE 189


DOI 10.1109/MODELS-C.2019.00032
SBME, suivi d'un aperçu de deux approches SBME Deux paradigmes ont été proposés pour résoudre les problèmes
différentes. de SBME. Dans cette section, nous allons utiliser deux exemples
d'implémentation.
A. Infrastructure en tant que service MDEOptimiser (MDEO) est une approche SBME qui vise à exécuter la
recherche directement sur les modèles, en utilisant les modèles eux-
L'infrastructure en tant que service (IaaS) est un concept utilisé pour décrire les
mêmes comme représentation des solutions candidates [5]. L'espace de
services qui offrent aux utilisateurs la possibilité de louer du matériel informatique à
recherche est exploré en appliquant des transformations endogènes
la demande, sur Internet. Les services IaaS peuvent évoluer vers le haut et vers le
aux modèles de solution et en évaluant la qualité des modèles
bas, en fonction des besoins des utilisateurs, et les ressources de calcul utilisées
résultants à l'aide d'une requête de modèle exprimée en Java ou en OCL.
sont facturées par intervalles de temps fixes, par exemple par heure ou par
seconde. Certains fournisseurs IaaS, en plus des ressources de calcul, proposent
MOMoT utilise une approche alternative pour spécifier les problèmes
également des services supplémentaires tels que la mise à l'échelle automatique, la
SBME [9]. Dans cette approche, les solutions candidates sont codées sous
gestion des analyses ou les pipelines d'apprentissage automatique.
forme de chaînes de transformations de modèles appliquées à des modèles
d'entrée de problème. De nouvelles solutions sont générées en appliquant
Dans cet article, nous utilisons Amazon Web Services1 (AWS) en tant
des mutations et des croisements au vecteur de transformations du modèle,
que fournisseur IaaS. Le produit AWS IaaS offrant des ressources de
puis en réappliquant la chaîne de transformations au modèle d'entrée initial
calcul s'appelle EC2. Lorsqu'ils utilisent EC2, les utilisateurs peuvent
et en évaluant la qualité du modèle de solution obtenu à l'aide d'une requête
choisir d'utiliser plusieurs types d'instances, selon le type de location sur
de modèle d'une manière similaire à MDEO.
le serveur sous-jacent qu'ils préfèrent. Pour la configuration de notre
Les deux outils SBME décrits dans cette section utilisent
outil, nous utilisons des instances Spot EC2, qui sont des instances de
MOEAFramework 3 pour la mise en œuvre des algorithmes
capacité inutilisées de l'inventaire AWS. Les instances EC2 Spot peuvent
d'optimisation pris en charge. MOEAFramework est une bibliothèque
être louées à un prix réduit jusqu'à 90 %, une réduction de coût
basée sur Java, qui offre un certain nombre d'algorithmes à objectif
significative par rapport à l'exécution d'expériences similaires sur des
unique et multi-objectifs ainsi que des fonctionnalités d'instrumentation
instances EC2 normales [7]. L'inconvénient de l'utilisation d'instances
et d'évaluation de leurs performances.
Spot EC2 est qu'elles peuvent être arrêtées de manière inattendue dans
Dans cet article, nous démontrons notre DSL à l'échelle MDEO en
les cas où la capacité de calcul inutilisée à partir de laquelle elles sont
utilisant les deux approches SBME présentées dans cette section.
générées devient nécessaire pour un autre service IaaS.
Lot AWS2 est un service proposé par AWS, qui permet aux utilisateurs III. RUNNING EXEMPLE
de planifier des tâches de traitement par lots à exécuter sur
Dans cette section, nous introduisons un exemple de problème
l'infrastructure AWS. Batch, provisionne automatiquement la quantité et
d'optimisation pour montrer comment notre DSL proposé peut être
le type optimaux de ressources de calcul et les alloue pour l'exécution
utilisé pour configurer des expériences en utilisant différents outils
des tâches Batch soumises par l'utilisateur. Les utilisateurs peuvent
d'optimisation. Le problème de responsabilité de classe (CRA) est une
interagir avec AWS Batch à l'aide de la AWS Management Console Web
étude de cas du domaine du génie logiciel [10].
ou de l'API REST AWS.
Le but de ce problème est de transformer une application
logicielle implémentée selon une approche procédurale en une
B. Ingénierie de modèle basée sur la recherche
architecture orientée objet tout en trouvant des valeurs optimales
L'ingénierie des modèles basée sur la recherche est une méthodologie qui de cohésion et de couplage. La qualité des solutions produites est
combine des idées d'ingénierie logicielle basée sur la recherche (SBSE) avec mesurée à l'aide de l'indice CRA défini dans [10], comme objectif
l'ingénierie dirigée par les modèles (MDE). SBSE est une méthodologie qui unique. Le problème fournit un graphe de dépendance de
applique des algorithmes de recherche méta-heuristiques à des problèmes responsabilité, qui contient un ensemble de fonctions et d'attributs
de génie logiciel pour trouver des solutions quasi optimales [8]. Pour spécifier avec des dépendances entre eux. Dans le métamodèle, ces entités
les problèmes SBSE, un certain nombre d'éléments sont nécessaires : sont des instances de type abstrait Feature.
• une représentation de domaine de problème • un procédé pour spécifier des Pour résoudre ce problème, l'utilisateur doit créer Classer
solutions candidates dans le domaine du problème ; • un ensemble de fonctions de entités dans le Modèle de classe et attribuer Caractéristiques à eux de
guidage pouvant indiquer la qualité de la solution • un ensemble d'opérateurs de telle sorte que : tous Caractéristiques sont affectés à un Classer et le
recherche pour manipuler les solutions candidates. modèle avec la valeur d'indice CRA la plus élevée est trouvé. Le
SBME est basé sur l'idée que les experts du domaine ont déjà les problème a une contrainte supplémentaire exigeant que chaque
problèmes spécifiés dans un langage de modélisation spécifique au domaine, caractéristique soit affectée à un seulClasser à la fois.
et utilise des artefacts MDE pour spécifier les problèmes SBSE. Plus
précisément, le domaine du problème est spécifié par le métamodèle, les
IV. LCONCEPTION D'ANGLE ET D'INFRASTRUCTURE
solutions candidates sont des modèles d'instance du métamodèle, les Dans cette section, nous présentons la motivation pour développer
fonctions de guidage sont des requêtes de modèle et les opérateurs de l'outil MDEO Scale. Nous continuons ensuite à énumérer les objectifs de
recherche sont des transformations de modèle. conception et à donner un aperçu de l'architecture prototype proposée
et de l'infrastructure prise en charge.
1http://aws.amazon.com

2http://aws.amazon.com/batch/ 3http://moeaframework.org/

190
A. Définitions TABLEAU I
SRÉSUMÉ DES STATISTIQUES RÉSUMÉ GÉNÉRÉES POUR LES
Dans cet article, nous utilisons les termes suivants pour décrire notre MULTI-O EXPÉRIENCES BJECTIVES.

DSL proposée :
Objectif unique Multi-Objectif
UNE Tâche fait référence à une seule instance de problème exécutable, Étapes de l'algorithme Étapes de l'algorithme

avec des entrées préconfigurées. Un exemple deTâche exécuterait un outil Moyenne objective Moyenne de l'hypervolume
Médiane objective Médiane d'hypervolume
SBME, pour un modèle d'entrée spécifique à partir d'une étude de cas évaluée.
Objectif Minimum Hypervolume minimum
Objectif Maximum Hypervolume maximum
UNE Grouper désigne une seule exécution d'un Tâche. Lors de l'évaluation Écart-type objectif Asymétrie Écart-type de l'hypervolume
d'études de cas à l'aide d'outils SBME utilisant des algorithmes objectif Incidence de l'hypervolume
Kurtosis objectif Kurtose hypervolumique
métaheuristiques, Tâches sont généralement exécutés plusieurs fois, pour
N/A Taille de l'ensemble de référence

garantir que les résultats obtenus sont statistiquement significatifs. Chaque N/A Ensemble de référence Contributions

Tâche l'exécution compte comme une grouper. N/A Ratio des meilleures solutions

Un Expérience fait référence à une étude de cas pour laquelle un


effet doit être évalué à l'aide d'un ensemble de tâches ayant différentes
entrées de configuration. Chaque expérience peut contenir un nombre
quelconque de modèles d'entrée, etTâches sont regroupés selon le
modèle d'entrée qu'ils évaluent.

B. Motivation et cas d'utilisation

La motivation pour la mise en œuvre de l'échelle MDEO est venue de la


nécessité d'exécuter des expériences SBME en utilisant plusieurs outils et
configurations tout en réduisant le temps d'attente pour que les résultats
soient prêts et en étant capable d'interpréter facilement les résultats.
Lors de l'évaluation des travaux publiés dans [3], les auteurs ont Fig. 1. Résumé de l'architecture DSL de MDEOptimiser Scale montrant les principaux
exécuté 498 configurations à l'aide de trois outils qui ont nécessité composants de l'outil

plus de 2500 heures d'exécution MDEO. L'exécution de ces


expériences sur une seule machine a nécessité plus de 100 jours
D. Architecture
d'exécution continue. En parallélisant les tâches d'expérimentation
à l'aide d'AWS Batch, les auteurs ont pu réduire le temps total Cette section présente l'architecture de l'outil MDEO Scale, un
requis pour exécuter les expérimentations à moins de 5 jours. DSL qui aide les utilisateurs à configurer et à déployer des
expériences SBME sur du matériel IaaS.
Un autre problème lié à l'exécution d'un grand nombre de
Dans la figure 1, nous incluons une vue d'ensemble de l'architecture
configurations d'expériences est de conserver un journal d'audit des
de l'outil. Le DSL orienté utilisateur est implémenté à l'aide de XText.
expériences qui ont été exécutées, sur quel type de matériel et quelles
L'outil contient cinq composants principaux, qui seront décrits dans les
métriques correspondent à un lot d'expériences spécifique. De plus, un
sections suivantes.
grand nombre de configurations expérimentales génèrent un grand
1) Interprète DSL : Les composants de l'interpréteur DSL se chargent
nombre de fichiers de résultats. Lors de l'exécution de la même
le DSL spécifié par l'utilisateur et vérifie la cohérence des entrées
expérience avec plusieurs outils, l'étape de traitement des données doit
utilisateur. L'utilisateur est averti si l'un des fichiers de configuration
aligner les sorties de l'outil pour s'assurer que les fichiers de résultats
spécifiés ou leurs dépendances n'ont pas pu être trouvés aux
sont dans le même format et que les valeurs correctes sont comparées.
emplacements spécifiés.
2) Générateur de tâches : Le composant générateur de tâches crée
C. Objectifs de conception
instances de tâche pour chaque tâche configurée par l'utilisateur dans le DSL.
Dans cette section, nous décrivons les objectifs de conception de Chaque tâche est associée à l'implémentation de l'outil correspondant, en fonction
l'échelle MDEO DSL. Notre DSL vise à satisfaire les exigences des entrées de l'utilisateur.
suivantes : 3) Planificateur de tâches : Le composant du planificateur de tâches se charge

1) Offrir un DSL basé sur du texte pour spécifier les expériences les tâches générées et les envoie au fournisseur d'infrastructure
SBME ; pour exécution. Ce composant fournit également des informations
2) Nécessite une configuration et une installation minimales de l'utilisateur ; d'état pour les tâches qui ont été planifiées.
3) Fournir un cadre extensible qui facilite l'ajout de nouveaux outils et 4) Fournisseur d'infrastructure : Ce composant implémente
un support matériel supplémentaire pour l'exécution l'API du fournisseur IaaS. Il fournit une interface pour envoyer les tâches
d'expériences automatisées ; configurées à la file d'attente d'exécution des tâches.
4) Proposer une interface commune pour collecter les métriques 5) Analyseur de résultats : Le composant analyseur de résultats est
d'expérimentation à partir des outils SBME ; utilisé dans l'échelle MDEO pour calculer automatiquement les statistiques
5) Offrir un support pour interpréter automatiquement les métriques récapitulatives et les métriques communes pour les expériences configurées.
d'expérience à l'aide de métriques statistiques courantes. L'évaluation de la qualité de la solution pour les op-

191
attendra jusqu'à ce que le type de ressources de calcul requis soit
disponible.
Dans la version actuelle du DSL, les utilisateurs configurent le
Environnement de calcul en utilisant le environnement mot-clé dans le
Infrastructure bloc de la DSL. Les serveurs traitant les tâches
interagissent avec le système de stockage S3 pour récupérer les
artefacts requis pour letâche et de publier les résultats de sortie.
Les résultats de sortie sont traités par leTâches programmé par le
Analyseur de résultats composant.

F. Interface de collecte de données

Dans cette section, nous présentons l'interface de collecte de


données utilisée par MDEO Scale lors de l'exécution d'expériences avec
Fig. 2. Présentation de l'infrastructure AWS Batch.
les outils SBME. La version actuelle de MDEO Scale se concentre sur
l'exécution d'expériences SBME avec les deux outils introduits dans Sect.
les problèmes de timisation sont simples. Cependant, pour les problèmes II. MDEO et MOMoT sont tous deux implémentés à l'aide du
multi-objectifs, l'évaluation de la qualité de la solution n'est pas un problème MOEAFramework, qui fournit une interface pour collecter des métriques
trivial et un certain nombre d'indicateurs de qualité de la solution ont été à des fins d'analyse. Nous avons utilisé cette interface et le format de
proposés pour simplifier cette tâche [11]. données proposé dans notre composante d'analyse des résultats.
L'échelle MDEO détermine automatiquement si un problème résolu L'interface de collecte de données dans MOEAFramework est décrite
dans une expérience a un ou plusieurs objectifs. Selon le nombre dans le org.moeaframework.analysis.collector 4
d'objectifs, les statistiques récapitulatives incluses dans le tableau I sont paquet. Pour assurer la compatibilité avec l'analyseur de résultats
calculées pour chaque instance de modèle de problème spécifiée. Les dans MDEO Scale, des outils supplémentaires pris en charge
statistiques calculées ont été mises en œuvre sur la base des exigences doivent générer des résultats d'expérimentation dans le format
d'évaluation des performances des problèmes de recherche à objectif spécifié par l'interface de collecte de données implémentée dans
unique et multi-objectifs de l'auteur [3]–[5]. Le cadre d'évaluation des MOEAFramework.
résultats peut être étendu pour ajouter un support supplémentaire
V. JeMISE EN OEUVRE
pour des indicateurs de qualité supplémentaires et des calculs
Dans cette section, nous donnons un aperçu du DSL implémenté
d'évaluation statistique. Pour les problèmes à objectif unique, les
dans notre outil, suivi de détails sur l'implémentation et la pile
résumés des résultats sont calculés en utilisant la valeur de l'objectif.
technologique utilisée pour l'implémentation. Nous commençons par
Pour les problèmes multi-objectifs, l'outil utilise l'indicateur de qualité
décrire le DSL à l'aide d'un exemple d'étude de cas. Nous donnons
hypervolume [12].
ensuite un aperçu de la structure de l'outil et des points d'extension qui
Pour chaque modèle d'instance de problème, l'outil effectue également
peuvent être utilisés pour implémenter la prise en charge d'outils SBME
des tests de signification statistique à l'aide du test U de Mann-Whiney [13] et
et de fournisseurs d'infrastructure supplémentaires. L'implémentation
calcule la taille d'effet d de Cohen [14]. L'outil génère une tâche d'analyse des
décrite dans cette section peut être trouvée sur Github5.
résultats pour chaque expérience définie par l'utilisateur dans le DSL. Pour
garantir que les métriques collectées sont disponibles avant le début de A. DSL
l'analyse des résultats, les tâches d'analyse des résultats dépendent de la
Dans la figure 3, nous incluons un exemple de spécification pour l'étude de
réussite des principales tâches d'expérimentation.
cas Class Responsibility Assignment [10] (CRA) qui montre comment utiliser
notre DSL pour configurer un flux de travail d'expérimentation qui exécute
E. Infrastructures
MDEO et MOMoT pour les deux premiers modèles d'entrée de l'étude de cas.
Dans cette section, nous décrivons comment MDEO Scale déploie les
tâches SBME configurées sur l'infrastructure AWS. Nous montrons Une spécification d'échelle MDEOptimiser comporte deux sections
comment l'outil utilise des services supplémentaires offerts par AWS obligatoires qui doivent être spécifiées par les utilisateurs. La première
pour stocker les métriques et expérimenter les artefacts nécessaires aux section, définie par leInfrastructure Le mot-clé définit les détails de la
tâches orchestrées. configuration IaaS. Les détails de configuration obligatoires sont le type
le Fournisseur d'infrastructures Le composant décrit dans la section de fournisseur d'infrastructure (actuellement, seul AWS est pris en
précédente offre une interface vers l'infrastructure IaaS fournie par AWS charge), le nom du compte qui est configuré sur la machine exécutant le
Batch. Dans la figure 2, nous incluons une vue d'ensemble de haut DSL et un modèle d'environnement de calcul6, qui définit les types de
niveau de l'architecture AWS Batch. Le service repose sur une file ressources de calcul, qui seront utilisées par l'outil pour orchestrer les
d'attente de messagerie, qui accepte les demandes de travail qui tâches d'expérimentation.
doivent être exécutées. La file d'attente est connectée à un
4http://moeaframework.org/javadoc/org/moeaframework/analysis/collector/
Environnement de calcul qui définit le type de ressources de calcul
package-summary.html
pouvant être utilisées pour traiter les tâches en file d'attente. Selon le 5https://github.com/mde-optimiser/scale

type de ressources de calcul configurées, le planificateur AWS Batch 6https://docs.aws.amazon.com/cli/latest/reference/batch/

peut exécuter les tâches soumises immédiatement, ou il create-compute-environment.html

192
Fig. 4. Mode autonome de MDEOptimiser Scale. Cette figure montre le menu d'aide imprimé
affiché lors de l'exécution de l'outil à partir de la ligne de commande.

deux outils décrits dans la section II.


Une spécification complète doit être écrite dans un fichier avec le
sc extension. Le défini par l'utilisateursc Les fichiers peuvent être exécutés à
l'aide de l'outil en tant que plug-in Eclipse, depuis l'IDE Eclipse ou en utilisant
le mode autonome à partir de la ligne de commande. Dans la figure 4, nous
incluons les instructions autonomes de l'outil. Cette fonctionnalité est utile
lors de l'exécution de MDEO Scale en dehors d'Eclipse IDE.

B. Extensibilité
Dans cette section, nous décrivons comment l'échelle MDEO peut être étendue pour

prendre en charge des outils supplémentaires.

Pour mettre en œuvre des outils supplémentaires, les utilisateurs doivent mettre en œuvre le

IScaleTâche interface et enregistrez la classe d'extension dans le


TaskFactory. Les outils sont instanciés par le Usine de tâches
en utilisant l'extension du fichier de spécification SBME spécifié par
le Cours mot-clé dans le DSL. Pour chaque tâche configurée par
l'utilisateur dans le DSL, une nouvelle classe d'instance d'outil est
créée avec les paramètres fournis par l'utilisateur.IScaleTâche les
implémentations de nouvelles tâches doivent fournir un conteneur
Docker avec une instance configurée du nouvel outil à l'aide du
service wrapper d'exécution d'outil MDEO Scale implémenté dans le
Fig. 3. Exemple MDEOptimiser Scale DSL montrant une expérience configurée pour OutilExécuteur classer. Le service d'encapsuleur d'outil garantit que le
l'étude de cas CRA avec deux modèles d'entrée. Chaque modèle d'entrée est évalué conteneur Docker configuré pour chaque outil peut interpréter les
avec MDEO et MoMOT.
messages de spécification de tâche DSL reçus de la file d'attente AWS
Batch. Le conteneur doit être publié sur le Docker Hub. Les images de
conteneurs stockées dans des référentiels privés ne sont actuellement
La section suivante est définie par le expérience mot-clé. Ce bloc
pas prises en charge.
est utilisé pour définir le flux de travail de l'expérimentation,
La version actuelle de l'outil repose largement sur le service AWS Batch.
organisé par l'étude de cas évaluée et les modèles d'entrée qui
L'outil peut être étendu pour prendre en charge des fournisseurs IaaS
doivent être évalués. leexpérience Le mot-clé nécessite la
supplémentaires en implémentant des fournisseurs supplémentaires dans le
spécification d'un paramètre de nom. Cette valeur sera utilisée
composant d'approvisionnement d'infrastructure.
comme identifiant unique pour l'expérience, et l'outil utilise cette
valeur pour marquer les composants sous-jacents. VI. EXEMPLE RONU
Pour chaque expérience, la DSL permet aux utilisateurs de spécifier un Dans cette section, nous décrivons une exécution démonstrative de
ensemble de paramètres qui sont appliqués à toutes les tâches enfants. Les l'échelle MDEO en utilisant la configuration DSL décrite en 3. Cet
deux paramètres pris en charge sontlots, pour définir le nombre de exemple d'exécution utilise l'étude de cas introduite en III spécifiée en
tâche répétitions, et le artefacts paramètre pour indiquer l'emplacement utilisant MDEO et MoMOT. L'étude de cas se compose de cinq modèles
du disque qui contient tous les artefacts d'étude de cas utilisés par les d'entrée, cependant, en raison des limitations d'espace, pour cette
spécifications de tâche chargées par le Cours mot-clé. démonstration, seuls les modèles d'entrée A et B seront utilisés. Une
Chaque expérience nécessite qu'au moins un modèle d'entrée évaluation complète de cette étude de cas utilisant les deux outils
soit spécifié à l'aide de la maquette mot-clé. De même au utilisés dans cette configuration peut être trouvée dans [4].
expérience mot-clé, maquette exige également que l'utilisateur En exécutant l'outil à l'aide de la spécification de la figure 3,
spécifie un nom pour le modèle en cours d'évaluation. MDEO Scale génère 120 tâches AWS Batch pour les tâches
A l'intérieur de chaque maquette bloc, le DSL nécessite au moins un spécifiées. Une tâche individuelle est générée pour chaque
tâche à préciser. UNEtâche définit une configuration unique pour exécution par lots des tâches configurées. Suite à la planification
un outil SBME, qui peut être utilisé pour évaluer une configuration des messages de tâches dans la file d'attente, AWS Batch Scheduler
spécifique pour le modèle d'entrée de l'étude de cas, pour lequel il détermine et initialise automatiquement le nombre optimal de
a été spécifié. Actuellement, le DSL ne prend en charge que le serveurs à initialiser pour le traitement des tâches

193
de la file d'attente. Le traitement peut commencer immédiatement les utilisateurs doivent encore résoudre le problème de la capture des données

ou avec un délai, selon la configuration spécifiée à l'aide de la d'expérience et de leur interprétation.

Infrastructure bloquer dans le DSL. Une fois les serveurs de traitement


disponibles, le traitement des travaux commence en parallèle, jusqu'à B. Traitement par lots
ce que la file d'attente soit vidée. À la fin de chaque lot, les fichiers de
Les outils de traitement par lots sont des applications capables de traiter
résultats générés sont enregistrés et téléchargés sur AWS S3 pour être
des tâches à forte intensité de calcul de manière séquentielle ou parallèle, sur
traités par l'analyseur de résultats.
un seul serveur ou sur un cluster de serveurs.
L'analyseur de résultats est exécuté une fois que toutes les tâches de file
Apache Mesos est un framework de planification de tâches distribué
d'attente AWS Batch ont été traitées avec succès et que les artefacts de
qui permet aux tâches d'être exécutées sur un cluster de serveurs [20].
résultats sont disponibles pour le traitement dans AWS S3. Les fichiers de
L'objectif de Mesos est d'offrir une bonne utilisation des ressources,
résultats générés pour chaque tâche traitée sont chargés par l'outil à partir
tout en s'adaptant à des milliers de nœuds dans un cluster de serveurs,
d'AWS S3 et les fichiers générés sont traités pour calculer les métriques
tout en prenant en charge un grand nombre de tâches à planifier et à
décrites dans le tableau I. Pour chaquemaquette l'analyseur de résultats
exécuter. Les tâches sont isolées à l'aide de technologies de conteneurs,
génère un graphique montrant l'évolution de la valeur de l'objectif pour les
telles que Docker ou une implémentation de conteneurisation intégrée.
problèmes à objectif unique et de l'hypervolume pour les problèmes à
Un autre cadre d'ordonnancement des tâches est Bistro [21]. Bistro est un
objectifs multiples.
planificateur de tâches distribué, qui exécute des tâches gourmandes en
VII. RTRAVAIL ÉLEVÉ données sur des systèmes de production en direct qui ont une capacité de
calcul inutilisée. L'objectif de ce planificateur est de traiter les données au
Récemment, un certain nombre d'outils ont été développés dans
moment de l'exécution, sans avoir à créer une sauvegarde immuable. L'outil
le but d'aider les chercheurs à configurer et à exécuter des
utilise un algorithme de planification des tâches pour attribuer des tâches aux
expériences, d'une manière qui détourne l'attention de la création
travailleurs et peut traiter les tâches sans affecter les performances des
de logiciels d'orchestration et rend le processus reproductible.
applications en direct destinées aux clients.
[15]. Alors que la plupart de ces systèmes sont destinés à des domaines
à forte intensité de données, tels que les sciences de la vie et Luigi est un orchestrateur de pipelines de tâches par lots implémenté à

l'astronomie, à notre connaissance, aucun outil de ce type ne prend en l'aide de Python [22]. L'outil offre des fonctionnalités permettant de visualiser

charge les outils SMBE. l'état des travaux par lots en cours d'exécution, de gérer les échecs et de
gérer les flux de travail. Les tâches sont exécutées à l'aide d'un planificateur,
A. Déploiement Cloud qui peut être local, pour les tâches exécutées localement, ou central pour les
L'Open Cloud Computing Interface (OCCI) est une spécification tâches réparties sur un certain nombre de travailleurs exécutant des tâches.
qui propose un standard commun pour interagir avec les Cet outil n'est pas aussi complexe que Mesos ou Bistro, cependant, c'est un
ressources de calcul offertes par les fournisseurs IaaS, PaaS [16]. bon exemple d'outil de planification de tâches simple qui peut être utilisé
L'OCCI a été proposé par leForum de grille ouverte et consiste en pour gérer des flux de travail simples.
une spécification d'API qui cherche à normaliser la façon dont les Notre DSL peut être étendu pour prendre en charge en tant que
utilisateurs interagissent avec les API fournies par différents technologies de traitement par lots l'un des outils présentés dans
fournisseurs XaaS. Une autre norme de spécification est la cette section. L'inconvénient lié à l'utilisation de Mesos ou Bistro
spécification de topologie et d'orchestration pour les applications comme backend est qu'il y a une surcharge initiale requise pour
cloud (TOSCA) [17]. configurer ces outils afin qu'ils puissent être utilisés. Cette option
Dans [18] Erbel et al. proposer une approche qui peut planifier des est viable lorsqu'un cluster de serveurs existant est disponible, qui
architectures de flux de travail à exécuter sur une infrastructure cloud à l'aide n'a pas de structure d'orchestration de ressources déployée. Notre
d'OCCI. Cette approche vise à s'exécuter sur des clouds compatibles OCCI et à approche utilise du matériel IaaS, fourni par AWS et élimine la
maximiser l'utilisation des ressources pour les nœuds de calcul provisionnés, nécessité de posséder et de maintenir un cluster.
en exécutant une simulation pour évaluer les métriques de performance
avant qu'un déploiement ne soit effectué. C. Workflows d'expérimentation
Une approche similaire pour reproduire des workflows scientifiques
Les systèmes de flux de travail d'expérimentation sont des outils de calcul qui
sur le cloud, en utilisant TOSCA, est proposée dans Qasha et al. dans
permettent aux chercheurs qui effectuent des expériences gourmandes en données
[19]. Les auteurs proposent un framework qui vise à utiliser Github et
de se concentrer sur leur travail au lieu de créer des pipelines de traitement de
DockerHub7 en tant que référentiels pour stocker les flux de travail et les
données. Ces outils sont axés sur des domaines de recherche à forte intensité de
tâches. Ce framework utilise Cloudify8 en tant que moteur de flux de
données tels que la bioinformatique, la chimie ou la physique. Une liste organisée
travail conforme TOSCA.
des systèmes de flux de travail existants peut être consultée dans [23].
Notre approche est similaire aux deux cadres décrits dans cette
Common Workflow Language (CWL) est une norme de spécification de
section. La principale différence est que MDEOptimiser Scale s'adresse à
workflow [24]. CWL peut être utilisé pour créer des workflows d'analyse
la communauté SBME et offre un certain nombre d'outils
portables. Les workflows basés sur CWL se composent d'outils de ligne de
supplémentaires, tels que la collecte de métriques et la génération de
commande orchestrés, qui peuvent s'exécuter sur des plates-formes qui
résumés de résultats. En utilisant l'un des deux frameworks ci-dessus,
implémentent la norme. Un autre flux de travail de pipeline de calcul DSL est
7https://www.docker.com/products/docker-hub Nextflow [25]. L'outil permet aux utilisateurs d'utiliser des langages de script
8https://cloudify.co/
exécutables Linux pour définir des processus qui peuvent

194
être orchestré pour former un pipeline. Netflow prend en charge par [4] S. John, A. Burdusel, R. Bill, D. Struber, G. Taentzer, S. Zschaler et
M. Wimmer, « Recherche de modèles optimaux : comparaison de deux
défaut Google Computing Cloud et Amazon Web Services.
approches d'encodage », dans Théorie et pratique de la transformation de
Le DSL que nous avons présenté dans cet article peut être étendu pour modèle : 12e conférence internationale, acceptée, ICMT '19, 2019.
générer des instances de workflow CWL ou NextFlow. Cela nous permettra [5] A. Burdusel, S. Zschaler et S. John, « Génération automatique d'opérateurs de recherche
préservant la cohérence atomique pour l'ingénierie des modèles basés sur la
d'étendre le nombre de plates-formes de déploiement prises en charge tout
recherche », dans IEEE / ACM 22e conférence internationale sur les langages et
en nous concentrant sur les besoins des praticiens SBME qui utilisent notre systèmes d'ingénierie pilotés par les modèles, MODÈLES, 2019.
DSL et en utilisant un moteur de flux de travail plus mature comme backend [6] A. Arcuri et L. Briand, « A hitchhiker's guide to statistics tests for
evaluation randomised algorithms in software engineering », Tests,
pour la gestion de notre architecture de flux de travail.
vérification et fiabilité des logiciels, vol. 24, non. 3, p. 219-250, 2014.
[7] P. Fazenda, J. McDermott et U.-M. O'Reilly, « A library to run evolutionary
VIII. CINCLUSION ET FAVENIR WORK algorithms in the cloud using mapreduce », dansConférence
européenne sur les applications du calcul évolutif, p. 416–
Dans cet article, nous avons présenté un prototype du MDEO Scale 425, 2012.
[8] M. Harman, SA Mansouri et Y. Zhang, « Ingénierie logicielle basée sur la
DSL, un outil qui permet aux chercheurs exécutant des expériences à
recherche : tendances, techniques et applications », Calcul ACM. Surv.,
l'aide des outils SBME de créer facilement un flux de travail d'expérience vol. 45, non. 1, pages 11 : 1-11 : 61, 2012.
pouvant être exécuté sur du matériel IaaS. L'outil offre une approche [9] R. Bill, M. Fleck, J. Troya, T. Mayerhofer et M. Wimmer, « A local and global
tour on MOMoT », Modélisation de logiciels et de systèmes, p. 1-30,
accessible pour partager les flux de travail des expériences SBME, afin
2017.
de faciliter la publication d'artefacts de recherche reproductibles. Nous [10] M. Fleck, J. Troya et M. Wimmer, « The class responsa- bilité assignation
avons décrit nos motivations pour construire l'outil et donné un aperçu case », dans Actes du 9e concours d'outils de transformation
(A. Garcia-Dominguez, F. Krikava et LM Rose, éd.), vol. 1758, p. 1-8,
de l'architecture et de l'approche utilisée pour orchestrer les
CEUR, 2016.
expérimentations sur le matériel Iaas. [11] M. Li et X. Yao, « Evaluation de la qualité des ensembles de solutions en optimisation
L'outil présenté dans cet article est un prototype aux multiobjectif : une enquête », Enquêtes informatiques ACM (CSUR), vol. 52, non. 2, p.
26, 2019.
premiers stades de développement. À l'avenir, nous prévoyons
[12] E. Zitzler, D. Brockhoff et L. Thiele, « L'indicateur d'hypervolume revisité :
d'étendre l'outil dans un certain nombre de directions. Voici sur la conception d'indicateurs conformes à Pareto via une intégration
une liste d'idées en cours d'évaluation : pondérée », dans Optimisation multicritère évolutive, p. 862-876,
2007.
• Étendre la prise en charge de plusieurs fournisseurs IaaS ; [13] HB Mann et DR Whitney, « Sur un test pour savoir si l'une des deux
• Améliorer l'extensibilité du DSL en permettant aux utilisateurs d'ajouter la variables aléatoires est stochastiquement plus grande que l'autre »,
Anne. Math. Statist.,vol. 18, p. 50-60, 03 1947.
prise en charge d'outils supplémentaires en spécifiant simplement dans le
[14] J. Cohen, « Analyse de puissance statistique pour la science du comportement. (2e) »,
DSL une classe implémentant une interface pour prendre en charge des New Jersey : Laurence Erlbaum Associates, Publishers, Hillsdale, 1988.
outils supplémentaires ; [15] J. Liu, E. Pacitti, P. Valduriez et M. Mattoso, « A survey of data-intensive
scientific workflow management », Journal de l'informatique en grille,
• Autoriser les utilisateurs à spécifier des métriques personnalisées qui peuvent être
vol. 13, p. 457-493, décembre 2015.
calculées sur les métriques générées ; [16] A. Edmonds, T. Metsch, A. Papaspyrou et A. Richardson, « Toward an
• Offrir la possibilité de charger facilement des études de cas à partir open cloud standard », Informatique Internet IEEE, vol. 16, non. 4, p. 15–
25, 2012.
d'un pool pris en charge par l'outil pour faciliter l'évaluation des idées
[17] « Spécification de topologie et d'orchestration OASIS pour les applications
de recherche SBME ; cloud ». https://www.oasis-open.org/committees/tc home.php?wg
• Évaluer les menaces de reproductibilité des expériences et les abbrev=tosca. Consulté le : 2019-07-04.
[18] J. Erbel, F. Korte et J. Grabowski, « Scheduling architectures for scientific
stratégies d'atténuation lors de l'utilisation de matériel cloud ;
workflows in the cloud », dans Analyse et modélisation du système.
• Étendre le DSL pour prendre en charge l'exécution des outils et Langages, méthodes et outils pour l'ingénierie des systèmes,p. 20-28,
des problèmes du domaine plus large de SBSE ; 2018.
[19] R. Qasha, J. Cała et P. Watson, « A framework for scientific workflow
• Étendez la fonctionnalité d'instrumentation de l'algorithme
reproductibility in the cloud », dans 2016 IEEE 12th International
pour simplifier l'intégration avec des cadres d'optimisation Conference on e-Science (e-Science), p. 81-90, IEEE, 2016.
autres que MOEAFramework. [20] B. Hindman, A. Konwinski, M. Zaharia, A. Ghodsi, AD Joseph, RH Katz, S.
Shenker et I. Stoica, « Mesos : A platform for fine-grained resources
sharing in the data center. ," dans NSDI, vol. 11, p. 22-22, 2011.
UNERECONNAISSANCE [21] A. Goder, A. Spiridonov et Y. Wang, « Bistro : Scheduling data-parallel jobs
against live production systems », dans Conférence technique annuelle
Ce travail a été soutenu par le Conseil de recherche en {USENIX} 2015 ({USENIX}{ATC} 15), p. 459-471, 2015.
génie et en sciences physiques numéro d'octroi 1805606. [22] "Luigi". https://github.com/spotify/luigi. Consulté le : 2019-07-04.
[23] « Systèmes de flux de travail pour l'analyse de données informatiques ». https://
s.apache.org/existing-workflow-systems. Consulté le : 2019-07-04.
RÉFÉRENCES
[24] P. Amstutz, MR Crusoe, N. Tijanić, B. Chapman, J. Chilton, M. Heuer,
A. Kartashov, D. Leehr, H. Ménager, M. Nedeljkovich, M. Scales,
[1] I. Boussa¨ı̈d, P. Siarry et M. Ahmed-Nacer, « A survey on search-based
S. Soiland-Reyes et L. Stojanovic, « Common Workflow Language, v1.0 »,
model-driven engineering », Génie logiciel automatisé, vol. 24, non. 2, p.
7 2016.
233-294, 2017.
[25] « NextFlow a dsl pour un pipeline de calcul parallèle et évolutif. » https : //
[2] D. Efstathiou, JR Williams et S. Zschaler, « Crêpe complète : optimisation multi-
www.nextflow.io/. Consulté le : 2019-07-04.
objectifs pour vos modèles », dans Proc. 1er atelier international sur la
combinaison de la modélisation avec des approches basées sur la recherche
et l'exemple (CMSEBA'14),2014.
[3] J. Murphy, A. Burdusel, L. Michael, S. Zschaler et E. Black, « Deriving
persuasion strategies using search-based model engineering », dans
Modèles informatiques d'argumentation : Actes de COMMA 2018, vol.
305, p. 221-232, IOS Press, 2018.

195

Vous aimerez peut-être aussi