skip to main content
10.1109/ICSE-SEIP58684.2023.00028acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Fulfilling Industrial Needs for Consistency among Engineering Artifacts

Published: 20 September 2023 Publication History

Abstract

Maintaining the consistency of engineering artifacts is a challenge faced by several engineering companies. This is more evident when the engineering artifacts are created using different tools and have different formats. This is the context of a company that builds agricultural machines, where components are developed using a decentralized iterative process. In this study, we present an approach developed in collaboration with an industry partner to address the issues and requirements of a real engineering scenario. These issues include the manual execution of consistency checking, without guidelines that formalize the activity. Furthermore, the industry partner aims at a flexible solution that can be applied without disrupting the current development process significantly. The proposed approach applies consistency rules (CR) defined to automatically detect and provide inconsistency feedback to engineers in real-time. The approach presented in this work also allows the customization of the CRs, giving flexibility to how the consistency checking is applied. The feasibility of our approach is demonstrated in such an industrial scenario, with a discussion about how the issues were addressed and the limitations of the current solution. We also perform a scalability evaluation showing that the approach can be applied in large systems (up to 21,061 elements) in a reasonable amount of time, taking less than 0.25 milliseconds to apply a CR, in the worst cases.

References

[1]
D. Torre, M. Genero, Y. Labiche, and M. Elaasar, "How consistency is handled in model driven software engineering and uml: a survey of experts in academia and industry," Carleton University, Tech. Rep., 2018.
[2]
W. Torres, M. G. Van den Brand, and A. Serebrenik, "A systematic literature review of cross-domain model consistency checking by model management tools," Software and Systems Modeling, pp. 1--20, 2020.
[3]
D. Torre, M. Genero, Y. Labiche, and M. Elaasar, "How consistency is handled in model-driven software engineering and uml: an expert opinion survey," Software Quality Journal, pp. 1--54, 2022.
[4]
F. J. Lucas, F. Molina, and A. Toval, "A systematic review of uml model consistency management," Information and Software Technology, vol. 51, no. 12, pp. 1631--1645, 2009, quality of UML Models.
[5]
C. Nentwich, L. Capra, W. Emmerich, and A. Finkelstein, "xlinkit: a consistency checking and smart link generation service." ACM Trans. Internet Techn., vol. 2, no. 2, pp. 151--185, 2002.
[6]
A. Egyed, "Instant Consistency Checking for the UML," in 28th International Conference on Software Engineering, ser. ICSE '06. New York, NY, USA: Association for Computing Machinery, 2006, pp. 381--390.
[7]
A. Egyed, "Automatically detecting and tracking inconsistencies in software design models," IEEE Transactions on Software Engineering, vol. 37, no. 2, pp. 188--204, 2011.
[8]
A. Reder and A. Egyed, "Incremental Consistency Checking for Complex Design Rules and Larger Model Changes." in MoDELS, ser. Lecture Notes in Computer Science, R. B. France, J. Kazmeier, R. Breu, and C. Atkinson, Eds., vol. 7590. Springer, 2012, pp. 202--218.
[9]
M. Riedl-Ehrenleitner, A. Demuth, and A. Egyed, "Towards modeland-code consistency checking," in Annual Computer Software and Applications Conference, 2014, pp. 85--90.
[10]
D. E. Khelladi, B. Combemale, M. Acher, and O. Barais, "On the power of abstraction: A model-driven co-evolution approach of software code," in International Conference on Software Engineering: New Ideas and Emerging Results, ser. ICSE-NIER '20. New York, NY, USA: Association for Computing Machinery, 2020, p. 85--88.
[11]
M. A. Tröls, L. Marchezan, A. Mashkoor, and A. Egyed, "Instant and global consistency checking during collaborative engineering," Software and Systems Modeling, pp. 1--27, 2022.
[12]
R. Jongeling, "How to Live with Inconsistencies in Industrial Model-Based Development Practice," in International Conference on Model Driven Engineering Languages and Systems Companion, 2019, pp. 642--647.
[13]
M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, A. Y. Ng et al., "Ros: an open-source robot operating system," in ICRA workshop on open source software, vol. 3, no. 3.2. Kobe, Japan, 2009, p. 5.
[14]
OMG, "IDL Specification," https://www.omg.org/spec/IDL/, 2018.
[15]
L. Marchezan, W. K. G. Assunção, G. Michelon, E. Herac, and A. Egyed, "Code smell analysis in cloned java variants: The apogames case study," in International Systems and Software Product Line Conference - Volume A, ser. SPLC '22. New York, NY, USA: Association for Computing Machinery, 2022, p. 250--254.
[16]
L. Marchezan, R. Kretschmer, W. K. Assunção, A. Reder, and A. Egyed, "Generating repairs for inconsistent models," Software and Systems Modeling, pp. 1--33, 2022.
[17]
OMG, "OCL Specification," http://www.omg.org/spec/OCL/, 2014.
[18]
A. Demuth, M. Riedl-Ehrenleitner, A. Nöhrer, P. Hehenberger, K. Zeman, and A. Egyed, "Designspace: An infrastructure for multiuser/multi-tool engineering," in Symposium on Applied Computing, ser. SAC '15. New York, NY, USA: Association for Computing Machinery, 2015, p. 1486--1491.
[19]
L. Marchezan, W. K. G. Assunção, E. Herac, F. Keplinger, A. Egyed, and C. Lauwerys, "Fulfilling Industrial Needs for Consistency Among Engineering Artifacts - Evaluation Data," Oct. 2022.
[20]
N. Moha, Y.-G. Gueheneuc, L. Duchien, and A.-F. Le Meur, "Decor: A method for the specification and detection of code and design smells," IEEE Transactions on Software Engineering, vol. 36, no. 1, pp. 20--36, 2010.
[21]
A. AbuHassan, M. Alshayeb, and L. Ghouti, "Software smell detection techniques: A systematic literature review," Journal of Software: Evolution and Process, vol. 33, no. 3, p. e2320, 2021.
[22]
D. Torre, Y. Labiche, and M. Genero, "Uml consistency rules: A systematic mapping study," in International Conference on Evaluation and Assessment in Software Engineering, ser. EASE '14. New York, NY, USA: Association for Computing Machinery, 2014.
[23]
E. Murphy-Hill, C. Parnin, and A. P. Black, "How we refactor, and how we know it," IEEE Transactions on Software Engineering, vol. 38, no. 1, pp. 5--18, 2012.
[24]
D. Silva, N. Tsantalis, and M. T. Valente, "Why we refactor? Confessions of GitHub contributors," in International Symposium on Foundations of Software Engineering, 2016, pp. 858--870.
[25]
M. Paixão, A. Uchôa, A. C. Bibiano, D. Oliveira, A. Garcia, J. Krinke, and E. Arvonio, Behind the Intents: An In-Depth Empirical Study on Software Refactoring in Modern Code Review. ACM, 2020, p. 125--136.
[26]
M. Koegel and J. Helming, "EMFStore: a model repository for EMF models," in International Conference on Software Engineering-Volume 2. ACM, 2010, pp. 307--308.
[27]
C. Mayr-Dorn, R. Kretschmer, A. Egyed, R. Heradio, and D. Fernandez-Amoros, "Inconsistency-tolerating guidance for software engineering processes," in International Conference on Software Engineering: New Ideas and Emerging Results, 2021, pp. 6--10.
[28]
A. Demuth, R. Kretschmer, A. Egyed, and D. Maes, "Introducing traceability and consistency checking for change impact analysis across engineering tools in an automation solution company: An experience report," in International Conference on Software Maintenance and Evolution, 2016, pp. 529--538.
[29]
R. Kretschmer, D. E. Khelladi, and A. Egyed, "Transforming abstract to concrete repairs with a generative approach of repair values," Journal of Systems and Software, vol. 175, p. 110889, 2021.
[30]
L. Marchezan, W. K. G. Assuncao, R. Kretschmer, and A. Egyed, "Change-oriented repair propagation," in International Conference on Software and System Processes and International Conference on Global Software Engineering, ser. ICSSP'22. New York, NY, USA: Association for Computing Machinery, 2022, p. 82--92.
[31]
A. Barriga, A. Rutle, and R. Heldal, "Personalized and automatic model repairing using reinforcement learning," in International Conference on Model Driven Engineering Languages and Systems Companion, 2019, pp. 175--181.
[32]
M. Ohrndorf, C. Pietsch, U. Kelter, and T. Kehrer, "ReVision: A Tool for History-Based Model Repair Recommendations," in 40th International Conference on Software Engineering: Companion Proceeedings, ser. ICSE '18. New York, NY, USA: Association for Computing Machinery, 2018, pp. 105--108.
[33]
D. Steinberg, F. Budinsky, E. Merks, and M. Paternostro, EMF: eclipse modeling framework. Pearson Education, 2008.
[34]
M. A. Tröls, A. Mashkoor, and A. Egyed, "Timestamp-based consistency checking of collaboratively developed engineering artifacts," in International Conference on Software and System Processes, 2021.
[35]
C. Nentwich, W. Emmerich, and A. Finkelsteiin, "Consistency management with repair actions," in International Conference on Software Engineering, ser. ICSE '03. IEEE, 2003, pp. 455--464.
[36]
D. E. Khelladi, B. Combemale, M. Acher, O. Barais, and J.-M. Jézéquel, "Co-evolving code with evolving metamodels," in International Conference on Software Engineering. ACM, 2020, p. 1496--1508.
[37]
V. Kaliappan and N. M. Ali, "Improving consistency of uml diagrams and its implementation using reverse engineering approach," Bulletin of Electrical Engineering and Informatics, vol. 7, no. 4, pp. 665--672, 2018.
[38]
J. Adersberger and M. Philippsen, "Reflexml: Uml-based architecture-to-code traceability and consistency checking," in European Conference on Software Architecture. Springer, 2011, pp. 344--359.
[39]
Z. Diskin, Y. Xiong, and K. Czarnecki, "Specifying overlaps of heterogeneous models for global consistency checking," in International Workshop on Model-Driven Interoperability, ser. MDI '10. New York, NY, USA: Association for Computing Machinery, 2010, p. 42--51.
[40]
J. Lenhard, M. Blom, and S. Herold, "Exploring the suitability of source code metrics for indicating architectural inconsistencies," Software Quality Journal, vol. 27, no. 1, pp. 241--274, 2019.
[41]
G. Murphy, D. Notkin, and K. Sullivan, "Software reflexion models: bridging the gap between design and implementation," IEEE Transactions on Software Engineering, vol. 27, no. 4, pp. 364--380, 2001.
[42]
N. Ubayashi, J. Nomura, and T. Tamai, "Archface: a contract place where architectural design and code meet together," in International Conference on Software Engineering, vol. 1, 2010, pp. 75--84.
[43]
D. Cassou, E. Balland, C. Consel, and J. Lawall, "Leveraging software architectures to guide and verify the development of sense/compute/control applications," in International Conference on Software Engineering, ser. ICSE '11. ACM, 2011, p. 431--440.
[44]
H. M. Chavez, W. Shen, R. B. France, B. A. Mechling, and G. Li, "An approach to checking consistency between uml class model and its java implementation," IEEE Transactions on Software Engineering, vol. 42, no. 4, pp. 322--344, 2016.
[45]
Y. Zheng and R. N. Taylor, "Enhancing architecture-implementation conformance with change management and support for behavioral mapping," in International Conference on Software Engineering, 2012, pp. 628--638.
[46]
R. Jongeling, J. Fredriksson, F. Ciccozzi, A. Cicchetti, and J. Carlson, "Towards consistency checking between a system model and its implementation," in Systems Modelling and Management, Ö. Babur, J. Denil, and B. Vogel-Heuser, Eds. Cham: Springer International Publishing, 2020, pp. 30--39.
[47]
R. Jongeling, A. Cicchetti, F. Ciccozzi, and J. Carlson, Towards Boosting the OpenMBEE Platform with Model-Code Consistency. New York, NY, USA: Association for Computing Machinery, 2020.
[48]
M. Zaheri, M. Famelis, and E. Syriani, "Towards checking consistency-breaking updates between models and generated artifacts," in International Conference on Model Driven Engineering Languages and Systems Companion, 2021, pp. 400--409.
[49]
A. D. Durai, M. Ganesh, R. M. Mathew, and D. K. Anguraj, "A novel approach with an extensive case study and experiment for automatic code generation from the xmi schema of uml models," The Journal of Supercomputing, vol. 78, no. 6, pp. 7677--7699, 2022.
[50]
W. Harrison, C. Barton, and M. Raghavachari, "Mapping uml designs to java," SIGPLAN Not., vol. 35, no. 10, p. 178--187, oct 2000.
[51]
U. Sabir, F. Azam, S. U. Haq, M. W. Anwar, W. H. Butt, and A. Amjad, "A model driven reverse engineering framework for generating high level uml models from java source code," IEEE Access, vol. 7, pp. 158 931--158 950, 2019.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-SEIP '23: Proceedings of the 45th International Conference on Software Engineering: Software Engineering in Practice
May 2023
522 pages
ISBN:9798350300376

Sponsors

In-Cooperation

  • IEEE CS

Publisher

IEEE Press

Publication History

Published: 20 September 2023

Check for updates

Author Tags

  1. model-driven engineering
  2. consistency checking
  3. trace generation
  4. consistency flexibility

Qualifiers

  • Research-article

Conference

ICSE-SEIP '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 18
    Total Downloads
  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)1
Reflects downloads up to 24 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media