The International Arab Journal of Information Technology (IAJIT)


SynchroState: A SPEM-based Solution for Synchronizing Activities and Products through

Software engineering research was always focused around the efficiency of software development processes. Recently, we noticed an increasing interest in model-driven approaches in this context. Models that were once merely descriptive, are nowadays playing a productive role in defining engineering processes and managing their lifecycles. However, there is a problem that has not been considered enough; it is about sustaining consistency between products and the implicated activities during the process lifecycle. This issue, identified in this paper as the synchronization problem, needs to be resolved in order to guarantee a flawless execution of a software process. In this paper, we present a SPEM-based solution named SynchroState that highlights the relationship between process activities and products. SynchroState's goal is to ensure synchronization between activities and products in order that if one of these two entities undergoes a change, the dependents entities should be notified and evolved to sustain consistency In order to evaluate SynchroState, we have implemented the solution using the AspectJ language and validated it through a case study inspired from the ISPW-6 software process example. Results of this study demonstrate the automation of synchronization of product state following a change in the activity state during the evolution of the process execution.

[1] Apel S. and Batory D., How AspectJ is Used: An Analysis of Eleven AspectJ Programs, Journal of Object Technology, vol. 9, no. 1, pp. 117-142, 2008.

[2] B nfai B., Ulrich B., T r k Z., Natarajan R., and Ireland T., Implementing an HL7 Version 3 Modeling Tool from an Ecore Model, in Proceedings of Medical Informatics in a United and Healthy Europe, Washington, pp. 157-161, 2009.

[3] Bendraou R., Gervais M., and Blanc X., UML4SPM: An Executable Software Process Modeling Language Providing High-Level Abstractions, in Proceedings of 10th IEEE International Enterprise Distributed Object Computing Conference, Hong Kong, pp. 297- 306, 2006.

[4] Bendraou R., Combemale B., Cr gut X., and Gervais M., Definition of an Executable SPEM 2.0, in Proceedings of 14th Asia-Pacific Software Engineering Conference, Aichi, pp. 390-397, 2007.

[5] Bendriss S., Benabdelhafid A., Boukachour J., and Boudebous D., M tamod le de R f rence Holonique Pour La Gestion De La Tra abilit Du Produit Dans La Chaine Logistique, in Proceedings of 5 me Colloque International Conception et Production Int gr es, 2007.

[6] Borgonon L., Barcelona M., Garc a-Garc a J., Alba M., and Escalona M., Software Process Modeling Languages: A Systematic Literature Review, Information and Software Technology, vol. 56, no. 2, pp. 103-116, 2014.

[7] Breu R., Agreiter B., Farwick M., Felderer M., Hafner M., and Innerhofer-Oberperfler F., 960 The International Arab Journal of Information Technology, Vol. 15, No. 6, November 2018 Living Models-Ten Principles for Change- Driven Software Engineering, International Journal Software and Informatics, vol. 5, no. 1-2, pp. 267-290, 2011.

[8] Drey Z., Faucher C., Fleurey F., Mah V. and Vojtisek D., Kermeta Language Reference Manual, Manuscript available online, Last Visited, 2015.

[9], EMF Java doc. vadoc/2.7.0/org/eclipse/emf/ecore/package- summary.html, Last Visited, 2015.

[10] Eclipse Modeling Framework Project (EMF), Eclipse Foundation

[Online], Available:, Last Visited, 2015.

[11] Ellner R., Al-Hilank S., Drexler J., Jung M., Kips D., and Philippsen M., eSPEM-A SPEM Extension for Enactable Behavior Modeling, in Proceedings of the 6th European conference on Modelling Foundations and Applications, Paris, pp. 116-131, 2010.

[12] Favre L., Model Driven Architecture for Reverse Engineering Technologies: Strategic Directions and System Evolution, Premier Reference Source, 2010.

[13] Furong L., Wei S., and Zhigang J., Modeling Aspect-Oriented Extension Software Architecture, in Proceedings of International Symposium on Computer Science and Computational Technology, Shanghai, 2008.

[14] Gamma E., Design Patterns: Elements of Reusable Object-oriented Software, Addison- Wesley, 1995.

[15] Jakjoud A., Zrikem M., Baron C., and Ayadi A., SysPEM: A SysML and SPEM based Process Modelling Language for Systems Engineering, International Journal of Services Operations and Informatics, vol. 7, no. 4, pp. 330-348, 2013.

[16] Jakjoud A., Zrikem M., Baron C., and Ayadi A, SysPEM: Toward a Consistent and Unified System Process Engineering Metamodel, Journal of Intelligent Manufacturing, vol. 25, no. 2, pp. 1-18, 2014.

[17] Kellner M., Feiler P., Finkelstein A., Katayama T., Osterweil L., Penedo M., and Rombach D., ISPW-6 Software Process Example, in Proceedings of the 1st International Conference on the Software Process, CA, pp. 176, 1991.

[18] Kuhrmann M., M ndez Fern ndez D., and Steenweg R., Systematic Software Process Development: Where Do We Stand Today?, in Proceedings of International Conference on Software and System Process, San Francisco, pp. 166-170, 2013.

[19] Laddad R., Aspectj in Action: Enterprise AOP with Spring Applications, Manning Publications Company, 2009.

[20] Madachy R., Software Process Dynamics, John Wiley and Sons, 2008.

[21] Mili H., Tremblay G., Jaoude G., Lefebvre ., Elabed L., and Boussaidi G., Business Process Modeling Languages: Sorting Through the Alphabet Soup, ACM Computing Surveys, vol. 43, no. 1, 2010.

