{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,29]],"date-time":"2025-10-29T03:41:37Z","timestamp":1761709297814},"reference-count":38,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2017,5,1]],"date-time":"2017-05-01T00:00:00Z","timestamp":1493596800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2017,5]]},"DOI":"10.1016\/j.jss.2017.01.032","type":"journal-article","created":{"date-parts":[[2017,2,2]],"date-time":"2017-02-02T14:30:34Z","timestamp":1486045834000},"page":"91-108","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":4,"special_numbering":"C","title":["Generating reusable, searchable and executable \u201carchitecture constraints as services\u201d"],"prefix":"10.1016","volume":"127","author":[{"given":"Sahar","family":"Kallel","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bastien","family":"Tramoni","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chouki","family":"Tibermacine","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christophe","family":"Dony","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ahmed Hadj","family":"Kacem","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2017.01.032_bib0001","series-title":"Framework for Ambient Assistive Living: Handling Dynamism and Uncertainty in Real Time Semantic Services Provisioning","author":"Aloulou","year":"2013"},{"key":"10.1016\/j.jss.2017.01.032_bib0002","series-title":"Modelling Foundations and Applications","first-page":"132","article-title":"Transformation rules for translating business rules to OCL constraints","author":"Bajwa","year":"2011"},{"key":"10.1016\/j.jss.2017.01.032_bib0003","series-title":"Design Rules: The Power of Modularity","volume":"1","author":"Baldwin","year":"2000"},{"issue":"9","key":"10.1016\/j.jss.2017.01.032_bib0004","doi-asserted-by":"crossref","first-page":"577","DOI":"10.1109\/TSE.2007.70725","article-title":"Comparison and evaluation of clone detection tools","volume":"33","author":"Bellon","year":"2007","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.01.032_bib0005","series-title":"Proceedings of the Sixteenth Annual International Conference on Automated Software Engineering (ASE 2001)","first-page":"324","article-title":"Automatic verification of Java design patterns","author":"Blewitt","year":"2001"},{"key":"10.1016\/j.jss.2017.01.032_bib0006","series-title":"Technical Report","article-title":"Using Aspect-Oriented Programming to Instrument OCL Contracts in Java","author":"Briand","year":"2004"},{"key":"10.1016\/j.jss.2017.01.032_bib0007","doi-asserted-by":"crossref","first-page":"833","DOI":"10.1109\/TSE.2005.105","article-title":"An experimental investigation of formality in UML-based development","volume":"31","author":"Briand","year":"2005","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.01.032_bib0008","series-title":"Pattern-Oriented Software Architecture: On Patterns and Pattern Languages","volume":"5","author":"Buschmann","year":"2007"},{"key":"10.1016\/j.jss.2017.01.032_bib0009","series-title":"Proceedings of the Twenty-second IEEE\/ACM International Conference on Automated Software Engineering","first-page":"547","article-title":"Umltocsp: a tool for the formal verification of UML\/OCL models using constraint programming","author":"Cabot","year":"2007"},{"issue":"3","key":"10.1016\/j.jss.2017.01.032_bib0010","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1016\/j.scico.2007.05.001","article-title":"Transformation techniques for OCL constraints","volume":"68","author":"Cabot","year":"2007","journal-title":"Sci. Comput. Program."},{"key":"10.1016\/j.jss.2017.01.032_bib0011","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1049\/iet-sen.2008.0022","article-title":"Refactoring to improve the understandability of specifications written in object constraint language","volume":"3","author":"Correa","year":"2009","journal-title":"Softw. IET"},{"key":"10.1016\/j.jss.2017.01.032_bib0012","series-title":"Proceedings of the 2004 ISD2004","article-title":"The dresden OCL toolkit and its role in information systems development","author":"Demuth","year":"2004"},{"key":"10.1016\/j.jss.2017.01.032_sbref0013","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1145\/112630.112643","article-title":"What price reusability?: a case study","volume":"11","author":"Favaro","year":"1991","journal-title":"ACM SIGAda Ada Lett."},{"key":"10.1016\/j.jss.2017.01.032_bib0014","series-title":"Proceedings of the 2013 IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2013)","first-page":"1044,1051","article-title":"A CSP approach for metamodel instantiation","author":"Ferdjoukh","year":"2013"},{"key":"10.1016\/j.jss.2017.01.032_bib0015","series-title":"Proceedings of the Eleventh European Conference, Jyv\u00e4skyl\u00e4, Finland","article-title":"Refactoring: Improving the design of existing code","author":"Fowler","year":"1997"},{"key":"10.1016\/j.jss.2017.01.032_bib0016","series-title":"Proceedings of the Twenty-ninth International Conference on Software Engineering","first-page":"313","article-title":"Overview and evaluation of constraint validation approaches in Java","author":"Froihofer","year":"2007"},{"key":"10.1016\/j.jss.2017.01.032_bib0017","series-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma","year":"1994"},{"key":"10.1016\/j.jss.2017.01.032_bib0018","series-title":"Proceedings of the Thirteenth European Conference on Software Maintenance and Reengineering (CSMR\u201909)","first-page":"255","article-title":"Identifying architectural bad smells","author":"Garcia","year":"2009"},{"key":"10.1016\/j.jss.2017.01.032_bib0019","series-title":"Proceedings of the Thirty-seventh IEEE\/ACM IEEE International Conference on Software Engineering","first-page":"59","article-title":"Automatic and continuous software architecture validation","volume":"2","author":"Goldstein","year":"2015"},{"key":"10.1016\/j.jss.2017.01.032_bib0020","series-title":"Proceedings of the 2004 ACM Symposium on Applied Computing","first-page":"1531","article-title":"Translating the object constraint language into the Java modelling language","author":"Hamie","year":"2004"},{"key":"10.1016\/j.jss.2017.01.032_bib0021","series-title":"Proceedings of the 2010 BElgian-NEtherlands Software eVOLution Seminar (BENEVOL 2010)","first-page":"16","article-title":"Adapting OCL constraints after a refactoring of their model using an MDE process","author":"Hassam","year":"2010"},{"key":"10.1016\/j.jss.2017.01.032_bib0022","series-title":"Satellite Events at the MoDELS 2005 Conference","first-page":"128","article-title":"Transforming models with atl","author":"Jouault","year":"2006"},{"key":"10.1016\/j.jss.2017.01.032_bib0023","series-title":"Proceedings of the Ninth European Conference on Software Architecture","first-page":"322","article-title":"Automatic translation of architecture constraint specifications into components","author":"Kallel","year":"2015"},{"key":"10.1016\/j.jss.2017.01.032_bib0024","series-title":"Proceedings of the Second Asia-Pacific conference on Conceptual modelling-Volume 43","first-page":"69","article-title":"A pattern enforcing compiler (PEC) for Java: using the compiler","author":"Lovatt","year":"2005"},{"key":"10.1016\/j.jss.2017.01.032_bib0025","series-title":"Proceedings of the 2008 International Conference on Fundamental Approaches to Software Engineering","first-page":"276","article-title":"A domain analysis to specify design defects and generate detection algorithms","author":"Moha","year":"2008"},{"key":"10.1016\/j.jss.2017.01.032_bib0026","series-title":"Proceedings of the Thirty-fifth International Conference on Software Engineering (ICSE 2013)","first-page":"722","article-title":"Uml in practice","author":"Petre","year":"2013"},{"key":"10.1016\/j.jss.2017.01.032_bib0027","series-title":"Proceedings of the Twelfth Workshop on OCL and Textual Modelling","first-page":"7","article-title":"Tool supported OCL refactoring catalogue","author":"Reimann","year":"2012"},{"key":"10.1016\/j.jss.2017.01.032_bib0028","series-title":"Software Architecture: Perspectives on an Emerging Discipline","author":"Shaw","year":"1996"},{"issue":"3","key":"10.1016\/j.jss.2017.01.032_bib0029","doi-asserted-by":"crossref","first-page":"422","DOI":"10.1145\/322139.322143","article-title":"The tree-to-tree correction problem","volume":"26","author":"Tai","year":"1997","journal-title":"J. ACM"},{"key":"10.1016\/j.jss.2017.01.032_bib0030","series-title":"Proceedings of the 2012 International Semantic Web Conference","first-page":"212","article-title":"Semantic reasoning in context-aware assistive environments to support ageing with dementia","author":"Tiberghien","year":"2012"},{"key":"10.1016\/j.jss.2017.01.032_sbref0031","series-title":"Software Architecture 2","first-page":"37","author":"Tibermacine","year":"2014"},{"key":"10.1016\/j.jss.2017.01.032_sbref0032","series-title":"Proceedings of the 2006 Symposium on Component-Based Software Engineering (CBSE\u201906)","first-page":"294","article-title":"On-demand quality-oriented assistance in component-based software evolution","author":"Tibermacine","year":"2006"},{"key":"10.1016\/j.jss.2017.01.032_bib0033","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1016\/j.future.2016.02.006","article-title":"Software architecture constraint reuse-by-composition","volume":"61","author":"Tibermacine","year":"2016","journal-title":"J. Fut. Gen. Comput. Syst."},{"key":"10.1016\/j.jss.2017.01.032_sbref0034","series-title":"Technical Report","article-title":"Catalogue of Architectural Patterns Characterized by Constraint Components, Version 1.0","author":"Ton That","year":"2013"},{"issue":"3","key":"10.1016\/j.jss.2017.01.032_bib0035","doi-asserted-by":"crossref","first-page":"347","DOI":"10.1109\/TSE.2009.1","article-title":"Identification of move method refactoring opportunities","volume":"35","author":"Tsantalis","year":"2009","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.01.032_bib0036","series-title":"Proceedings of the Fortieth International Conference on Tools Pacific","first-page":"23","article-title":"Specifying and implementing the operational use of constraints in object-oriented applications","author":"Verheecke","year":"2002"},{"key":"10.1016\/j.jss.2017.01.032_bib0037","series-title":"Proceedings of the Thirty-sixth International Conference on Software Engineering","first-page":"967","article-title":"Design rule spaces: a new form of architecture insight","author":"Xiao","year":"2014"},{"issue":"9","key":"10.1016\/j.jss.2017.01.032_bib0038","article-title":"A catalog of architectural primitives for modeling architectural patterns","volume":"50","author":"Zdun","year":"2008","journal-title":"Inf. Softw. Technol."}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121217300213?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121217300213?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,9,4]],"date-time":"2018-09-04T17:54:45Z","timestamp":1536083685000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121217300213"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,5]]},"references-count":38,"alternative-id":["S0164121217300213"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2017.01.032","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2017,5]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Generating reusable, searchable and executable \u201carchitecture constraints as services\u201d","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2017.01.032","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2017 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}