2019 ACM/IEEE 22e conférence internationale sur les langages et systèmes d'ingé

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 King's College de Londres 30 Aldwych, Londres, WC2B 4BG alexandru.burdusel@kcl.ac.uk Département d'informatique King's College de Londres 30 Aldwych, Londres, WC2B 4BG szschaler@acm.org Abstrait—Exécuter des expériences scientifiques à l'aide de la recherche Les outils d'ingénierie des modèles (SBME) sont une tâche complexe, qui pose un certain nombre de défis, allant de la définition d'un flux de travail d'expérience au réglage des paramètres, en passant par la recherche des ressources de calcul optimales, la collecte et l'interprétation des métriques et la reproductibilité de l'ensemble du processus. Malgré la prolifération de matériel facilement accessible, en raison de la disponibilité accrue des fournisseurs d'infrastructure en tant que service, de nombreux outils SBME utilisent rarement cette technologie pour accélérer l'expérimentation. L'exécution de nombreuses expériences sur une seule 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, ralentissant ainsi l'ensemble du processus. Dans cet article, nous introduisons un langage spécifique au domaine (DSL) et un cadre qui peuvent être utilisés pour configurer et exécuter des expériences à grande échelle, sur une infrastructure cloud, de manière reproductible. Nous décrirons notre architecture DSL et framework ainsi qu'un exemple pour montrer comment une étude de cas peut être évaluée à l'aide de deux outils d'optimisation de modèle différents. Index des termes—ingénierie pilotée par modèle, reproductible recherche, recherche évolutive, ingénierie de modèle basée sur la recherche, workflow, cloud, middleware résultats, les métriques générées par les configurations évaluées doivent être interprétées et traitées. Cette tâche est souvent effectuée à l'aide d'un script de traitement de données et nécessite que les données soient d'abord normalisées afin qu'elles puissent être analysées et évaluées statistiquement. La plupart des outils SBME utilisent leur propre standard pour la fréquence et le format des données collectées au cours des expériences. Cette différence de format de données nécessite que les chercheurs écrivent leurs propres scripts pour traduire entre divers schémas et formats de données, en un schéma et un format communs, afin de traiter les données de l'expérience. Cette étape de traduction rend le processus lourd et sujet aux erreurs. Dans cet article, nous proposons MDEOptimiser Scale (MDEO Scale), un DSL et un framework de distribution de tâches destinés aux outils SMBE. MDEO Scale permet aux utilisateurs de programmer des expériences SBME sur des plateformes IaaS, de paralléliser les configurations d'expériences et de réduire le temps nécessaire à leur exécution. L'outil offre une interface de collecte de données, qui vise à standardiser le format de collecte des données des expériences SBME, et offre un support pour le calcul des métriques d'expérience communes et des statistiques récapitulatives pour les problèmes de recherche à objectif unique et multi-objectif. Dans cet article, nous nous concentrons sur les problèmes SBME, cependant, l'approche que nous décrivons peut être étendue pour prendre en charge l'exécution de toutes les expériences qui évaluent les techniques de recherche. Dans cet article, nous apportons les contributions suivantes : je. jeNTRODUCTION L'ingénierie des modèles basés sur la recherche (SBME) est une méthodologie qui combine des techniques de recherche avec l'ingénierie dirigée par les modèles, pour aider les experts du domaine à trouver des modèles optimaux qui satisfont aux contraintes du métamodèle [1]–[5]. L'un des problèmes rencontrés par les chercheurs SBME est le temps d'exécution long et les ressources de calcul considérables requises par les outils SBME pour trouver de bons résultats. Des expériences de recherche typiques visent à évaluer plusieurs configurations, pour au moins un outil SBME. Chaque configuration se compose d'un ensemble de paramètres, d'études de cas et de modèles d'entrée. De telles approches systématiques génèrent un grand nombre de permutations d'expériences et l'évaluation de telles expériences nécessite souvent de faire fonctionner les outils pendant longtemps. De plus, pour obtenir des résultats statistiquement significatifs, chaque expérience de configuration doit être répétée au moins 30 fois [6]. Cette exigence augmente considérablement le temps et les ressources nécessaires pour mener des expériences SBME. Les chercheurs de la SBME sont confrontés à au moins deux défis techniques : 1. Exécuter des expériences à grande échelle de manière efficace, et 2. Comparer les résultats obtenus par différentes exécutions pour différents algorithmes, outils ou configurations. Pour comparer l'expérience 1) nous proposons un DSL qui permet aux utilisateurs de spécifier des configurations d'expérimentation pour les outils SMBE ; 2) nous décrivons l'architecture d'un framework qui peut exécuter des expérimentations sur du matériel IaaS ; 3) nous proposons un cadre pour capturer et effectuer une analyse commune des données d'expérience. Le reste de cet article est structuré comme suit : Dans la Sect. II nous introduisons le contexte pertinent. La section IV contient les principales contributions, décrivant nos motivations, nos objectifs de conception et l'architecture de nos outils. La section VI décrit la DSL et les détails de mise en œuvre de notre approche et dans la section VII, nous discutons des travaux connexes. II. BRECONNAISSANCE Dans cette section, nous introduisons des concepts et des définitions qui sont pertinents pour la recherche décrite dans cet article. Nous donnons des définitions des termes clés utilisés dans notre DSL, suivies d'une introduction aux concepts IaaS. Nous présentons ensuite brièvement 978-1-7281-5125-0/19/$31,00 ©2019 IEEE DOI 10.1109/MODELS-C.2019.00032 189 SBME, suivi d'un aperçu de deux approches SBME différentes. Deux paradigmes ont été proposés pour résoudre les problèmes de SBME. Dans cette section, nous allons utiliser deux exemples d'implémentation. MDEOptimiser (MDEO) est une approche SBME qui vise à exécuter la recherche directement sur les modèles, en utilisant les modèles eux- mêmes comme représentation des solutions candidates [5]. L'espace de recherche est exploré en appliquant des transformations endogènes aux modèles de solution et en évaluant la qualité des modèles résultants à l'aide d'une requête de modèle exprimée en Java ou en OCL. MOMoT utilise une approche alternative pour spécifier les problèmes SBME [9]. Dans cette approche, les solutions candidates sont codées sous 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 des mutations et des croisements au vecteur de transformations du modèle, puis en réappliquant la chaîne de transformations au modèle d'entrée initial et en évaluant la qualité du modèle de solution obtenu à l'aide d'une requête de modèle d'une manière similaire à MDEO. Les deux outils SBME décrits dans cette section utilisent MOEAFramework 3 pour la mise en œuvre des algorithmes d'optimisation pris en charge. MOEAFramework est une bibliothèque basée sur Java, qui offre un certain nombre d'algorithmes à objectif unique et multi-objectifs ainsi que des fonctionnalités d'instrumentation et d'évaluation de leurs performances. Dans cet article, nous démontrons notre DSL à l'échelle MDEO en utilisant les deux approches SBME présentées dans cette section. A. Infrastructure en tant que service L'infrastructure en tant que service (IaaS) est un concept utilisé pour décrire les services qui offrent aux utilisateurs la possibilité de louer du matériel informatique à la demande, sur Internet. Les services IaaS peuvent évoluer vers le haut et vers le bas, en fonction des besoins des utilisateurs, et les ressources de calcul utilisées 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 également des services supplémentaires tels que la mise à l'échelle automatique, la gestion des analyses ou les pipelines d'apprentissage automatique. Dans cet article, nous utilisons Amazon Web Services1 (AWS) en tant que fournisseur IaaS. Le produit AWS IaaS offrant des ressources de calcul s'appelle EC2. Lorsqu'ils utilisent EC2, les utilisateurs peuvent choisir d'utiliser plusieurs types d'instances, selon le type de location sur le serveur sous-jacent qu'ils préfèrent. Pour la configuration de notre outil, nous utilisons des instances Spot EC2, qui sont des instances de capacité inutilisées de l'inventaire AWS. Les instances EC2 Spot peuvent être louées à un prix réduit jusqu'à 90 %, une réduction de coût significative par rapport à l'exécution d'expériences similaires sur des instances EC2 normales [7]. L'inconvénient de l'utilisation d'instances Spot EC2 est qu'elles peuvent être arrêtées de manière inattendue dans les cas où la capacité de calcul inutilisée à partir de laquelle elles sont générées devient nécessaire pour un autre service IaaS. Lot AWS2 est un service proposé par AWS, qui permet aux utilisateurs de planifier des tâches de traitement par lots à exécuter sur l'infrastructure AWS. Batch, provisionne automatiquement la quantité et le type optimaux de ressources de calcul et les alloue pour l'exécution des tâches Batch soumises par l'utilisateur. Les utilisateurs peuvent interagir avec AWS Batch à l'aide de la AWS Management Console Web ou de l'API REST AWS. III. RUNNING EXEMPLE Dans cette section, nous introduisons un exemple de problème d'optimisation pour montrer comment notre DSL proposé peut être utilisé pour configurer des expériences en utilisant différents outils d'optimisation. Le problème de responsabilité de classe (CRA) est une étude de cas du domaine du génie logiciel [10]. Le but de ce problème est de transformer une uploads/Management/ avec-l-x27-echelle-mdeoptimiser-vers-une-ingenierie-de-modele-basee-sur-la-recherche-evolutive.pdf

  • 30
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 20, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.6545MB