Modelling and Planning Evolution Styles in Software Architecture †
Abstract
:1. Introduction
1.1. Related Work
1.1.1. Architecture Evolution
1.1.2. Software Architecture Evolution Planning and Prediction Solutions
1.1.3. Extracting Knowledge from Data (Data Mining)
2. Case Study
2.1. Goal
2.2. Examples
3. Evolution Model
- An instantiation of MSAES on Example 1
- ArchitectureElement: Category of component, Element .
- Action: Creation of component .
- Actor: By Jean.
- TimeEvolution: on 15 December.
- Impact: Creation of connector .
- Header: Creation.
- Each instantiation of the meta-model corresponds to an evolution style.
4. Planning Model
4.1. Expression Phase of Evolution Styles
Application to Examples
Example 1: Evolution style from evolving to | Example 2: Evolution style from evolving to |
: <Act1, (, Component), , 01-05-2017>. Creation of the component . | : < Act1, (, Component), , 01-05-2017 >. Component creation. |
: < Act1, (, Component), , 02-05-2017 >. Creation of the component . | : < Act1, (, Component), , 01-05-2017 >. Component creation. |
: < Act1, (, Connector), , 03-05-2017 >. Creation of the connector . | : < Act1, (, Connector), , 01-05-2017 >. Connector creation. |
: < Act2, (, Component), , 03-05-2017 >. Creating a port on the component . | : < Act2, (, Component), , 01-05-2017 >. Port creation on . |
: < Act2, (, Connector), , 03-05-2017 >. Creating a port on the connector . | : < Act2, (, Connector), , 01-05-2017 >. Port creation on . |
: < Act3, (, Component), , 03-05-2017 >. Modification of the port on the component to connect . | : < Act3, (, Component), , 01-05-2017 >. Port modification on . |
: < Act3, (, Connector), , 03-05-2017 >. Modification of the port on the connector to connect . | : < Act3, (, Connector), , 01-05-2017 >. Port modification on . |
: < Act2, (, Component), , 03-05-2017 >. Creating a port on the component . | : < Act2, (, Component), , 01-05-2017 >. Port creation on . |
: < Act2, (, Connector), , 03-05-2017 >. Creating a port on the connector . | : < Act2, (, Connector), , 01-05-2017 >. Port creation on . |
: < Act3, (, Component), , 03-05-2017 >. Modification of the port on the component to connect . | : < Act3, (, Component), , 01-05-2017 >. Port modification on . |
: < Act3, (, Connector), , 03-05-2017 >. Modification of the port on the connector to connect . | : < Act3, (, Connector), , 01-05-2017 >. Port modification on . |
: < Act1, (, Component), , 04-05-2017 >. Creation of the component . | : < Act1, (, Component), , 02-05-2017 >. Component creation. |
: < Act1, (, Connector), , 05-05-2017 >. Creation of the connector . | : < Act1, (, Connector), , 02-05-2017 >. Connector creation. |
: < Act2, (, Component), , 05-05-2017 >. Creating a port on the component . | : < Act2, (, Component), , 02-05-2017 >. Port creation on . |
: < Act2, (, Connector), , 05-05-2017 >. Creating a port on the connector . | : < Act2, (, Connector), , 02-05-2017 >. Port creation on . |
: < Act3, (, Component), , 05-05-2017 >. Modification of the port on the component to connect . | : < Act3, (, Component), , 02-05-2017 >. Port modification on . |
: < Act3, (, Connector), , 05-05-2017 >. Modification of the port on the connector to connect . | : < Act3, (, Connector), , 02-05-2017 >. Port modification on . |
: < Act2, (, Component), , 05-05-2017 >. Creating a port on the component . | : < Act2, (, Component), , 02-05-2017 >. Port creation on . |
: < Act2, (, Connector), , 05-05-2017 >. Creating a port on the connector . | : < Act2, (, Connector), , 02-05-2017 >. Port creation on . |
: < Act3, (, Component), , 05-05-2017 >. Modification of the port on the component to connect . | : < Act3, (, Component), , 02-05-2017 >. Port modification on . |
… | … |
: < Act3, (, Component), , 11-05-2019 >. | : < Act3, (, Connector), , 01-05-2019 >. Port modification on . |
4.2. Analysis Phase of the Expressed Evolution Styles
Application to the Examples
Example 1 | Example 2 |
ine An interpretation of a line from Table 3 would be: The architectural element after its creation has undergone four evolution operations of header creating component port , component port modification , creating component port and component port modification respectively. From Table 3 we can determine the architectural elements most or least affected by the length of their evolution sequence. The length of the evolution sequence associated with is four, while the length of the sequence associated with is two, we conclude that among the components , , have undergone more evolution operations. We associate with each architecture its sequence of evolution, we note that the architecture has undergone after its creation (C) ten modifications including a component addition , connector addition , etc. before migrating (Mg). | An interpretation of a line from Table 4 would be: The architectural element after its creation has undergone height evolution operations of header creating component port , component port modification , creating component port and five others component port modification respectively. From Table 3 the architectural elements most or least affected can be determined by the length of their evolution sequence. The length of the evolution sequence associated with is six, while the length of the sequence associated with is four, in conclusion, among the components which has the length of eight has undergone more evolution operations. In the same way, the Table 4 associate with each architecture its evolution sequence, so the architecture has undergone after its creation (C) fifteen modifications including a connector suppression , component port modification etc. before migrating (Mg). |
Example 1 | Example 2 |
ine More than twenty-five percent (25%) of components have undergone evolution sequences ( ) and ( ). More than twenty-five percent (25%) of connectors have undergone the sequence ( ). More than twenty-five percent (25%) of architectures have undergone the sequence ( Mg). (Table 7) | More than twenty-five percent (25%) of components have undergone evolution sequences ( ) and ( ). More than twenty-five percent (25%) of connectors have undergone the sequence ( ), ( ) and ( ). More than twenty-five percent (25%) of architectures have undergone the sequence ( Mg), ( Mg) and ( ). (Table 8) |
5. Methodology
5.1. Future Path Prediction Phase
Example 1 | Example 2 |
ine We retain ten possible paths including: Path 1: Creating component , connector between and . Path 2: Creating component , connector between and . Path 3: Creating component , connector between and . Path 4: Creating component , connector between and . Path 5: Creating component , connector between and . Path 6: Creating connector between and . Path 7: Creating connector between and . Path 8: Creating connector between and . Path 9: Creating connector between and . Path 10: Creating connector between and . | We retain eight possible paths including: Path 1: Remove connector , create , and . Path 2: Remove connector and connectors and , create . Path 3: Remove connector and connectors and , create . Path 4: Remove Component and connectors and , create . Path 5: create the component and the connector . Path 6: create the component and the connector . Path 7: create the component and the connector . Path 8: create the component and the connector . |
Rule 1
Rule 2
Rule 3
Rule 4
Rule 5
Rule 6
Let’s Apply Rules to the Examples:
Rules Individual Application
Example 1 | Example 2 |
ine Path 1, 2, 3, 6, 7, 9 and 10 will be totally excluded for rule 1 violation. The possibilities remain paths 4, 5 and 8. | Paths 5, 6, 7 and 8 will be totally excluded for rule 1 violation. The possibilities remain paths 1, 2, 3 and 4. |
Example 1 | Example 2 |
ine Path 2 and 7 will be totally excluded for rule 2 violation. The possibilities remain paths 1, 3, 4, 5, 6, 8, 9 and 10. | only Path 4 will be excluded for rule 2 violation. The other paths remain possible alternatives. |
Example 1 | Example 2 |
ine Paths 2, 3, 7 and 10 will be totally excluded for rule 4 violation. The possibilities remain paths 1, 4, 5, 6, 8 and 9. | Paths 3 and 4 will be totally excluded for rule 4 violation. The possibilities remain paths 1, 2, 5, 6, 7 and 8. |
Example 1 | Example 2 |
ine Paths 1, 2, 6, 7 and 9 will be totally excluded for above rule violation. The possibilities remain paths 3, 4, 5, 8 and 10. | Paths 4 will be totally excluded for above rule violation. The possibilities remain paths 1, 2, 3, 5, 6, 7 and 8. |
Rules Together Application:
- -
- Rules 1–3:
Example 1 Example 2 ine Paths 4, 5 and 8 are retained. Paths 1, 2 and 3 are retained.
- -
- Rules 1, 5 and 6:
Example 1 Example 2 ine Paths 4, 5 and 8 are retained. Paths 1 and 2 are retained.
- -
- Rules 1 to 6:
Example 1 Example 2 ine Paths 4, 5 and 8 are retained. Paths 1 and 2 are retained.
Example 1 | Example 2 |
ine
|
5.2. Evaluation Phase of Proposed Paths
5.3. Principle to Extract Sequential Patterns of Software Architectures Evolution
Algorithm 1 Sequence |
|
Algorithm 2 Sequence Support |
|
Algorithm 3 Sequentials Patterns |
|
5.4. Principle for Calculating the Rate of Change of Architectural Elements
Algorithm 4 PurcentageEvolution |
|
6. Discussion and Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Bhattacharya, P.; Iliofotou, M.; Neamtiu, I.; Faloutsos, M. Graph-based analysis and prediction for software evolution. In Proceedings of the 2012 34th International Conference on Software Engineering (ICSE), Zurich, Switzerland, 2–9 June 2012; pp. 419–429. [Google Scholar]
- Goulão, M.; Fonte, N.; Wermelinger, M.; e Abreu, F.B. Software evolution prediction using seasonal time analysis: A comparative study. 2012 16th European Conference on Software Maintenance and Reengineering? In Proceedings of the16th European Conference on Software Maintenance and Reengineering, CSMR 2012, Szeged, Hungary, 27–30 March 2012; pp. 213–222. [Google Scholar]
- Herbold, V. Mining Developer Dynamics for Agent-Based Simulation of Software Evolution. Ph.D. Thesis, University of Göttingen, Göttingen, Germany, 2019. [Google Scholar]
- Jaafar, F.; Lozano, A.; Guéhéneuc, Y.; Mens, K. Analyzing software evolution and quality by extracting Asynchrony change patterns. J. Syst. Softw. 2017, 131, 311–322. [Google Scholar] [CrossRef]
- Gasmallah, N.; Amirat, A.; Oussalah, M.; Seridi-Bouchelaghem, H. Developing an evolution software architecture framework based on six dimensions. Int. J. Simul. Process. Model. 2019, 14, 325–337. [Google Scholar] [CrossRef]
- Hassan, A.; Oussalah, M.C. Evolution Styles: Multi-View/Multi-Level Model for Software Architecture Evolution. JSW 2018, 13, 146–154. [Google Scholar] [CrossRef]
- Hassan, A.; Oussalah, M. Meta-Evolution Style for Software Architecture Evolution. In SOFSEM 2016: Theory and Practice of Computer Science—42nd International Conference on Current Trends in Theory and Practice of Computer Science, Harrachov, Czech Republic, 23–28 January 2016; Freivalds, R.M., Engels, G., Catania, B., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2016; Volume 9587, pp. 478–489. [Google Scholar] [CrossRef]
- Filho, J.W.; de Figueiredo Carneiro, G.; Maciel, R.S.P. A Systematic Mapping on Visual Solutions to Support the Comprehension of Software Architecture Evolution. In Proceedings of the 25th International DMS Conference on Visualization and Visual Languages, DMSVIVA 2019, Hotel Tivoli, Lisbon, Portugal, 8–9 July 2019; Joseph, J.P., Jr., Ed.; KSI Research Inc. and Knowledge Systems Institute Graduate School: Skokie, IL, USA, 2019; pp. 63–82. [Google Scholar] [CrossRef]
- Smeda, A.; Oussalah, M.; Khammaci, T. Madl: Meta architecture description language. In Proceedings of the Third ACIS International Conference on Software Engineering, Research, Management and Applications (SERA 2005), Mt. Pleasant, MI, USA, 11–13 August 2005; pp. 152–159. [Google Scholar]
- Magee, J.; Kramer, J. Dynamic structure in software architectures. In ACM SIGSOFT Software Engineering Notes; ACM: New York, NY, USA, 1996; Volume 21, pp. 3–14. [Google Scholar]
- Dashofy, E.M.; Van der Hoek, A.; Taylor, R.N. A highly-extensible, XML-based architecture description language. In Proceedings of the 2001 Working IEEE / IFIP Conference on Software Architecture (WICSA 2001), Amsterdam, The Netherlands, 28–31 August 2001; pp. 103–112. [Google Scholar]
- Cuesta, C.E.; Navarro, E.; Perry, D.E.; Roda, C. Evolution styles: Using architectural knowledge as an evolution driver. J. Softw. Evol. Process 2013, 25, 957–980. [Google Scholar] [CrossRef]
- Agrawal, R.; Srikant, R. Mining Sequential Patterns. In Proceedings of the Eleventh International Conference on Data Engineering, Taipei, Taiwan, 6–10 March 1995; pp. 3–14. [Google Scholar]
- Wu, Y.H.; Chen, A.L. Prediction of web page accesses by proxy server log. World Wide Web 2002, 5, 67–88. [Google Scholar] [CrossRef]
- Hsu, J.L.; Liu, C.C.; Chen, A.L. Discovering nontrivial repeating patterns in music data. IEEE Trans. Multimed. 2001, 3, 311–325. [Google Scholar]
- Xie, T.; Thummalapenta, S.; Lo, D.; Liu, C. Data mining for software engineering. Computer 2009, 42, 55–62. [Google Scholar] [CrossRef]
- Amaral, J.N.; Jocksch, A.P.; Mitran, M. Mining Sequential Patterns in Weighted Directed Graphs. U.S. Patent 8,683,423, 1 April 2014. [Google Scholar]
- Ahmad, A.; Jamshidi, P.; Arshad, M.; Pahl, C. Graph-based implicit knowledge discovery from architecture change logs. In Proceedings of the 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, WICSA/ECSA 2012, Helsinki, Finland, 20–24 August 2012; pp. 116–123. [Google Scholar]
- Bogorny, V.; Avancini, H.; de Paula, B.C.; Kuplich, C.R.; Alvares, L.O. Weka-STPM: A Software Architecture and Prototype for Semantic Trajectory Data Mining and Visualization. Trans. GIS 2011, 15, 227–248. [Google Scholar] [CrossRef]
- Javed, M.; Abgaz, Y.M.; Pahl, C. Graph-Based Discovery of Ontology Change Patterns. In Proceedings of the International Semantic Web Conference (ISWC) Workshops: Joint Workshop on Knowledge Evolution and Ontology Dynamics (EvoDyn), Bonn, Germany, 24 October 2011. [Google Scholar]
- Wright, A.P.; Wright, A.T.; McCoy, A.B.; Sittig, D.F. The Use of Sequential Pattern Mining to Predict Next Prescribed Medications. J. Biomed. Inform. 2015, 53, 73–80. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Srikant, R.; Agrawal, R. Mining sequential patterns: Generalizations and performance improvements. In Proceedings of the International Conference on Extending Database Technology; Springer: Berlin/Heidelberg, Germany, 1996; pp. 1–17. [Google Scholar]
- Chiu, D.Y.; Wu, Y.H.; Chen, A.L. An efficient algorithm for mining frequent sequences by a new strategy without support counting. In Proceedings of the 20th International Conference on Data Engineering, ICDE 2004, Boston, MA, USA, 30 March–2 April 2004; pp. 375–386. [Google Scholar]
- Ziembiński, R. Algorithms for context based sequential pattern mining. Fundam. Inform. 2007, 76, 495–510. [Google Scholar]
- Alkan, O.K.; Karagoz, P. CRoM and HuspExt: Improving efficiency of high utility sequential pattern extraction. In Proceedings of the 32nd IEEE International Conference on Data Engineering, ICDE 2016, Helsinki, Finland, 16–20 May 2016; pp. 1472–1473. [Google Scholar] [CrossRef]
- Mooney, C.; Roddick, J.F. Sequential pattern mining—Approaches and algorithms. ACM Comput. Surv. 2013, 45, 19:1–19:39. [Google Scholar] [CrossRef]
- Oussalah, M.C.; Le Goaer, O.; Tamzalit, D.; Seriai, A. Evolution Shelf: Exploiting Evolution Styles within Software Architectures. In Proceedings of the Twentieth International Conference on Software Engineering & Knowledge Engineering (SEKE’2008), San Francisco, CA, USA, 1–3 July 2008; pp. 387–392. [Google Scholar]
- Garlan, D. Evolution Styles-Formal Foundations and Tool Support for Software Architecture Evolution; School of Computer Science, Carnegie Mellon University: Pittsburgh, PA, USA, 2008; p. 650. [Google Scholar]
- Ciraci, S.; Sozer, H.; Aksit, M. Guiding architects in selecting architectural evolution alternatives. In Proceedings of the European Conference on Software Architecture, Essen, Germany, 13–16 September 2011; pp. 252–260. [Google Scholar]
- Barnes, J.M.; Pandey, A.; Garlan, D. Automated planning for software architecture evolution. In Proceedings of the 2013 28th IEEE/ACM International Conference on Automated Software Engineering, ASE 2013, Silicon Valley, CA, USA, 11–15 November 2013; pp. 213–223. [Google Scholar]
- Mahajan, S.; Pawar, P.; Reshamwala, A. Performance Analysis of Sequential Pattern Mining Algorithms on Large Dense Datasets. Int. J. Appl. Innov. Eng. Manag. 2014, 3, 345–351. [Google Scholar]
Architecture Evolution | Style Name | Actor | Element | Category | Header | TimeEvolution |
---|---|---|---|---|---|---|
Act1 | Component | 01-05-2017 | ||||
Act1 | Component | 02-05-2017 | ||||
Act1 | Connector | 03-05-2017 | ||||
Act2 | Component | 03-05-2017 | ||||
Act2 | Connector | 03-05-2017 | ||||
Act3 | Component | 03-05-2017 | ||||
Act3 | Connector | 03-05-2017 | ||||
Act2 | Component | 03-05-2017 | ||||
Initial | Act2 | connector | 03-05-2017 | |||
architecture | Act3 | Component | 03-05-2017 | |||
creation | Act3 | connector | 03-05-2017 | |||
Act1 | Component | 04-05-2017 | ||||
Act1 | connector | 05-05-2017 | ||||
Act2 | Component | 05-05-2017 | ||||
Act2 | Connector | 05-05-2017 | ||||
Act3 | Component | 05-05-2017 | ||||
Act3 | Connector | 05-05-2017 | ||||
Act2 | Component | 05-05-2017 | ||||
Act2 | Connector | 05-05-2017 | ||||
Act3 | Component | 05-05-2017 | ||||
Act3 | Connector | 05-05-2017 | ||||
Act1 | Component | 06-05-2018 | ||||
Act1 | Connector | 07-05-2018 | ||||
Act2 | Component | 07-05-2018 | ||||
Act2 | Connector | 07-05-2018 | ||||
Act3 | Component | 07-05-2018 | ||||
Act3 | Connector | 07-05-2018 | ||||
Act2 | Component | 07-05-2018 | ||||
Act2 | Connector | 07-05-2018 | ||||
Act3 | Component | 07-05-2018 | ||||
Act3 | Connector | 07-05-2018 | ||||
Act1 | Component | 10-05-2019 | ||||
Act1 | Connector | 11-05-2019 | ||||
Act2 | Component | 11-05-2019 | ||||
Act2 | Connector | 11-05-2019 | ||||
Act3 | Component | 11-05-2019 | ||||
Act3 | Connector | 11-05-2019 | ||||
Act2 | Component | 11-05-2019 | ||||
Act2 | Connector | 11-05-2019 | ||||
Act3 | Component | 11-05-2019 | ||||
Act3 | Connector | 11-05-2019 |
Architecture Evolution | Style Name | Actor | Element | Category | Header | TimeEvolution |
---|---|---|---|---|---|---|
Act1 | Component | 01-05-2017 | ||||
Act1 | Component | 02-05-2017 | ||||
Act1 | Connector | 03-05-2017 | ||||
Act2 | Component | 03-05-2017 | ||||
Act2 | Connector | 03-05-2017 | ||||
Act3 | Component | 03-05-2017 | ||||
Act3 | Connector | 03-05-2017 | ||||
Act2 | Component | 03-05-2017 | ||||
Initial | Act2 | connector | 03-05-2017 | |||
architecture | Act3 | Component | 03-05-2017 | |||
creation | Act3 | connector | 03-05-2017 | |||
Act1 | Component | 04-05-2017 | ||||
Act1 | connector | 05-05-2017 | ||||
Act2 | Component | 05-05-2017 | ||||
Act2 | Connector | 05-05-2017 | ||||
… | … | … | … | … | … | |
Act4 | Connector | 01-06-2018 | ||||
Act4 | Component | 01-06-2018 | ||||
Act4 | Component | 01-06-2018 | ||||
Act4 | Connector | 02-06-2018 | ||||
Act4 | Component | 02-06-2018 | ||||
Act4 | Component | 02-06-2018 | ||||
Act4 | Component | 03-06-2018 | ||||
Act1 | Connector | 03-06-2018 | ||||
Act2 | Connector | 03-06-2018 | ||||
… | … | … | … | … | … | |
Act4 | Connector | 01-04-2019 | ||||
Act4 | Component | 01-04-2019 | ||||
Act4 | Component | 01-04-2019 | ||||
Act1 | Component | 10-04-2019 | ||||
Act1 | Connector | 10-04-2019 | ||||
Act2 | Connector | 11-04-2019 | ||||
Act3 | Component | 11-04-2019 | ||||
Act3 | Connector | 11-04-2019 | ||||
Act2 | Component | 11-04-2019 | ||||
… | … | … | … | … | … |
Category | Element | Evolution Sequence |
---|---|---|
( ) | ||
( ) | ||
Component | ( ) | |
( ) | ||
( ) | ||
( ) | ||
Connector | ( ) | |
( ) | ||
( ) | ||
Architecture | ( Mg) | |
( Mg) |
Category | Element | Evolution Sequence |
---|---|---|
( ) | ||
( ) | ||
Component | ( ) | |
( ) | ||
( ) | ||
( ) | ||
( ) | ||
( ) | ||
Connector | ( ) | |
( ) | ||
( ) | ||
( ) | ||
( Mg) | ||
Architecture | ( Mg) | |
() | ||
Act1 | ( ) | |
Act2 | ( ) | |
Actor | Act3 | ( ) |
Act4 | ( ) |
Category | Evolution Sequence | Support |
---|---|---|
Architecture | ( Mg) | 66.6% |
Component | ( ) | 60% |
( ) | 100% | |
Connector | ( ) | 100% |
Category | Evolution Sequence | Support |
---|---|---|
( Mg) | 33.33% | |
Architecture | ( Mg) | 33.33% |
( ) | 66.66% | |
( ) | 66.66% | |
( ) | 20% | |
( ) | 20% | |
( ) | 20% | |
Component | ( ) | 20% |
( ) | 80% | |
( ) | 100% | |
( ) | 42.86% | |
Connector | ( ) | 57.14% |
( ) | 100% |
Category | Sequential Pattern >25% |
---|---|
Architecture | ( Mg) |
Component | ( ) |
( ) | |
Connector | ( ) |
Category | Sequential Pattern >25% |
---|---|
( Mg) | |
Architecture | ( Mg) |
( ) | |
( ) | |
Component | ( ) |
( ) | |
( ) | |
Connector | ( ) |
( ) |
Possibilities | Evolution Sequence | Weight |
---|---|---|
( Mg) | 1 | |
( Mg) | 1 | |
( Mg) | 0.5 |
Possibilities | Evolution Sequence | Weight |
---|---|---|
( Mg) | 1 | |
( Mg) | 1 |
Category | Result |
---|---|
Architectural elements most affected | , , , , , , |
Architectural elements less affected | and |
The selected architecture | or |
The most active actors | Act2 and Act3 |
The least active actors | Act1 |
Category | Result |
---|---|
Architectural elements most affected | , , , , , , |
Architectural elements less affected | , , , , |
The selected architecture | or |
The most active actors | Act2 and Act3 |
The least active actors | Act1 |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Djibo, K.; Oussalah, M.C.; Konate, J. Modelling and Planning Evolution Styles in Software Architecture. Modelling 2020, 1, 53-76. https://doi.org/10.3390/modelling1010004
Djibo K, Oussalah MC, Konate J. Modelling and Planning Evolution Styles in Software Architecture. Modelling. 2020; 1(1):53-76. https://doi.org/10.3390/modelling1010004
Chicago/Turabian StyleDjibo, Kadidiatou, Mourad Chabane Oussalah, and Jacqueline Konate. 2020. "Modelling and Planning Evolution Styles in Software Architecture" Modelling 1, no. 1: 53-76. https://doi.org/10.3390/modelling1010004
APA StyleDjibo, K., Oussalah, M. C., & Konate, J. (2020). Modelling and Planning Evolution Styles in Software Architecture. Modelling, 1(1), 53-76. https://doi.org/10.3390/modelling1010004