270 likes | 330 Views
Research Unit on Developing and Managing Distributed Software (National School of Engineers of Sfax). Mohamed Jmaiel mohamed.jmaiel@enis.rnu.tn. 2 Professors 10 Associate Professors 13 Assistant Professors 27 PhD Students 22 Master Students. Amina Chaabane. Mariem Lahami. Wiem
E N D
Research Unit on Developing and Managing Distributed Software(National School of Engineers of Sfax) Mohamed Jmaiel mohamed.jmaiel@enis.rnu.tn
2 Professors • 10 Associate Professors • 13 Assistant Professors • 27 PhD Students • 22 Master Students Amina Chaabane Mariem Lahami Wiem Bourmeche Fatma Krichen Imen Tounsi Mohamed Jmaiel Zeineb Fki Emna Fki Omar Mazhoud Moez Krichen Amin Haddar Afef Mdhaffar Mehdi Ben Abderrahmen Imen Lahyani Tarak Chaari Members of ReDCAD Olfa Bouchaala Imen Loulou Sofien Chtourou Slim Kallel Monia Loulou Mariem Kallel Soumaya Marzouk Amira Regayeg Mohamed Haj Kacem Hadda Belhadj Sofiene Khmekhem Kawther Chaari Bechir Zalila Wassef Louati Riadh Ben Halima Sihem Loukil Bachar Zouari Ismaïl Bouassida Nadhmi Miladi Afef Jmal Lamia Yangui Nesrine Ouled Abdallah Ahmed Hadj Kacem Nouha Baccour Najla Haj Kacem Maher Ben Jemaa
Research topics • Adaptive distributed software (16 PhD thesis) • Design methods and tools ( 3 defended PhD thesis) • Validation methods and tools • Frameworks and algorithms for supporting the execution • Agent and mobile agent-based systems(6 PhD thesis) • Design and verification of MAS ( 2 defended PhD thesis) • Mobile agent-based distributed algorithms • Specification of secure mobile agent-based systems • Wireless (sensor) Networks (5 PhD thesis) • QoS management in MANET • Mobility management in sensor networks
Some developed Tools • MEIDYA : A set of ECLIPSE plug-ins for designing, validating and generating of code for dynamic software architectures • MARQ : A QoS-aware Middleware for Web services • SEC+: A search engine for component-based software development • ForMAADTools : An environment for formal design of muli-agent systems • VISIDIA : A visual platform for simulating distributed algorithms based on mobile agents • AO4CSM (recently) : A tool for monitoring Cloud services
Scientific collaboration • LAAS - Toulouse • 2005-2007, CMCU Project : « An Autonomic middleware for Web services » • LaBRI - Bordeaux • 2007-2008, INRIA/DGRSRT : «A generic model for implementing distributed algorithms based on mobile agents» • IRISA – Rennes • 2008-2009, INRIA/DGRSRT : «Model based validation: application to wireless sensor networks, to command control systems, and to dynamic adaptation of components» • Software Technology Group - TU Darmstadt • 2007-2008, DAAD : Research Grants for a PhD thesis • 2009-2010, DAAD : Research project on service oriented computing • Distributed Systems Group – University of Marburg • 2009-2010 : Research project on SOA & Co-Supervision of a PhD thesis • Real-Time Computing Systems Research Centre -Porto • Co-Supervision of a PhD thesis
Associated PhD thesis (2/2) MHK SKh RBH NM IB SM SK NHK KF IL Description Discovery Deployment Phases MANAGEMENT Monitoring Analysis Planning Execution Specification and Verification Design Purpose Execution support Simulation Accomplished work Experimentation Practical / Architectural Theoretic work Tools Work in progress
Topic 1 Adaptive distributed software 10 PhD thesis : Riadh Ben Halima (defended), Ismaïl Bouassida, Kaouthar Fakhfakh, Mohamed Hadj Kacem (defended), Najla Hadj Kacem, Slim Kallel, Soufien Khemakhem, Imen Loulou, Soumaya Marzouk, Nadhmi Miledi, Imene Layani, Afef Mdhaffar, Emna Fki, Olfa Bouchaala, Ikbel Guidara, Saoussan Cheikhrouhou
“An autonomic computing system must configure and reconfigure itself under varyingand unpredictable conditions” “Integrated components are dynamically managed by business rules/policies” Research Context “Autonomiccomputing” [IBM white paper, Oct 2002] [IBM Systems Journal, V.42 N.1, 2003]
Problematic : Dynamic adaptation DYNANICALLY adapt the system to the varying resources and to the evolving requirements Using Context New activities (tasks, jobs) Modification of roles Evolutive requirements • Evolutive (priorities) • Perfective (QoS) • Reparative (robustness) Communicating Distributed Systems Adaptation - Variation in the computing and communication resources (energy, memory, bandwidth, CPU) Varying resources Execution Context Requirements an constraints change dynamically and make an ah hoc management impossible
Research Objective Elaborating methods, mechanisms, and tools to design, validate, implement, deploy and manage (at runtime) adaptive distributed software
Research challenges • Provide solutions for the problem of dynamic adaptation: • Reduce complexity : • model oriented approach • Narrow the gap between specification and management : • cover the different phases of the design and provisioning cycles • use of refinement and transformation techniques • Guarantee scalability : • Characterise configurations without enumerating them • decentralised management • Handle software architectures at different layers : • Ensure consistency of adaptations at each layer and between layers • Maintain performances : avoid overreaction between layers • Handle the dynamic adaptation for different architectural styles • Client/server, Publish/Subscribe, and Service Oriented
Characteristics of our solution • Approach • Model driven • Use of model oriented languages (in particular GG, Z) for characterizing configurations (software architectures) • Refine and transform models towards implementation • Rule based • Reconfigurations are specified as graph transformation rules • Method • Adaptation is based on architectural (structural) reconfiguration • Different architectural levels : application, middleware and network • Different architectural styles : P/S, C/S, SO
Design methods and tools Mohamed Hadj Kacem Nadhmi Miledi
Thesis : Mohamed Hadj Kacem Modelling dynamic architectures : Design and Validation • Objectives • Provide generic solutions for modelling dynamic architectures • Provide a unified and visual graphic notation • Validate and verify (w.r.t. consistency and conformity) the generated specifications • Provide a design process for dynamic architectures • Develop support tools
X Validation «ArchitecturalStyleName » «ArchitecturalStyleFeature » Style_Name Règles de Transformation sub_Ci : F Ci sub_Cj : F Cj sub_Cn: F Cn ….. … ReOpNa2 ReOpNa1 « Guards » Vérification Transformation de Model Implémentation Déploiement « ReconfigurationOperationName » « ReconfigurationOperationName » Simulation « insert » « insert » «require & delete» «require & delete» «require & preserve » «require & preserve » Z/EVES « Guards » « Guards » Génération XML PIM Validation Génération XML Règles de Transformation Vérification Branche Opération de Reconfiguration Branche Protocole de Reconfiguration Branche Style Architectural Branche Fonctionnelle « ReconfigurationProtocolName » ReconfOpName2 PSM ΔStyle_Name x?: Ci y?: Cj z?: Cn … « ReconfigurationProtocolFeature » Génération XML Règles de Validation
Mohamed Nadhmi Miledi Modelling and refining the deployment and management of dynamic architectures • Objectives • Narrow the gap between high level modelling and implementation of management scripts • Support the adaptation process by transforming deployment architectures • Approach based on successive refinement of models • MDA based • Model the deployment. • Model the management of dynamic architectures
Platform Independent Cooperative Model UML Profile Platform Independent Cooperative Rule Transformation Platform Independent Cooperative Deployment Structure Platform Independent Plain Model Platform Independent Plain Deployment Structure Platform Independent Plain Rule Transformation XMI Extension Unified Management Model of Dynamic and Distributed Software Architectures. D&C extension Generic Model for Deployed Entity Dynamic Component D&C Service Deployment Model 3DxSOADL Platform Specific Deployment Model ADL extension 22 OSGI
Validation methods and tools Imen Loulou Ismaïl Bouassida Najla Hadj Kacem
Imen Loulou P/S-CoM: A formal Method for designing (provably) correct Publish/Subscribe architectures • Objectives : • Mastering the complexity of publish/subscribe systems at the levels of • Design of Architectural styles • Modelling of progressive and repairing adaptivity • Validity proofs of styles and adaptivity
Objectifs • Maîtriser la complexité des applications P/S sur les plans de • Conception du style architectural • Modélisation de l’adaptabilité (évolutive et curative) • Preuve de validité du style et de l’adaptabilité 25
Synthèse de l’état de l’art et positionnement • Conception d’un style architectural Publier/Souscrire • Absence de méthodes de modélisation architecturale des systèmes P/S qui soit validée à priori • Description de l’adaptabilité évolutive et curative • Absence de vérification à priori de la fiabilité d’une politique d’adaptabilité vis-à-vis des propriétés stylistiques 26
Contributions • Approche d’aide à la conception correcte de styles P/S • Caractérisation de patrons de spécification • Démarche de conception • Preuve de la consistance des spécifications (Z, Z-EVES) • Approche de description de l’adaptabilité évolutive • Modélisation de règles de reconfiguration • Modélisation de politiques d’adaptation évolutive • Vérification à priori de la fiabilité de l’adaptabilité (Z, Z-EVES) • Approche de description de l’adaptabilité curative • Modélisation de politiques d’adaptation curative • Vérification à priori de la fiabilité de l’adaptabilité (Z, Z-EVES) • Développement d’un plugin Sous Eclipse (en cours) • Supporter la méthode P/S-CoM 27