I am an associate professor (maître de conférences HDR) at the IUT de Paris – Rives de Seine of Université de Paris and a researcher at the LIP6 of Sorbonne Université.
Programming would be more efficient and convenient if development tools shared more knowledge with software developers. Building knowledgeable assistant tools is my main research topic. This requires identifying programming knowledge and finding efficient and convenient ways to include it into assistant tools. Part of this knowledge can be represented using program transformations, transformation strategies or constraints (e.g. coupling constraints).
Separation of Concerns in Epidemiological Modelling
A major hindrance to modelling in epidemiology is the mixing of concerns that ought to be separated. The most obvious one is the computer implementation that should not be mixed with domain aspects. But several domain concerns should also be separated from the core epidemiological ones. These include the distribution of the studied populations into spatial regions, age intervals, sexes, species, viral strains... We propose an approach that relies on a mathematical model of the dynamics of a compartment-based population. The separation of domain concerns is provided by expressing each one as a stochastic automaton and combining them with a tensor sum.
See [MOMO 16] [IWST 16] [BMC 19] [BIOINFORMATICS 2022]
This research aims at providing tool support for refactoring Java programs or UML models. This involves the automatic detection of a specific class of bad code smells: violations of explicitly-stated coupling constraints. These code smells are marked as targets for a limited of refactoring transformation which semi-automatically reproduce solutions of the relevant design patterns.
In 2002-2004, I lead the RNTL Lutin Project which aimed at producing tools giving semantic-based support to the definition, validation and use of architectural patterns and design patterns. [WCP UML 04, ASE 00, MCSEAI 04b, LMO 01]. The coupling constraints will be expressed using high-level predicates whose definition is based on a general model of static access rights [WEAR03].
A rewrite of Lutin, Puck, has been implemented jointly with Cedric Besse, using JRRT and JastAdd which very significantly simplified the code as JL, the augmented syntax tree of JRRT, already stores most of the information useful to evaluate coupling constraints. The prolog component has been rewritten to rely on first order logic and the low level predicates have been redefined and augmented to better cope with more realistic examples.
See “The case for coupling constraints” (joint work with Mel O Cinneide): the precise definition of the language to express the constraints and a case study showing how useful they are in real applications (see http://arxiv.org/abs/1305.2398).
Loïc Girault has re-implemented Puck in Scala and very significantly extended it. It is possible to break dependencies on dependency graphs directly and (experimentally) to generate the refactored java code.
Give it a try: https://pages.lip6.fr/puck/index.php.
Domain-Specific Language for mobile robotics
The main objective of the PROTEUS ANR Project was to define a domain-specific language to ease the definition of mobile robotic missions and implement them on either a simulation tool or on real robots [JOSER 16]. An important sub-goal was the definition of generic transformations which are resilient to changes of identified unstable aspects especially those related to the sensors and actuators of the robots [DSLRob 13].
This was only very preliminary work and I reckon that what would be interesting now, is a project to develop some sort of a zoo of abstractions above those of middleware that are way too low level to shield algorithms from changes in sensors and actuators. This zoo would not be an ontology per se because ontologies typically impose a single viewpoint, but a set of abstractions that were successfully used to shield at least one algorithm from low-level details.
I am also interested in the automatic generation of user interfaces using transformations and software agents [ISDM 05, AISTA 04, CADUI 04, MajecSTIC 04, MCSEAI 04a], in adaptive software agents [AAMAS 04] [MMAS 09], Software Product Lines [CSMR 12], [SAC 14].
I used to manage (with Pierre-Etienne Moreau) the working group on program and model transformations in the GDR GPL group of CNRS from 2009 to 2011.
Former Ph.D Students
Emmanuelle Mader [with Madeleine Bonnet] (1998), David Julien [with Zahia Guessoum] (2004), Samir Ammour [with Xavier Blanc] (2005), Salima Chantit (2005), Amine Lajmi [with Sylvie Cauvin] (2010), Selma Kchir [with Tewfik Ziadi] (2014), Mai Anh Thi Bui [with Vinh Ho, Benjamin Roche and Serge Stinckwich] (2016), Loïc Girault (with Cédric Besse) quit to industry, Jabier Martinez [with Y. Le Traon and T. Ziadi] (2016) received an “accessit” from GDR GPL.
[HDR] M. Ziane, "Transformations de Programmes et de Requêtes pour Automatiser ou Faciliter la Production et la Maintenance du Logiciel", Habilitation à Diriger des Recherches, Université Paris 6, December 2004, HDR Thesis, PDF.
[BIOINFORMATICS 2022] A Yvan Guifo Fodjo, Mikal Ziane, Serge Stinckwich, BUI Thi Mai Anh, Samuel Bowong, Separation of Concerns in Extented Epidemiological Compartmental Models", 13th international conference on bioinformatics, models, methods and algorithms, 9-11, February 2002.
[BMC 19] Thi Mai Anh Bui, Nick Papoulias, Serge Stinckwich, Mikal Ziane and Benjamin Roche, "The Kendrick Modelling Platform: Language Abstractions and Tools for Epidemiology", BMC Bioinformatics (2019) 20:312, (BINF-D-18-00279R3). https://rdcu.be/bGp3i
[JOSER 16] Tewfik Ziadi, Jean-Loup Farges, Serge Stinckwich, Mikal Ziane, Saadia Dhouib, François Marmoiton, Nicolas Morette, Cyril Novales, Selma Kchir, Bruno Patin, "Design and Validation of a Toolset Addressing Variability in the Robotic Domain" Journal of Software Engineering for Robotics Vol 7, N°1 (2016).
[IWST 16] Thi Mai Anh Bui, Nick Papoulias, Mikal Ziane and Serge Stinckwich, “Explicit Composition Constructs in DSLs - The case of the epidemiological language Kendrick”, International Workshop on Smalltalk Technologies Prague, Czech Republic; August 23th, 2016.
[MOMO 16] Thi-Mai-Anh Bui, Mikal Ziane, Serge Stinckwich, Tuong-Vinh Ho, Benjamin Roche, et al. “Separation of Concerns in Epidemiological Modelling. Modularity in Modelling, Workshop of the 15th International Conference on Modularity, Mar 2016, Malaga, Spain. 2016 http://www.momo2016.ece.mcgill.ca/index.htm>. <hal-01276034>
[RIVF 15] Bui Thi Mai Anh, Serge Stinckwich, Mikal Ziane, Benjamin Roche, Hô Tuòng Vinh, KENDRICK: A Domain Specific Language and platform for mathematical epidemiological modelling, RIVF 2015: 132-137.
[SAC 14] Tewfik Ziadi, Christopher Henard, Mike Papadakis, Mikal Ziane and Yves Le Traon, Towards a Language-Independent Approach for Reverse-Engineering of Software Product Lines, to be presented at the 29th ACM Symposium On Applied Computing, Gyeongju, Korea, March 2014.
[DSLRob 13] Selma Kchir, Tewfik Ziadi, Mikal Ziane, Serge Stinckwich, A Top-Down Approach to Managing Variability in Robotics Algorithms. DSLRob 2013.
[SIMPAR 12] Saadia Dhouib, Selma Kchir, Serge Stinckwich, Tewfik Ziadi, Mikal Ziane: RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications. SIMPAR 2012: 149-160.
[CSMR 12] Tewfik Ziadi, Luz Frias, Marcos Aurélio Almeida da Silva, Mikal Ziane: Feature Identification from the Source Code of Product Variants. CSMR 2012: 417-422.
[IAT 11] S. Ductor, Z. Guessoum et M. Ziane, "Adaptive Replication in Fault-Tolerant Multi-Agent Systems", 2011 IEEE/WIC/ACM International Conference on Intelligent Agent Technology, 22 - 27 August 2011, Campus Scientifique de la Doua, Lyon, France (short paper).
[ICECCS 11] Tewfik Ziadi, Marcos Aurélio Almeida da Silva, Lom Messan Hillah and Mikal Ziane. “A Fully Dynamic Approach to the Reverse Engineering of UML Sequence Diagrams”, Proceedings of the 16th IEEE International Conference on Engineering of Complex Computer Systems, Las Vegas, USA, 27-19 April, 2011.
[DSLRob 10] Ulrik Pagh Schultz, Serge Stinckwich, Mikal Ziane (Eds): Proceedings of the first international workshop on domain-specific languages for robotic systems (DSLRob 2010) CoRR abs/1102.4563: (2011).
[SAC 10] A. Lajmi, M. Ziane, T. Ziadi, S. Cauvin, “A multi-view model-driven approach for packaging software components”, Proceedings of the 2010 ACM Symposium on Applied Computing, Sierre, Switzerland, Software engineering track, pages 2297-2304, 2010.
[MMAS 09] S. Ductor, Z. Guessoum, M. Ziane, “Resource Management and Adaptive Replication for Fault-Tolerant MAS”, Third Workshop on Massively Multi-Agent Systems, MMAS'09, in conjunction with AAMAS, pp 75-87, ACM, Budapest, May 2009.
[PSE 09] A. Lajmi, M. Ziane, S. Cauvin, “A Software Factory for the Generation of CAPE-OPEN Compliant Process Modelling Components”, 10th International Symposium on Process Systems Engineering: Part A, Volume 27, Computer Aided Chemical Engineering series, Elsevier, Pages 207-212, 2009.
[MajecSTIC 06] M. Ziane, S. Chantit, "La Qualité avec un Nom ! Quels Problèmes Résolvent les Patrons de Conception ?", accepté à MajectSTIC 06, Manifestation des Jeunes Chercheurs francophones dans les domaines des STIC, Lorient, 22-24 Novembre 2006.
[MajecSTIC 05] S. Ammour, X. Blanc, M. Ziane, "Transformations de modèles UML outillées: Retour d’expériences", MajectSTIC 05, Manifestation des Jeunes Chercheurs francophones dans les domaines des STIC, pp 159-166, Rennes, France, Novembre 2005.
[WiSME 05] S. Ammour, M. Ziane, X. Blanc, S. Chantit “A UML precise specification of design patterns using decoupling constraints”, 4th Workshop in Software Model Engineering, WiSME 05, Montego Bay, Jamaica, October 2005.
[ISDM 05] David Julien, Mikal Ziane, Zahia Guessoum. "Gestion automatique de la cohérence de l'interface utilisateur avec l'état de l'application". Special issue on the best papers of MCSEAI’04, ISDM n°19 – 2005, PDF.
[WCP UML 04] S. Ammour, X. Blanc, M. Ziane, P. Desfray, "Improving Pattern Support in UML CASE tools", UML 2004 Workshop on Consistency Problems in UML-based Software Development III, Lisbon Portugal, October 2004.
[AISTA 04] D. Julien, Z. Guessoum, M. Ziane, "Building User Interfaces thanks to Eco-Resolution", International Conference on Advances in Intelligent Systems - Theory and Applications, AISTA 2004, in cooperation with the IEEE Computer Society, Luxembourg, November 2004.
[AAMAS 04] Z. Guessoum, M. Ziane, N. Faci, "Monitoring and Organizational-Level Adaptation of Multi-Agent Systems", Third International Joint Conference on Autonomous Agents and Multi Agent Systems, AAMAS '04, pp 514-521, New-York City, USA, July 2004, sponsored by ACM SIGART, published by IEEE Computer Society.
[CADUI 04] D. Julien, M. Ziane, Z. Guessoum, "Goliath: an extensible model-based environment to develop user interfaces", Computer-Aided Design of User Interfaces, CADUI '04, pp. 95-106, Funchal, Isle of Madeira, Portugal, Jan. 2004, Sponsored by ACM, published by Kluwer Academics Series.
[MajecSTIC 04] David Julien, Mikal Ziane, Zahia Guessoum, "Des agents pour faciliter la modélisation des interfaces utilisateur", MajecStic 2004, MAnifestation des JEunes Chercheurs STIC, Calais, France, Octobre 2004.
[MCSEAI 04a] David Julien, Mikal Ziane, Zahia Guessoum, "Automatiser la Cohérence des Données Exposées dans une Interface Utilisateur", 8th Maghrebian Conference on Software Engineering and Artificial Intelligence, MCSEAI '04, May 2004, Sousse, Tunisia, pp 373-384.
[MCSEAI 04b] Mikal Ziane, Salima Chantit, "Vers une approche “générer et tester” pour aider à utiliser les patrons de conception", 8th Maghrebian Conference on Software Engineering and Artificial Intelligence, MCSEAI '04, May 2004, Sousse, Tunisia, pp 13-24.
[WEAR03] M. Ziane, G. Ardourel, M. Huchard, and S. Chantit, "Formalizing the Decoupling Constraints of Design Patterns" WEAR '03 Workshop on Encapsulation and Access Rights of the OOIS '03 conference, 200.
[LMO 01] M. Ziane, "Towards Tool Support for Design Patterns using Program Transformations", Langages et Modèles à Objets (LMO), Le Croisic, jan. 2001, L'objet Vol. 7 n° 1-2/2001 pp 199-214, Hermès Science Publications.
[ASE 00] M. Ziane, "A Transformational Viewpoint on Design Patterns", IEEE International Conference on Automated Software Engineering (ASE), Grenoble, Sep. 2000 pp 273-276, published by IEEE Computer Society.
P. Valduriez, M. Zaït and M. Ziane, "Optimization for Parallel Execution", in Parallel Database Techniques, Edited by M. Abdelguerfi and K-F Wong, IEEE-CS Press, 1998, pp. 15-41.
D. Florescu, J-R Gruser, H. Naacke, Z-H Tang, M. Ziane, "Flora - Un optimiseur pour bases de données à objets." Ingénierie des Systèmes d'Information 4:5 1996, pp. 1-30.
D. Florescu, J-R. Gruser, M. Novak, P. Valduriez, M. Ziane, "Design and Implementation of Flora, a Language for Object Algebra", Information Science, 87(1-3), 1995, pp. 1-27.
M. Ziane, M. Zaït, H. Quang, "Parallelism and Query Optimization", Computer Systems Science and Engineering, 10:1, Jan. 1995, pp. 50-56.
R. S. G. Lanzelotte, P. Valduriez, M. Zaït, M. Ziane: "Industrial-Strength Parallel Query Optimization: issues and lessons." Information Systems 19(4): (1994) pp. 311-330.
M. Ziane, M. Zaït, P. Borla-Salamet, "Parallel Query Processing with Zigzag Trees", VLDB Journal 2(3): (1993), pp. 277-301 Special Issue on the best papers of PDIS.