• Aucun résultat trouvé

Quelle que soit la signification donnée au mot simulation, quelle que soit la conception qu'on a de la simulation, quel que soit l'usage qu'on en fait, il est toujours nécessaire de construire un modèle de la réalité qu'on pourra ainsi simuler. II va donc se poser le problème de la programmation du modèle pour un calculateur donné.

3.3.1. DEFINITION

On entend par outils de simulation les constituants d'un système, appelé généralement système de simulation, qui fournit les moyens de mettre en œuvre, d’animer et d'observer les modèles, de la même façon que le système d’exploitation d'un ordinateur fournit les moyens de mettre en œuvre et d’exécuter les programmes [Belattar 2000].

Les caractéristiques de bases que doit vérifier un bon outil de simulation et qui déterminent sa qualité, sont en générale : la modularité, l’extensibilité, l’ergonomie, la Cohérence de modélisation et autre exigences tels que la disposition d’un éditeur graphique….etc.

Le principal constituant d’un système de simulation est le langage de simulation, qui permet de décrire le modèle et les stimuli à lui appliquer au cours du déroulement de la simulation. Plus de centaines logicielles de simulation sont disponibles sur le marché. Nous pouvons classifier à deux catégories : l’une basée sur la spécialisation du logiciel et l’autre basée sur l’approche de modélisation.

3.3.2. CLASSIFICATION DES LANGAGES EN FONCTION DE LA SPECIALISATION

Nous pouvons classer les langages de cette catégorie en quatre familles : les langages universels ou évolués, les langages généraux de simulation, les langages spécialisés de simulation et les langages dédiés.

a. Les langages universels ou évolués

Sont des langages de programmation répandus tels que VB, FORTRAN, PASCAL, C, ADA, C++, JAVA... Ils ont l’avantage de permettre une simulation précise et fiable de tout type de système, quel que soit son niveau de complexité. Cependant, ils nécessitent des compétences poussées et affirmées en simulation, en informatique et en génie industriel. Ils présentent l’inconvénient du temps de développement et par conséquent du coût de réalisation. Les modèles sont dédiés et généralement inexploitables dans des extensions futures.

Chapitre2 : la conception coopérante d’un système de production

38

b. Les langages généraux de simulation

Sont des langages enrichis par des primitives dédiées à la simulation en général, comme les générateurs de nombres aléatoires, les processeurs de base pour la programmation de certaines entités. Ils ont ainsi l’avantage de présenter une couche de base permettant de développer d’autres primitives pour la réalisation de modèles de simulation dédiés. Nous pouvons citer, entre autres, SIM++ et MODSIM II [Habchi 2001].

Les langages spécialisés de simulation

Présentent un compromis entre la rapidité de développement du modèle et la rigidité liée aux concepts utilisés. La modélisation se fait à l’aide d’éléments symboliques. Les modèles résultants sont de type réseau (SLAM), des blocs représentatifs de processus (ARENA, GPSS,WITNESS, SIMNET II), ou des diagrammes de cycle d’activités (HOCUS). L’utilisation de ces langages est conseillée quand une évolution du modèle est nécessaire.

c. Les langages dédiés

Sont adaptés aux systèmes ayant des caractéristiques identiques, et sont dédiés à un type de système au fonctionnement bien défini ou à une classe de problèmes. Ces outils très conviviaux sont limités à un usage répétitif dans un domaine restreint. L’avantage principal de ce type d’outil est la facilité d’utilisation, alors que l’inconvénient majeur est la rigidité des modèles. Parmi les langages dédiés, citons à titre d’exemple MAP/1 et SIMFACTORY.

Le tableau 4 propose une comparaison des langages de simulation classés selon la spécialisation, en fonction de différents critères :

Tableau 4: Tableau comparatif des langages de simulation selon la spécialisation [Habchi 2001]. Famille des langages

Universels Généraux Spécialisés Dédiés

Rapidité de modélisation Très faible Faible Bonne Très bonne

Convivialité Très faible Faible Bonne Très bonne

Flexibilité Très bonne bonne Faible Très faible

Fidélité du modèle Très bonne Bonne Fiable Dépend du

système étudié

Niveau de compétence Analyste

classique Analyste orienté simulation Spécialiste simulation Utilisateur occasionnel

Chapitre2 : la conception coopérante d’un système de production

39

3.3.3. CLASSIFICATION DES LANGAGES EN FONCTION DE L’APPROCHE DE

MODELISATION

Selon l’approche de modélisation et la logique de changement d’état, nous distinguons trois types de langages :

1. Les langages orientés processus

Tels que SLAM II et SIMAN ont respectivement les deux environnements graphiques : AweSim et ARENA. Ces langages ont réduit avec succès les frontières de programmation et ont probablement fait que la modélisation en simulation soit accessible à plusieurs utilisateurs non informaticiens. Généralement, les langages orientés processus appartiennent à la catégorie des langages spécialisés présentés précédemment.

2. Les langages pilotés par les données

Représentent une abstraction de haut niveau du système. SIMFACTRY et PROMODEL sont des exemples de langages où le modèle de fond est difficilement modifiable. Ces langages comprennent des objets prédéfinis capables de réaliser une série d’opérations. La modélisation consiste à sélectionner, interconnecter et renseigner ces objets (station, convoyeur...) qui représentent au mieux le système réel. La plupart des langages pilotés par les données, utilisent un calendrier d’événements qui stocke l’état du système à travers les valeurs associées aux attributs.