[22] Mishra T., Garg D., and Gore M., A Publish/Subscribe Communication Infrastructure for VANET Applications, in Proceedings of International Conference on Advanced Information Networking and Applications, Singapore, pp. 442-446, 2011.

[23] M ller D., Reichert M., and Herbst J., A new Paradigm for the Enactment and Dynamic Adaptation of Data-driven Process Structures, in Proceedings of Advanced Information Systems Engineering, Montpellier, pp. 48-63, 2008.

[24] M nch J., Armbrust O., Kowalczyk M., and Sot M., Software Process Definition and Management, Springer Science and Business Media, 2012.

[25] Niknafs A. and Asadi M., Towards a Process Modeling Language for Method Engineering Support, in Proceedings of Congress Computer Science and Information Engineering, Los Angeles, pp. 674-681, 2009.

[26] OMG Unified Modeling Language TM (OMG UML), Superstructure -Version 2.2 with Change bars - OMG Document Number: formal/2009-02- 03-Standard Document URL:, Last Visited, 2009.

[27] Object Management Group, Inc, Software Process Engineering Metamodel (SPEM) 2.0, Specification, 2008.

[28] Rashid A., Cottenier T., Greenwood P., Chitchyan R., Meunier R., Coelho R., S dholt M., and Joosen W., Aspect-oriented Software Development in Practice: Tales from Aosd- Europe, Computer, vol. 43, no. 2, pp. 19-26, 2010.

[29] Rochd A., Zrikem M., Ayadi A., Percebois C., Millan T., and Baron C., SynchSPEM: Implementing and Validating SynchSPEM: A Solution for Synchronizing Activities and Products within a Software Engineering Process, in Proceedings of International Conference on Multimedia Computing and Systems, Marrakech, pp. 1071-1076, 2014.

[30] Rochd A., Zrikem M., Ayadi A., Millan T., Percebois C., and Baron C., SynchSPEM: A Synchronization Metamodel between Activities and Products within a SPEM-based Software Development Process, in Proceedings of International Conference on Computer Applications and Industrial Electronics, Penang, pp. 471-476, 2011. SynchroState: A SPEM-based Solution for Synchronizing Activities and ... 961

[31] Rochd A., Zrikem M., Ayadi A., Percebois C., Millan T., and Baron C., Towards a Synchronization Model between Activities and Products within a Software Development Process, in Proceedings of International Conference on Multimedia Computing and Systems, Marrakech, pp. 477-482, 2014.

[32] Steenweg R., Kuhrmann M., and M ndez Fern ndez D., Software Engineering Process Metamodels, Technical Report, TUM, 2012.

[33] Steinberg D., Budinsky F., and Paternostro M., EMF: Eclipse Modeling Framework, Pearson Education, 2009.

[34] Zamli K., Process Modeling Languages: a Literature Review, Malaysian Journal of Computer Science, vol. 14, no. 2, pp. 26-37, 2001. Amal Rochd is a Ph.D. candidate in the field of Software engineering. She started her career as a software engineer, by participating in the creation and implementation of web, e-gov and mobile projects in different technologies such as J2EE and .Net while maintaining research activities in the fields of model driven engineering and software process engineering. Later, she was certified as a technico-functional consultant on Openbravo ERP, and worked on ERP projects on behalf of different customers. In addition of model driven engineering, Amal's research interests lie in data sciences and machine learning paradigms. Maria Zrikem is research professor in Computer Science at the National School of Applied Sciences (ENSA) of the CADI AYYAD University of Marrakech (Morocco). She teaches combinatorial optimization, exact and approximate methods (metaheuristics) of resolution, advanced algorithms (complexity analysis, advanced data structures, algorithms of the graph) and real-time systems. His current researchs are around the metaheuristics, the engineering systems and the study of power in the supply chains. She is author and (co-) of many international articles. Thierry Millan is Associate Professor of computer science at the University of Toulouse since 2000. He was always interested in software engineering and databases. He worked on OCL interpreters, modelling, metamodeling dynamic typed language, persistence and database systems (relational and NoSQL). Today his main research tries to combine NoSQL database and MDE repositories to provide an efficient solution for saving and handling metamodels and models. Christian Percebois is professor of computer science at the University of Toulouse since 1992. He was always interested in software engineering. He worked on Lisp and Prolog interpreters, garbage collecting for symbolic computations, asynchronous backtrackable communications in parallel logic languages, abstract machine construction through operational semantics refinements, typing in object-oriented programming and multiset rewriting techniques in order to coordinate concurrent objects. Today his main research tries to combine formal methods and software engineering, in particular for graph rewriting systems. Claude Baron is full professor in computer sciences at the National Institute of Applied Sciences (INSA) of the University of Toulouse (France). She teaches systems engineering, system design and modelling, and system reliability for real time and critical embedded software systems in master programs. She also is in charge of International Cooperation at the master level for INSA Toulouse. Her current research is focusing on systems engineering, collaborative engineering and project management in engineering projects. She develops her research activities in the LAAS-CNRS laboratory in Toulouse. She is the author of many international articles, (co)authored several books and received several awards for her results. Abderrahman Ayadi is research professor in theoretical and simulation physics at the National School of Applied Sciences (ENSA) of the CADI AYYAD University of Marrakech (Morocco). He teaches Physics, programming and Networks. He creates and develops research activities in Laboratory of Modelling and Information Technologies, University of Cadi Ayyad, Morocco. His current researches are around the engineering systems, and he is author and (co-) of many international articles.