COURS

Acces via CAS (compte INSA) https://moodle.insa-toulouse.fr/login/index.php

Acces direct (compte moodle) https://moodle.insa-toulouse.fr/login/index.php?authCAS=NOCAS

yBPL http://ks367114.kimsufi.com:8088/moodle/

MIDDLEWARE ET COMPOSANTS

EJB

Liens utiles (CORBA, J2EE, EJB)

Interoperabilite EJB /CORBA

Manips seances 1, 2 et 3 (SOA et ASI)

Manips s�ances 4 et 5 (ASI)

Parcours P�dagogique de CORBA

Connaissances Basiques (au choix sous ORBACUS ou JACORB):

B : Applications basiques (sans factory)

  • (Niveau B0) Savoir utiliser une application : configuration des scripts (*.bat) pour compiler et ex�cuter
Objectif : savoir installer et configurer vous-m�me un broker
Moyen de vous �valuer : D�placer le r�pertoire ORBACUS et faire les modifs des *.bat pour refaire marcher l'application
  • (Niveau B1) Etant donn�e une interface IDL, Savoir �crire le client qui utilise un objet CORBA dont l'IOR est stock�e dans un fichier, par exemple "Hello.ior"
Objectif : savoir modifer/d�velopper une partie d'une application
Moyen de vous �valuer : modifier le nom de l'interface HELLO en GOODDAY et refaire marcher l'application
  • (Niveau B2) Etant donn�e une interface IDL, Savoir �crire les classes java qui l'implantent (et le serveur qui les cr�ent)
Objectif : savoir d�velopper enti�rement une application
Moyen de vous �valuer : copie le r�pertoire de l'application HELLO.

D�finir interface IDL qui permet d'additionner � distance 2 entiers (dans le m�me ficheier Hello.idl). Modifier les classe Server, Client, "Servant" pour faire fonctionner la nouvelle aplication

F: Applications avec Factory

  • (Niveau F1) Etant donn�e une interface IDL, Savoir �crire le client qui utilise un objet Factory CORBA dont l'IOR est stock�e dans un fichier, par exemple "Factory.ior", pour cr�er un objet CORBA et l'utiliser comme dans B1
  • (Niveau F2) Etant donn�e une intreface IDL, Savoir �crire les classes java qui l'implantent (et le serveur qui les cr�ent)

Connaissances Evolu�es (au choix sous ORBACUS ou JACORB):

N : Utilisation d'un serveur de noms dont l'IOR est stock�e dans un fichier, par exemple "NS.ior"

  • (Niveau N1) Etant donn�e une interface IDL, Savoir �crire le client qui utilise un objet CORBA enregistr� sous le contexte racine du "Serveur de Noms" sous un nom connu
  • (Niveau N2) savoir enregistrer un objet CORBA sous le contexte racine du "Serveur de Noms"
  • (Niveau N3) : idem que Niveau N1, mais dans un sous contexte
  • (Niveau N4) : idem que Niveau N2, mais dans un sous contexte

Techniques de Description Formelle (TDF) sous LINUX

R�f�rences internationales :

Example of translation from CCS to LOTOS: Ordered reliable medium (V0: capacity 1)

Exercise: implement in LOTOS :

V1.1) the monolithic model of an ordered reliable medium of capacity 2 (we have already obtained the solution together in CCS)

V1.2) the other model obtained by parallel composition of two media of capacity one (we have already obtained the solution together in CCS)

Sujets TP

Lab Process Algebra

CHANGEMENT : Etape 1 de l'enonc�

chemins d'acc�s (� utiliser plut�t que celui sp�cifi� dans le sujet)

sources LOTOS � compl�ter pour le TP1

CHANGEMENT : Etape 2 de l'enonc�

  • commande pour compiler les types de donn�es de lotos : "caesar.adt CHOIX.lot"
  • commande pour compiler la specification Lotos et generer le LTS : "caesar CHOIX.lot" (r�sultat CHOIX.bcg)
  • commande pour reduire le LTS "bcg_min -branching CHOIX.bcg" (r�sultat de la r�duction dans le m�me fichier CHOIX.lot, sinon on peut aussi ecrire : "bcg_min -branching CHOIX.bcg CHOIX-reduit.bcg")
  • commande pour visualiser le LTS sous format bcg : "bcg_edit CHOIX.bcg" ; ensuite avec le bouton droite sur chaque arc choisir "symmetrical curve"

Aide syntaxe LOTOS

(* attendre un message x de type donnee sur la porte insup *)(* puis emmettre le x sur la porte s *)(* puis appeler r�cursivement entite *)

insup ? x: donnee ; s ! x; entite[insup,outsup,e,s]

(*attendre un ack sur e *) (*puis appeler entite*)

e?y:controle ; ([y eq ack ] -> entite[insup,outsup,e,s])

(*emettre un ack sur s *) (* puis appeler entite*)

s ! ack; entite[insup,outsup,e,s]

=================================== Param�tres de processus

entite[....] (p:Bool) : noexit :=

(* if (p) then comportement1 else process2*)

[p] -> (...process1... )

[]

[not(p)] -> (..process2..)