• Aucun résultat trouvé

La mise en œu e effective de l’a al se de l’i pa t du ha ge e t nécessite une des-cription exhaustive des différents éléments d’u p o essus tie et leurs interdépen-dances. Ainsi, l’utilisatio des bases de connaissances "Knowledge-Based" nous paraît être le meilleur moyen qui peut aider dans la compréhension, à la fois du processus mé-tier et de son évolution. De telles bases sont utilisées depuis plusieurs années dans le cadre de la mise en œu e automatiquement assistée de différentes activités du génie logiciel (Abd-El-Hafiz, 1996).

Pour faire face sémantiquement à l'analyse de l'impact du changement et par consé-quent, à la compréhension des différentes relations de dépendance au sei d’u p o es-sus métier, nous avons proposé dans (Kherbouche M. O., Ahmad, Bouneffa, & Basson, 2013) une approche consistant à mettre en œu e un système à base de connaissances obtenu à pa ti de la d fi itio d’u e o tologie étendue appelé "Extended BPMN 2.0

On-tology" pour le stockage et la manipulation des méta-informations concernant les

proces-sus métier.

En effet, notre définition se base sur une ontologie proposée par (Ghidini, Rospocher, & Serafini, 2008) qui est utilisée comme une base de connaissances permettant de repré-senter formellement les attributs et les conditions décrivant la manière dont les éléments d’u p o essus tie peuvent être combinés pour obtenir des modèles BPMN con-formes à la spécification.

L’app o he p opos e établit des liens entre les différents éléments du modèle de pro-cessus métier et les concepts de l'ontologie basée sur les spécifications de BPMN 1.120. Elle exprime chaque élément du modèle BPMN en tant qu’u e classe dans l'ontologie et ses attributs en tant que des attributs de cette dernière. En effet, une ontologie est com-posée de classes et de relations. Une classe représente un concept identifiable. Une

lasse peut a oi des lie s st u tu els et/ou s a ti ues a e d’aut es lasses.

L'ontologie proposée se compose actuellement de 95 classes, 108 objets de propriétés, 70 données de propriétés et 439 axiomes de classe. Les éléments sont divisés en deux catégories représentant des éléments de support "Supporting Elements" et des éléments graphiques "Graphical Elements" qui sont des sous-classes de la classe principale

"BPMN_ELEMENT" comme le montre la figure 4.3.

19 Une ontologie, en informatique, est un ensemble structuré de savoirs dans un domaine de connaissance particulier 20 www.omg.org/spec/BPMN/1.1/PDF.

- 114 -

Figure 4.3 Hiérarchie des classes de BPMN 2 Ontology

Dans notre ontologie étendue, nous avons redéfini la classe "BPMN_ELEMENT" en ajoutant une troisième classe appelée analyse d'impact "Impact_Analysis" au même ni-veau que la classe des éléments de support et la classe des éléments graphiques. Cette classe est affinée par la suite en plusieurs relations de dépendance comme détaillée ci-dessous d pe da es d’a ti it s "ACTIVITY_DEPENDENCY", dépendances de données

"DATA_DEPENDENCY").

Afin d’illustrer les différents axiomes de notre ontologie étendue dans leur forme lo-gique, nous avons utilisé la logique de description (DL)21 sur laquelle se base le langage d'ontologie Web (OWL22) qui est un dialecte XML qui étend RDFS et qui est utilisé pour modéliser des ontologies. La redéfinition de la classe "BPMN_ELEMENT" est détaillée dans le Listing 4.1.

La définition de la classe "Impact_Analysis", la classe "DEPENDENCY_RELATIONSHIPS", la classe "ACTIVITY_DEPENDENCY" et la classe "DATA_DEPENDENCY" sont détaillées res-pectivement dans les Listing 4.2, Listing 4.3, Listing 4.4 et Listing 4.5.

Listing 4.1 Classe BPMN_element.

Class: BPMN_ELEMENT

Label: BPMN element

Description: Base element

BPMN_ELEMENT GRAPHICAL_ELEMENT SUPPORTING_ELEMENT IMPACT_ANALYSIS

