{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,16]],"date-time":"2025-10-16T06:31:13Z","timestamp":1760596273127,"version":"3.37.3"},"reference-count":43,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2017,8,16]],"date-time":"2017-08-16T00:00:00Z","timestamp":1502841600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Braz Comput Soc"],"published-print":{"date-parts":[[2017,12]]},"DOI":"10.1186\/s13173-017-0061-z","type":"journal-article","created":{"date-parts":[[2017,8,16]],"date-time":"2017-08-16T11:58:52Z","timestamp":1502884732000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["DCL 2.0: modular and reusable specification of architectural constraints"],"prefix":"10.1186","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9154-0277","authenticated-orcid":false,"given":"Henrique","family":"Rocha","sequence":"first","affiliation":[]},{"given":"Rafael Serapilha","family":"Durelli","sequence":"additional","affiliation":[]},{"given":"Ricardo","family":"Terra","sequence":"additional","affiliation":[]},{"given":"S\u00e2ndalo","family":"Bessa","sequence":"additional","affiliation":[]},{"given":"Marco T\u00falio","family":"Valente","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,8,16]]},"reference":[{"issue":"2","key":"61_CR1","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1109\/MS.2006.58","volume":"23","author":"M Shaw","year":"2006","unstructured":"Shaw M, Clements P (2006) The golden age of software architecture. IEEE Softw 23(2): 31\u201339.","journal-title":"IEEE Softw"},{"issue":"12","key":"61_CR2","doi-asserted-by":"publisher","first-page":"2413","DOI":"10.1016\/j.jss.2008.08.025","volume":"81","author":"P Kruchten","year":"2008","unstructured":"Kruchten P (2008) What do software architects really do?. J Syst Softw 81(12): 2413\u20132416.","journal-title":"J Syst Softw"},{"key":"61_CR3","first-page":"294","volume-title":"10th European Conference on Software Maintenance and Reengineering (CSMR)","author":"J Knodel","year":"2006","unstructured":"Knodel J, Lindvall M, Muthig D, Naab M (2006) Static evaluation of software architectures In: 10th European Conference on Software Maintenance and Reengineering (CSMR), 294\u2013304.. IEEE Computer Society, Washington."},{"issue":"1","key":"61_CR4","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1002\/spe.999","volume":"41","author":"J Rosik","year":"2011","unstructured":"Rosik J, Le Gear A, Buckley J, Babar MA, Connolly D (2011) Assessing architectural drift in commercial software development: a case study. Softw Pract Experience 41(1): 63\u201386.","journal-title":"Softw Pract Experience"},{"issue":"6","key":"61_CR5","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1109\/52.469759","volume":"12","author":"P Kruchten","year":"1995","unstructured":"Kruchten P (1995) The 4+1 view model of architecture. IEEE Softw 12(6): 42\u201350.","journal-title":"IEEE Softw"},{"key":"61_CR6","first-page":"287","volume-title":"24th International Conference on Software Maintenance (ICSM)","author":"J Knodel","year":"2008","unstructured":"Knodel J, Muthig D, Rost D (2008) Constructive architecture compliance checking - an experiment on support by live feedback In: 24th International Conference on Software Maintenance (ICSM), 287\u2013296.. IEEE Computer Society, Washington."},{"key":"61_CR7","doi-asserted-by":"crossref","first-page":"167","DOI":"10.1145\/1094811.1094824","volume-title":"20th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)","author":"N Sangal","year":"2005","unstructured":"Sangal N, Jordan E, Sinha V, Jackson D (2005) Using dependency models to manage complex software architecture In: 20th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 167\u2013176.. ACM, New York."},{"key":"61_CR8","doi-asserted-by":"crossref","first-page":"85","DOI":"10.1145\/2451436.2451448","volume-title":"12th International Conference on Aspect-oriented Software Development (AOSD)","author":"R Mitschke","year":"2013","unstructured":"Mitschke R, Eichberg M, Mezini M, Garcia A, Macia I (2013) Modular specification and checking of structural dependencies In: 12th International Conference on Aspect-oriented Software Development (AOSD), 85\u201396.. ACM, New York."},{"key":"61_CR9","first-page":"222","volume-title":"20th Working Conference on Reverse Engineering (WCRE)","author":"C Maffort","year":"2013","unstructured":"Maffort C, Valente MT, Anquetil N, Hora A, Bigonha M (2013) Heuristics for discovering architectural violations In: 20th Working Conference on Reverse Engineering (WCRE), 222\u2013231.. IEEE Computer Society, Washington."},{"issue":"5","key":"61_CR10","doi-asserted-by":"publisher","first-page":"82","DOI":"10.1109\/MS.2009.117","volume":"27","author":"L Passos","year":"2010","unstructured":"Passos L, Terra R, Valente MT, Diniz R, Mendonca N (2010) Static architecture-conformance checking: an illustrative overview. IEEE Softw 27(5): 82\u201389.","journal-title":"IEEE Softw"},{"key":"61_CR11","first-page":"18","volume-title":"3rd Symposium on Foundations of Software Engineering (FSE)","author":"G Murphy","year":"1995","unstructured":"Murphy G, Notkin D, Sullivan K (1995) Software reflexion models: bridging the gap between source and high-level models In: 3rd Symposium on Foundations of Software Engineering (FSE), 18\u201328.. ACM, New York."},{"issue":"12","key":"61_CR12","doi-asserted-by":"publisher","first-page":"1073","DOI":"10.1002\/spe.931","volume":"39","author":"R Terra","year":"2009","unstructured":"Terra R, Valente MT (2009) A dependency constraint language to manage object-oriented software architectures. Softw Pract Experience 39(12): 1073\u20131094.","journal-title":"Softw Pract Experience"},{"key":"61_CR13","first-page":"31","volume-title":"X Simp\u00f3sio Brasileiro de Componentes, Arquiteturas e Reutiliza\u00e7\u00e3o de Software (SBCARS)","author":"S Bessa","year":"2016","unstructured":"Bessa S, Valente MT, Terra R (2016) Modular specification of architectural constraints In: X Simp\u00f3sio Brasileiro de Componentes, Arquiteturas e Reutiliza\u00e7\u00e3o de Software (SBCARS), 31\u201340.. IEEE Computer Society, Washington."},{"key":"61_CR14","doi-asserted-by":"publisher","first-page":"53","DOI":"10.1145\/1988676.1988687","volume-title":"6th International Workshop on SHAring and Reusing Architectural Knowledge (SHARK)","author":"J Van Eyck","year":"2011","unstructured":"Van Eyck J, Bouck\u00e9 N, Helleboogh A, Holvoet T (2011) Using code analysis tools for architectural conformance checking In: 6th International Workshop on SHAring and Reusing Architectural Knowledge (SHARK), 53\u201354.. ACM, New York."},{"issue":"3","key":"61_CR15","doi-asserted-by":"publisher","first-page":"315","DOI":"10.1002\/spe.2228","volume":"45","author":"R Terra","year":"2015","unstructured":"Terra R, Valente MT, Czarnecki K, Bigonha RS (2015) A recommendation system for repairing violations detected by static architecture conformance checking. Softw Pract Experience 45(3): 315\u2013342.","journal-title":"Softw Pract Experience"},{"key":"61_CR16","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1145\/2597008.2597156","volume-title":"22th International Conference on Program Comprehension (ICPC)","author":"V Zapalowski","year":"2014","unstructured":"Zapalowski V, Nunes I, Nunes DJ (2014) Revealing the relationship between architectural elements and source code characteristics In: 22th International Conference on Program Comprehension (ICPC), 14\u201325.. ACM, New York."},{"key":"61_CR17","first-page":"36","volume-title":"10th Working Conference on Reverse Engineering (WCRE)","author":"R Koschke","year":"2003","unstructured":"Koschke R, Simon D (2003) Hierarchical reflexion models In: 10th Working Conference on Reverse Engineering (WCRE), 36\u201345.. IEEE Computer Society, Washington."},{"key":"61_CR18","unstructured":"Knodel J (2002) Process models for the reconstruction of software architecture views. PhD thesis, Universit\u00e4t Stuttgart."},{"key":"61_CR19","first-page":"12","volume-title":"6th Working IEEE\/IFIP Conference on Software Architecture (WICSA)","author":"J Knodel","year":"2007","unstructured":"Knodel J, Popescu D (2007) A comparison of static architecture compliance checking approaches In: 6th Working IEEE\/IFIP Conference on Software Architecture (WICSA), 12\u201312.. IEEE Computer Society, Washington."},{"key":"61_CR20","first-page":"43","volume-title":"12th European Conference on Software Maintenance and Reengineering (CSMR)","author":"J Knodel","year":"2008","unstructured":"Knodel J, Muthig D, Haury U, Meier G (2008) Architecture compliance checking-experiences from successful technology transfer to industry In: 12th European Conference on Software Maintenance and Reengineering (CSMR), 43\u201352.. IEEE Computer Society, Washington."},{"issue":"5","key":"61_CR21","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1145\/503271.503224","volume":"26","author":"KJ Sullivan","year":"2001","unstructured":"Sullivan KJ, Griswold WG, Cai Y, Hallen B (2001) The structure and value of modularity in software design. ACM SIGSOFT Softw Eng Notes 26(5): 99\u2013108.","journal-title":"ACM SIGSOFT Softw Eng Notes"},{"key":"61_CR22","volume-title":"Design rules: the power of modularity","author":"CY Baldwin","year":"1999","unstructured":"Baldwin CY, Clark KB (1999) Design rules: the power of modularity. MIT Press, Cambridge."},{"key":"61_CR23","first-page":"3","volume-title":"7th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM)","author":"O De Moor","year":"2007","unstructured":"De Moor O, Verbaere M, Hajiyev E, Avgustinov P, Ekman T, Ongkingco N, Sereni D, Tibble J (2007) Keynote address: QL for source code analysis In: 7th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), 3\u201316.. IEEE Computer Society, Washington."},{"key":"61_CR24","first-page":"255","volume-title":"31st International Conference on Software Engineering (ICSE)","author":"J Brunet","year":"2009","unstructured":"Brunet J, Guerrero D, Figueiredo J (2009) Design tests: an approach to programmatically check your code against design rules In: 31st International Conference on Software Engineering (ICSE), 255\u2013258.. IEEE Computer Society, Washington."},{"key":"61_CR25","doi-asserted-by":"publisher","first-page":"692","DOI":"10.1007\/11880240_48","volume-title":"9th International Conference on Model Driven Engineering Languages and Systems (MoDELS)","author":"M Antkiewicz","year":"2006","unstructured":"Antkiewicz M, Czarnecki K (2006) Framework-specific modeling languages with round-trip engineering In: 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS), 692\u2013706.. Springer-Verlag, Berlin."},{"issue":"3","key":"61_CR26","doi-asserted-by":"publisher","first-page":"854","DOI":"10.1007\/s10664-014-9348-2","volume":"21","author":"C Maffort","year":"2016","unstructured":"Maffort C, Valente MT, Terra R, Bigonha M, Anquetil N, Hora A (2016) Mining architectural violations from version history. Empir Softw Eng 21(3): 854\u2013895.","journal-title":"Empir Softw Eng"},{"key":"61_CR27","unstructured":"(2012) OMG: object constraint language (OCL), Version 2.3.1. http:\/\/www.omg.org\/spec\/OCL\/2.3.1\/ . Accessed 20 May 2017."},{"issue":"C","key":"61_CR28","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1016\/j.future.2016.02.006","volume":"61","author":"C Tibermacine","year":"2016","unstructured":"Tibermacine C, Sadou S, Ton That MT, Dony C (2016) Software architecture constraint reuse-by-composition. J Futur Gener Comput Syst 61(C): 37\u201353.","journal-title":"J Futur Gener Comput Syst"},{"key":"61_CR29","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1145\/1147249.1147259","volume-title":"ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis. ROSATEA \u201906","author":"JS Kim","year":"2006","unstructured":"Kim JS, Garlan D (2006) Analyzing architectural styles with alloy In: ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis. ROSATEA \u201906, 70\u201380.. ACM, New York."},{"key":"61_CR30","unstructured":"Monroe RT, Overview A (1998) Capturing software architecture design expertise with armani. Technical report, Carnegie Mellon University."},{"key":"61_CR31","first-page":"335","volume-title":"16th European Conference on Software Maintenance and Reengineering (CSMR)","author":"R Terra","year":"2012","unstructured":"Terra R, Valente MT, Czarnecki K, Bigonha RS (2012) Recommending refactorings to reverse software architecture erosion In: 16th European Conference on Software Maintenance and Reengineering (CSMR), 335\u2013340.. IEEE Computer Society, Washington."},{"issue":"3","key":"61_CR32","doi-asserted-by":"publisher","first-page":"1","DOI":"10.5381\/jot.2016.15.3.a1","volume":"15","author":"S Miranda","year":"2016","unstructured":"Miranda S, Rodrigues E, Valente MT, Terra R (2016) Architecture conformance checking in dynamically typed languages. J Object Technol 15(3): 1\u201334.","journal-title":"J Object Technol"},{"issue":"12","key":"61_CR33","doi-asserted-by":"publisher","first-page":"1053","DOI":"10.1145\/361598.361623","volume":"15","author":"DL Parnas","year":"1972","unstructured":"Parnas DL (1972) On the criteria to be used in decomposing systems into modules. Commun ACM 15(12): 1053\u20131058.","journal-title":"Commun ACM"},{"issue":"5","key":"61_CR34","doi-asserted-by":"publisher","first-page":"551","DOI":"10.1007\/s10664-007-9037-5","volume":"12","author":"P Tonella","year":"2007","unstructured":"Tonella P, Torchiano M, Du Bois B, Syst\u00e4 T (2007) Empirical studies in reverse engineering: state of the art and future trends. Empir Softw Eng 12(5): 551\u2013571.","journal-title":"Empir Softw Eng"},{"key":"61_CR35","first-page":"335","volume-title":"16th European Conference on Software Maintenance and Reengineering (CSMR)","author":"R Terra","year":"2012","unstructured":"Terra R, Valente MT, Czarnecki K, Bigonha RS (2012) Recommending refactorings to reverse software architecture erosion In: 16th European Conference on Software Maintenance and Reengineering (CSMR), 335\u2013340.. IEEE Computer Society, Washington."},{"key":"61_CR36","first-page":"191","volume-title":"27th Annual NASA Goddard\/IEEE, Software Engineering Workshop","author":"RT Tvedt","year":"2002","unstructured":"Tvedt RT, Lindvall M, Costa P (2002) A process for software architecture evaluation using metrics In: 27th Annual NASA Goddard\/IEEE, Software Engineering Workshop, 191\u2013196.. IEEE Computer Society, Washington."},{"key":"61_CR37","unstructured":"Lee H, Antkiewicz M, Czarnecki K (2008) Towards a generic infrastructure for framework-specific integrated development environment extensions In: 2nd Workshop on Domain-Specific Program Development (DSPD), 1\u20136."},{"key":"61_CR38","doi-asserted-by":"crossref","unstructured":"Bajwa IS, Bordbar B, Lee MGOcl constraints generation from natural language specification In: 2010 14th IEEE International Enterprise Distributed Object Computing Conference, 204\u2013213.. IEEE Computer Society, Washington.","DOI":"10.1109\/EDOC.2010.33"},{"issue":"5","key":"61_CR39","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1109\/MS.2014.106","volume":"32","author":"J Brunet","year":"2015","unstructured":"Brunet J, Murphy GC, Serey D, Figueiredo J (2015) Five years of software architecture checking: a case study of Eclipse. IEEE Softw 32(5): 30\u201336.","journal-title":"IEEE Softw"},{"key":"61_CR40","doi-asserted-by":"crossref","first-page":"551","DOI":"10.1145\/1985793.1985868","volume-title":"Proceedings of the 33rd International Conference on Software Engineering. ICSE \u201911","author":"R Wettel","year":"2011","unstructured":"Wettel R, Lanza M, Robbes R (2011) Software systems as cities: a controlled experiment In: Proceedings of the 33rd International Conference on Software Engineering. ICSE \u201911, 551\u2013560.. ACM, New York."},{"key":"61_CR41","first-page":"1","volume":"abs\/1705.05476","author":"M Viana","year":"2017","unstructured":"Viana M, Hora A, Valente MT (2017) Codecity for (and by) JavaScript. Comput Res Repository (CoRR)abs\/1705.05476: 1\u20139.","journal-title":"Comput Res Repository (CoRR)"},{"key":"61_CR42","first-page":"69","volume-title":"37th International Conference on Software Engineering. ICSE \u201915","author":"T Lutellier","year":"2015","unstructured":"Lutellier T, Chollak D, Garcia J, Tan L, Rayside D, Medvidovi\u0107 N, Kroeger R (2015) Comparing software architecture recovery techniques using accurate dependencies In: 37th International Conference on Software Engineering. ICSE \u201915, 69\u201378.. IEEE Press, Piscataway."},{"key":"61_CR43","doi-asserted-by":"publisher","first-page":"153","DOI":"10.1145\/2508075.2508433","volume-title":"Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, & Applications: Software for Humanity. SPLASH \u201913","author":"P Merson","year":"2013","unstructured":"Merson P (2013) Ultimate architecture enforcement: custom checks enforced at code-commit time In: Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, & Applications: Software for Humanity. SPLASH \u201913, 153\u2013160.. ACM, New York."}],"container-title":["Journal of the Brazilian Computer Society"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1186\/s13173-017-0061-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s13173-017-0061-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1186\/s13173-017-0061-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,8,13]],"date-time":"2024-08-13T10:46:00Z","timestamp":1723545960000},"score":1,"resource":{"primary":{"URL":"https:\/\/journal-bcs.springeropen.com\/articles\/10.1186\/s13173-017-0061-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,16]]},"references-count":43,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,12]]}},"alternative-id":["61"],"URL":"https:\/\/doi.org\/10.1186\/s13173-017-0061-z","relation":{},"ISSN":["0104-6500","1678-4804"],"issn-type":[{"type":"print","value":"0104-6500"},{"type":"electronic","value":"1678-4804"}],"subject":[],"published":{"date-parts":[[2017,8,16]]},"article-number":"12"}}