Coder Social home page Coder Social logo

acdc_mini_projet_v2's Introduction

Simulation à base de réseau de pétri pour le Cloud Computing

Consignes

Phase 1 - Dans la première phase nous vous demandons d’implémenter les fonctionnalités demandées, sans interface graphique, c’est-à-dire :

  • définir le fichier d’entrée qui permet de décrire les services, leur réseau de pétri interne et les relations entre les services
  • un parseur de ce fichier d’entrée
  • concevoir les fonctions d’exécution du système en suivant les règles évoquées plus haut

Phase 2 - Juste avant la deuxième phase vous allez interchanger vos codes. Le deuxième phase consiste à implémenter une interface graphique qui permet :

  1. de concevoir une application comme celle présentée sur la Figure 1, et écrire le fichier correspondant

  2. le simulateur graphique du déploiement de l’application créée. C’est pour implémenter le simulateur que le temps d’exécution associé aux transitions est utile. Il faut que l’interface graphique montre en temps réel et dynamiquement le déroulement du dé- ploiement en suivant les règles évoquées plus haut, donc en utilisant les fonctionnalités codées dans la phase 1. Chacun d’entre vous va utiliser le code de la phase 1 d’un autre pour implémenter la phase 2, donc bien évidemment il faut faire en sorte de donner un code propre, bien structuré et bien commenté à votre camarade de classe.

Indications

  • Sélectionner le fichier d'entrée dans l'explorateur
  • Cliquer sur "Lancer" pour lancer la simulation
  • les états en vert sont les états validés
  • le texte en noir, à droite des transitions correspond au nom de l'état ou de la transition
  • le texte en rouge à droite de certaines transitions correspond à sa dépendance

Outils

IDE : Netbeans 8.2

YAML Parser : yamlbeans

Gestion des Dépendances : Maven

Affichage des graphes : GraphStream

Documentation

La javadoc du projet est accessible ici

Exemple de fichier d'entrée

services :
    - &s1
      nom : service 1
      etats :
          - &s1e1
            nom : s1e1
            token : 0
          - &s1e2
            nom : s1e2
            token : 1
          - &s1e3
            nom : s1e3
            token : 0
          - &s1e4
            nom : s1e4
            token : 0
          - &s1e5
            nom : s1e5
            token : 0
      transitions :
          - &s1t1
            nom : s1t1
            duree : 4000
            parents :
                  - *s1e1
            enfants :
                  - *s1e2
          - &s1t2
            nom : s1t2
            duree : 3000
            parents :
                  - *s1e2
            enfants :
                  - *s1e3
          - &s1t3
            nom : s1t3
            duree : 1500
            parents : 
                  - *s1e2
            enfants:
                  - *s1e4
          - &s1t4
            nom : s1t4
            duree : 4000
            parents : 
                  - *s1e3
                  - *s1e4
            enfants :
                  - *s1e5
    - &s2
      nom : service 2
      etats :
          - &s2e1
            nom : s2e1
            token : 1
          - &s2e2
            nom : s2e2
            token : 0
          - &s2e3
            nom : s2e3
            token : 0
          - &s2e4
            nom : s2e4
            token : 0
          - &s2e5
            nom : s2e5
            token : 0
      transitions :
          - &s2t1 
            nom : s2t1
            duree : 4000
            parents :
                - *s2e1
            enfants :
                - *s2e2
          - &s2t2 
            duree : 4000
            nom : s2t2
            parents :
                - *s2e2
            enfants :
                - *s2e3
          - &s2t3 
            duree : 4000
            nom : s2t3
            parents : 
                - *s2e2 
            enfants :
                - *s2e4
          - &s2t4 
            duree : 4000
            nom : s2t4
            parents :
                - *s2e4
            enfants :
                - *s2e5
    - &s3
      nom : service 3
      etats :
          - &s3e1
            nom : s3e1
            token : 1
          - &s3e2
            nom : s3e2
            token : 0
          - &s3e3
            nom : s3e3
            token : 0
          - &s3e4
            nom : s3e4
            token : 0
          - &s3e5
            nom : s3e5
            token : 0
          - &s3e6
            nom : s3e6
            token : 0    
      transitions :
          - &s3t1 
            nom : s3t1
            duree : 4000
            parents :
                - *s3e1
            enfants :
                - *s3e2
          - &s3t2 
            nom : s3t2
            duree : 4000
            parents :
                - *s3e2
            enfants :
                - *s3e3
          - &s3t3 
            nom : s3t3
            duree : 4000
            parents :
                - *s3e2
            enfants :
                - *s3e4
          - &s3t4
            nom : s3t4
            duree : 4000
            parents :
                - *s3e2
            enfants :
                - *s3e5
          - &s3t5 
            nom : s3t5
            duree : 4000
            parents :
                - *s3e4
                - *s3e5
            enfants :
                - *s3e6
dependancesExternes :
    - pere : *s1e4
      fils : *s2t2
    - pere : *s2e4
      fils : *s3t1
    - pere : *s2e5
      fils : *s3t5

acdc_mini_projet_v2's People

Contributors

elioy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.