21http://www.cs.ox.ac.uk/ian.horrocks/Seminars/download/Horrocks_Ian_pt1.pdf 22http://www.w3.org/standards/techs/owl#w3c_all

- 115 -

GRAPHICAL_ELEMENT SUPPORTING_ELEMENT GRAPHICAL_ELEMENT IMPACT_ANALYSIS SUPPORTING_ELEMENT IMPACT_ANALYSIS Listing 4.2 Classe IMPACT_ANALYSIS.

Class: IMPACT_ANALYSIS

Label: Impact analysis

Description: Impact analysis

IMPACT_ANALYSIS DEPENDENCY_RELATIONSHIPS Listing 4.3 Classe DEPENDENCY_RELATIONSHIPS.

Class: DEPENDENCY_RELATIONSHIPS

Label: Dependency analysis

Description: Dependency relationship defines the existing dependencies concerning

activities and data

DEPENDENCY_RELATIONSHIPS ACTIVITY_DEPENDENCY DATA_DEPENDENCY Listing 4.4 Classe ACTIVITY_DEPENDENCY.

Class: ACTIVITY_DEPENDENCY

Label: Impact analysis

Description: Activity Dependency

ACTIVITY_DEPENDENCY CONNECTING_OBJECT

ACTIVITY_DEPENDENCY ( ) has_connecting_activity_name

Property: has_connecting_activity_name

Label: Name

Description:Name is an attribute that is text description of the concerned

acivi-ty.

has_connecting_activity_name has domain ACTIVITY has_connecting_activity_name has range xsd:string

ACTIVITY_DEPENDENCY ( )has_connecting_activity_source_ref.ACTIVITY ( ) has_connecting_activity_target_ref.ACTIVITY

Property: has_connecting_activity_source_ref

Label: aSourceRef

Description: aSourceRef is an attribute that identifies which Activity the

Connecting Object is connected from.

has_connecting_activity_source_ref has domain CONNECTING_OBJECT has_connecting_activity_source_ref has range ACTIVITY

Property: has_connecting_activity_target_ref

Label: aTargetRef

Description: aTargetRef is an attribute that identifies which Activity the

Connecting Object is connected to.

has_connecting_activity_target_ref has domain CONNECTING_OBJECT has_connecting_activity_target_ref has range ACTIVITY

Listing 4.5 Classe DATA_DEPENDENCY.

Class: DATA_DEPENDENCY

Label: Data Dependency

Description: Data Dependency

DATA_DEPENDENCY CONNECTING_OBJECT

DATA_DEPENDENCY ( )has_activity_input_sets.ACTIVITY ( ) has_activity_output_sets.ACTIVITY

has_activity_input_sets.ACTIVITY ≡ (DATA_OBJECT)

Pour valider cette partie du notre travail, nous avons utilisé une des plate-formes les plus populaires appelé Protégé-OWL basé sur le langage d'ontologie Web (OWL). Cette plate-forme est à la fois un éditeur d'ontologies, et un framework de base de connais-sances très convivial, basé sur Java. La figure 4.4 montre la hiérarchie des classes (telles qu'il apparaît dans l'outil Protégé) pour notre ontologie BPMN étendue, et la figure 4.5 représente le fichier OWL associé "ExtendedOntoBPMN.owl".

- 116 -

Figure 4.4 Hiérarchie des classes de extended BPMN 2 Ontology

- 117 -

L'objectif principal étant de construire une base de connaissances à partir de cette on-tologie pour permettre au chargé de l’ olutio des p o essus tie , qui est

générale-e t lgénérale-e odgénérale-elgénérale-eu générale-et l’générale-e pgénérale-e t tie , de fo ule ses requêtes de changement.

Pour ce faire, le moteur qui répond à la demande du changement utilise le langage de requête d'ontologie SPARQL23 pour analyser les relations de dépendance en déclenchant toutes les gles d’a al se de d pe da e concernées expliquées dans la section sui-vante. Ces relations de dépendance sont ensuite utilisées comme un moyen pour suivre la propagatio de l’i pa t du ha ge e t.