A. Les langages orientés objets

Les objets physiques et logiques du système réel (produits, ressources, gammes...) sont représentés par des objets informatiques. L’approche objet cherche à combler l’écart qui existe entre un modèle de simulation classique et le système à étudier. Parmi les langages orientés objets, citons SIMULA, CLOS et MODSIM.

4. LA CONCEPTION COOPERANTE D'UN SYSTEME DE PRODUCTION : SIMULATION COOPERANTE

La conception des systèmes de productions complexes fait intervenir de nombreuses personnes avec des compétences et des rôles différents. En effet, dans le domaine de simulation un projet de simulation nécessite souvent la contribution de plusieurs chercheurs issus de différents champs disciplinaires. La réalisation de ce projet nécessite des connaissances larges qui appartiennent à plusieurs domaines [Nguyen 2008]. Si bien que personne ne peut s'acquitter seul de cette tâche.

Chapitre2 : la conception coopérante d’un système de production

40 Dans la simulation, le travail à mener constitue un projet placé sous la responsabilité d'un chef de projet. Dans ce cadre, le chef de projet a le rôle d'animateur. A ce titre, il se porte garant de la cohérence et du bon avancement du projet. Après avoir décomposé l'ensemble à réaliser en un certain nombre de sous-ensembles, il identifie les droits et devoirs qui incombent aux différents participants auxquels il confie l'étude détaillée et la réalisation de chaque phase. Il donne ensuite les contraintes, et suit les travaux tout en arbitrant les éventuels conflits entre participants. Pour finir, il valide les travaux des participants en s'assurant qu'ils sont aptes à réaliser exactement les tâches définies par leurs spécifications. Si tel est le cas, il place les travaux dans un environnement de référence protégé. De ce fait, il assure l'unicité des versions du travail du groupe. Chaque participant peut néanmoins archiver, dans un environnement privé, une version de ses travaux différente de celle retenue par l'animateur [Korichi 2009].

Pour les autres participants de projet chacun d'entre eux possède un certain degré de liberté dans la conception et la réalisation du travail qui lui est confié, mais il doit connaître le contexte de son intervention, c’est-à-dire les liaisons d'interdépendance avec les autres sous-ensembles et avoir une vue générale du système pour situer les tâches des autres concepteurs. L'attribution des rôles reflète l'organisation du groupe dans un contexte de travail particulier.

Hormis le chef de projet qui peut être assimilé à un donneur d’ordres, on peut citer un certain nombre de rôles génériques tels que : exécutant, évaluateur, validateur, consolidateur et conseiller (expert). Dans certaines phases particulières telles que les réunions, on voit aussi émerger des rôles nouveaux comme modérateur, organisateur, etc.

L’interaction, l’échange des idées entre des participants est la clé principale pour le succès d’un projet simulation. Trois conditions sont essentielles à la bonne réalisation d’un projet de simulation : [Nguyen 2008]

– Une communication régulière entre les différents participants. – Des réunions régulières entre les différents participants. – Une cohésion d’équipe

Donc, le succès d’un projet de simulation dépend la fréquence des rencontres entre les membres. Jusqu'à une époque récente, les outils informatiques ne prenaient pas en compte cette dimension de groupe et laissaient au chef de projet le soin de gérer le processus de conception et sa dimension multi-participant hors système informatique [Tarpin-Bernard 1997b].

Chapitre2 : la conception coopérante d’un système de production

41 Les recherches en travail coopératif assisté par ordinateur ont pour but de proposer des collecticiels permettant aux hommes de réaliser une tâche "en commun".

L’objectif de ces collecticiels est de proposer un support d’abolition des dimensions espace et temps, En effet on peut vouloir réunir des personnes distantes géographiquement (bureau à côté, dans une autre ville, pays ou continent) ou ne travaillant pas en même temps (rythmes différents, emplois du temps incompatibles, décalages horaires, etc.). La relation entre les différents participants peut être envisagée sous différents angles. Les collecticiels doivent aussi prendre en compte les aspects organisationnels du travail. Ainsi, les intervenants constituent des groupes de travail qui doivent s’organiser et se situer dans le temps et dans l’espace. Ils sont amenés à définir des rôles, des sous-groupes et des phases de travail.

4.1.LES MODES DE COOPERATION

La conduite d'un projet de simulation peut se faire selon les différents modes de coopération suivants : [Korichi 2009]

1. La coopération asynchrone :

Les différents participants interagissent dans le projet en échangeant les données et en travaillant quand ils le peuvent (à des instants généralement différents : sans co-temporalité).

2. La coopération en session :

Les différents participants travaillent en même temps, mais de façon autonome. Ils sont accessibles pour communiquer (en co-temporalité), mais sans partager de façon visuelle les objets de leurs discussions.

3. La coopération en réunion :

Des participants clairement identifiés travaillent et communiquent en co-temporalité tout en partageant les objets de leurs travaux et discussions. Ils se voient attribuer des rôles en relation avec le but de la réunion. L'organisation de leurs interventions est régie par un mécanisme de type “tour de parole”.

4. La coopération étroite :

Les participants peuvent travailler, communiquer et interagir en temps réel sur tous les objets partagés du projet. Les conséquences de leurs interventions sont directement gérées au niveau des objets manipulés.

Chapitre2 : la conception coopérante d’un système de production

42

Documents relatifs