00:00:00
bonjour à tous dans cette nouvelle vidéo
00:00:03
nous allons étudier l'organisation et
00:00:05
larchitecture de systèmes c'est la
00:00:09
diapositive suivantes représentent les
00:00:11
éléments constitutifs de systèmes c'est
00:00:14
comme le pouvons voir sur la figure
00:00:16
système c'est repose sur le langage c++
00:00:19
il est constitué des éléments principaux
00:00:22
de la bibliothèque à savoir les modules
00:00:24
les ports les processus les interfaces
00:00:28
et les canaux nous allons bien entendu
00:00:32
décrire ces différents éléments très
00:00:34
précisément dans d'autres vidéos que
00:00:37
nous l'avons mentionné précédemment
00:00:39
système c présente également des
00:00:41
nouveaux types de données capable de
00:00:44
modéliser les aspects matériels et
00:00:46
logiciels
00:00:47
il s'agit notamment du type logique
00:00:50
multi value et des entier avec des
00:00:52
précisions arbitraires et les types
00:00:54
représentant les nombres codé en virgule
00:00:56
fixe un dernier type et le cheap times
00:01:00
qui permet de prendre en compte le temps
00:01:02
dans la modélisation système les
00:01:05
différents éléments du langage
00:01:07
communiqueront à travers des canaux
00:01:08
élémentaires que l'on décrira là aussi
00:01:11
dans d'autres vidéos
00:01:12
ces canaux sont les signaux les filles
00:01:14
faut ainsi que les mutex et sémaphore
00:01:17
qui permettront d'assurer la
00:01:19
synchronisation en plus des éléments
00:01:22
constitutifs du langage système c'est
00:01:24
repose sur un moteur de simulation
00:01:26
événementiel permettant la simulation de
00:01:29
systèmes complexes
00:01:30
ce moteur permet de gérer les processus
00:01:33
et les événements comme dans un outil de
00:01:36
simulation d'un langage de description
00:01:38
matériel au delà des éléments
00:01:41
constitutifs de systèmes s'est il existe
00:01:44
d'autres bibliothèques particulières qui
00:01:46
sont les bibliothèques
00:01:48
master ce live par exemple ou d'autres
00:01:50
bibliothèques permettant de réaliser la
00:01:53
vérification système par exemple ces
00:01:57
bibliothèques elles sont indépendantes
00:01:58
de systèmes s'est en revanche certaines
00:02:02
bibliothèques sont fournis avec système
00:02:04
c'est comme la bibliothèque mettant en
00:02:06
oeuvre la modélisation transactionnel
00:02:08
tlm ces différentes bibliothèques
00:02:11
spécifique ne seront pas directement
00:02:13
traitées dans le cas de secours du moins
00:02:16
dans un premier temps elles feront
00:02:18
l'objet d'un cours avancés / système
00:02:20
c'est la diapositive suivantes
00:02:24
représentent les différents éléments de
00:02:27
langage
00:02:27
on y retrouve les modules donc ils
00:02:29
contiennent des processus qui seront
00:02:31
utilisés pour représenter le
00:02:34
fonctionnement d'un système
00:02:35
ces modules seront connectés à travers
00:02:37
leurs porcs à des canaux de
00:02:39
communication les règles de
00:02:41
communication dans les canaux seront
00:02:43
définies à travers ce qu'on appelle des
00:02:44
interfaces ici une des propriétés très
00:02:48
intéressant de système c est que la
00:02:50
modélisation des corps elle complètement
00:02:53
les éléments dits structurelles dont qui
00:02:56
représente la structure des systèmes
00:02:57
matériels des éléments de communication
00:03:00
entre ces modules cette propriété tout à
00:03:04
fait compatible avec la notion de
00:03:06
séparation des préoccupations très connu
00:03:08
en informatique et qui vise à segmenter
00:03:11
un problème en plusieurs parties afin
00:03:14
que chacune d'entre elle isole et gère
00:03:17
un aspect spécifique d'une problématique
00:03:19
plus générale l'application du principe
00:03:23
de séparation des préoccupations
00:03:25
simplifie grandement le développement et
00:03:27
la maintenance de programmes logiciels
00:03:31
alors comment récupérer le standard
00:03:34
système c'est en fait la bibliothèque
00:03:36
est disponible en open source sur le
00:03:38
site d'axelera donc à l'adresse suivante
00:03:41
https axelera point org dans l'aude
00:03:44
standard système s'est elle peut être
00:03:47
installée sur différentes plateformes
00:03:49
comme linux mac os windows et peut être
00:03:52
compilés à l'est
00:03:53
de différents compilateur j'ai mentionné
00:03:56
ici le compilateur cygwin mais on trouve
00:04:00
également visual c++ sur les systèmes
00:04:02
d'exploitation windows sur les
00:04:04
plateformes mac os ou linux
00:04:06
nous pouvons utiliser le compilateur
00:04:07
j'ai plus plus inquiets également libres
00:04:09
le téléchargement de système c est
00:04:12
gratuit
00:04:13
et l'installation est relativement aisé
00:04:15
sur toutes les plateformes
00:04:20
le flot de compilation d'un programme
00:04:22
système c est décrit sur la diapositive
00:04:24
suivante les fichiers sources c++ sont
00:04:29
d'abord compilé puis l'édition du lien
00:04:32
est réalisé afin de générer un
00:04:34
exécutable
00:04:35
parmi ces sources on doit trouver au
00:04:37
moins la définition de la fonction
00:04:38
principale qui s'appelle en systèmes
00:04:41
csmn d'autre part la bibliothèque
00:04:45
système c'est doit être fournie dans
00:04:47
l'étape d'édition des liens elle apporte
00:04:49
notamment les éléments suivants à savoir
00:04:52
la fonction mail le simulateur système
00:04:55
c'est événementiel et d'autres objets
00:04:57
comme les types et autres éléments du
00:04:59
langage la diapositive suivantes
00:05:04
représentent la ligne de commande
00:05:05
permettant de compiler un programme
00:05:08
système c'est à l'aide de la du
00:05:10
compilateur j'ai plus plus notons que la
00:05:13
variable d'environnement système c'est
00:05:15
ici elle représente le chemin
00:05:18
d'installation de la bibliothèque
00:05:21
la variable d'environnement arche
00:05:23
spécifie larchitecture sur laquelle nous
00:05:26
allons compilé le programme donc linux
00:05:28
windows
00:05:29
c'est finalement la variable
00:05:34
d'environnement src contient
00:05:36
l'intégralité des fichiers sources que
00:05:38
l'on souhaite compilé à l'issue de cette
00:05:41
commande donc un fichier exécutable sera
00:05:43
donc générer et pourra ensuite être
00:05:45
exécuté sur la plate forme de votre
00:05:47
choix
00:05:52
il est maintenant temps de réaliser
00:05:54
notre premier petit programme écrit en
00:05:56
système c'est ce programme fait
00:05:58
intervenir ici
00:05:59
la fonction principale smn d'accord en
00:06:04
lui fournissant un argument les
00:06:05
classiques paramètres arx et harvey tels
00:06:08
qu'on les trouve en c++
00:06:09
le corps du programme consiste
00:06:13
simplement à afficher sur la sortie
00:06:15
standard la chaîne de caractères un
00:06:17
hello world et elle retourne 0 noter
00:06:22
également la présence du fichier
00:06:24
d'en-tête système ces points h qui
00:06:26
contient les définitions des éléments de
00:06:28
la bibliothèque
00:06:29
en plus ce fichier inclut d'autres
00:06:32
fichiers dans tête de la bibliothèque
00:06:33
standard c++ par exemple ustream
00:06:36
il permet également d'utiliser
00:06:37
directement certains espaces de noms
00:06:40
relatifs à la bibliothèque standard et
00:06:42
assystem c'est donc après avoir décrit
00:06:46
le code précédent dans un fichier
00:06:48
dénommé et le world plein cpp nous
00:06:52
pouvons maintenant passer à l'étape de
00:06:53
compilation qui est mise en oeuvre par
00:06:55
la commande suivante que vous voyez sur
00:06:57
la diapositive l'environnement de
00:07:00
travail que j'ai utilisé ici est un
00:07:01
environnement un environnement linux
00:07:03
ubuntu sur lequel j'ai préalablement
00:07:05
installé la bibliothèque c++ et système
00:07:07
c'est à l'issue de cette commande un
00:07:11
exécutable du nom de l eau sera donc
00:07:14
générer et la fenêtre que vous voyez en
00:07:19
bas et leurs résultats de l'exécution de
00:07:21
ce programme et l'eau nous voyons bien
00:07:23
que la chaîne de caractères et le world
00:07:24
s'affiche en fait dans le terminal
00:07:31
afin de faciliter l'étape de compilation
00:07:33
et lorsque plusieurs fichiers sources ou
00:07:36
fichiers dans tête sont considérés il
00:07:38
sera généralement plus facile d'utiliser
00:07:40
ce qu'on appelle un mec file qui permet
00:07:42
d'automatiser l'étape de compilation et
00:07:44
d'édition des liens la diapositive
00:07:46
suivantes représentent typiquement la
00:07:48
structure d'un fichier mec file on y
00:07:51
retrouve la cible c'est à dire le nom
00:07:53
l'exécutable lots larchitecture cible
00:07:58
est ici configuré en tant que linux 64
00:08:02
le confiera le compilateur utilisé sera
00:08:05
j'ai plus plus il est également possible
00:08:07
de passer un certain nombre de drapeaux
00:08:09
lors de l'étape de compilation c'est ce
00:08:11
qui est mentionné ici par la variable
00:08:12
flag système ces home permet de
00:08:17
spécifier le chemin d'accès la
00:08:19
bibliothèque sur la station de travail
00:08:21
sur pc on retrouve également des liens
00:08:23
vers des chemins permettant d'inclure un
00:08:26
certain nombre de fichiers dans tête ou
00:08:27
de bibliothèques supplémentaires c'est
00:08:29
le rôle des des variables inc dire et
00:08:32
lib dir
00:08:34
finalement les fichiers sources seront
00:08:36
identifiés sous la variable source afin
00:08:41
de lancer le big five
00:08:42
il suffira simplement de lancer la
00:08:44
commande make dans un terminal de
00:08:46
manière à effectuer toutes les étapes de
00:08:48
compilation et d'édition des liens à
00:08:53
l'issue de cette commande
00:08:54
il suffira de lancer l'exécutable de
00:08:57
manière à récupérer le résultat que nous
00:08:59
voyons affiché ici
00:09:01
voilà j'en ai terminé avec les principes
00:09:04
de base de systèmes sais je vous
00:09:06
remercie d'avoir regardé cette vidéo et
00:09:08
vous dis à très bientôt