{"id":"https://openalex.org/W2967367338","doi":"https://doi.org/10.5220/0007950904990507","title":"Teaching Design-by-Contract for the Modeling and Implementation of Software Systems","display_name":"Teaching Design-by-Contract for the Modeling and Implementation of Software Systems","publication_year":2019,"publication_date":"2019-01-01","ids":{"openalex":"https://openalex.org/W2967367338","doi":"https://doi.org/10.5220/0007950904990507","mag":"2967367338"},"language":"en","primary_location":{"id":"doi:10.5220/0007950904990507","is_oa":false,"landing_page_url":"https://doi.org/10.5220/0007950904990507","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 14th International Conference on Software Technologies","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5039455399","display_name":"Mert \u00d6zkaya","orcid":"https://orcid.org/0000-0002-3464-6489"},"institutions":[{"id":"https://openalex.org/I100072489","display_name":"Yeditepe University","ror":"https://ror.org/025mx2575","country_code":"TR","type":"education","lineage":["https://openalex.org/I100072489"]}],"countries":["TR"],"is_corresponding":true,"raw_author_name":"Mert Ozkaya","raw_affiliation_strings":["Department of Computer Engineering, Yeditepe University, Istanbul and Turkey, --- Select a Country ---"],"affiliations":[{"raw_affiliation_string":"Department of Computer Engineering, Yeditepe University, Istanbul and Turkey, --- Select a Country ---","institution_ids":["https://openalex.org/I100072489"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5039455399"],"corresponding_institution_ids":["https://openalex.org/I100072489"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.12356915,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"499","last_page":"507"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10430","display_name":"Software Engineering Techniques and Practices","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/design-by-contract","display_name":"Design by contract","score":0.9004557132720947},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8183073997497559},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.6605727672576904},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6231058835983276},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6087701320648193},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.5426244735717773},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5404243469238281},{"id":"https://openalex.org/keywords/software-design","display_name":"Software design","score":0.5007143020629883},{"id":"https://openalex.org/keywords/component-based-software-engineering","display_name":"Component-based software engineering","score":0.4975633919239044},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.49650388956069946},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.49510160088539124},{"id":"https://openalex.org/keywords/assertion","display_name":"Assertion","score":0.47340071201324463},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.46175169944763184},{"id":"https://openalex.org/keywords/software-framework","display_name":"Software framework","score":0.41653889417648315},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.38161176443099976},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.23642084002494812},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.14122679829597473}],"concepts":[{"id":"https://openalex.org/C80291951","wikidata":"https://www.wikidata.org/wiki/Q1200691","display_name":"Design by contract","level":5,"score":0.9004557132720947},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8183073997497559},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.6605727672576904},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6231058835983276},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6087701320648193},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.5426244735717773},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5404243469238281},{"id":"https://openalex.org/C52913732","wikidata":"https://www.wikidata.org/wiki/Q857102","display_name":"Software design","level":4,"score":0.5007143020629883},{"id":"https://openalex.org/C174683762","wikidata":"https://www.wikidata.org/wiki/Q609588","display_name":"Component-based software engineering","level":4,"score":0.4975633919239044},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.49650388956069946},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.49510160088539124},{"id":"https://openalex.org/C40422974","wikidata":"https://www.wikidata.org/wiki/Q741248","display_name":"Assertion","level":2,"score":0.47340071201324463},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.46175169944763184},{"id":"https://openalex.org/C76518257","wikidata":"https://www.wikidata.org/wiki/Q271680","display_name":"Software framework","level":5,"score":0.41653889417648315},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.38161176443099976},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.23642084002494812},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.14122679829597473},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.5220/0007950904990507","is_oa":false,"landing_page_url":"https://doi.org/10.5220/0007950904990507","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 14th International Conference on Software Technologies","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2109879514","https://openalex.org/W2566245967","https://openalex.org/W1601712140","https://openalex.org/W2070852605","https://openalex.org/W1518075319","https://openalex.org/W2105142318","https://openalex.org/W2044427446","https://openalex.org/W2162247081","https://openalex.org/W1519557925","https://openalex.org/W1553848812"],"abstract_inverted_index":{"Defensive":[0],"programming":[1,29],"is":[2,58],"considered":[3],"as":[4,109],"a":[5,37,54,143,174],"software":[6,13,23,76,94,134],"design":[7,148],"approach":[8],"that":[9,35,117,145],"promotes":[10],"the":[11,16,22,42,48,71,87,115,118,122,125,132,146,154,157,161,167,182,189,192,195],"reliable":[12],"development":[14],"via":[15],"considerations":[17],"of":[18,33,39,75,82,98,191],"different":[19],"cases":[20],"for":[21,70,165],"modules.":[24],"Design-by-Contract":[25],"(DbC)":[26],"applies":[27],"defensive":[28],"systematically":[30],"in":[31,96,136,142,153,173],"terms":[32,97],"contracts":[34,69],"are":[36,107,112,150],"pair":[38],"pre-conditions":[40],"on":[41,47],"module":[43,49],"input":[44],"and":[45,73,100,170,184,186],"post-conditions":[46],"output.":[50],"In":[51,121],"this":[52],"paper,":[53],"DbC-based":[55],"teaching":[56,79],"methodology":[57,80],"proposed,":[59],"which":[60,111],"aims":[61],"to":[62,67,92,114,130,177],"teach":[63],"undergraduate":[64],"students":[65,88,126,158],"how":[66,91,129],"use":[68],"modeling":[72,169],"implementation":[74,172,185,193],"systems.":[77],"The":[78,104],"consists":[81],"three":[83],"consecutive":[84],"steps.":[85],"Firstly,":[86],"will":[89,127,159],"learn":[90,128,160],"model":[93,176,183],"architectures":[95,135],"components":[99,119],"their":[101],"communication":[102],"links.":[103],"component":[105],"behaviours":[106],"specified":[108],"contracts,":[110],"attached":[113],"messages":[116],"exchange.":[120],"second":[123],"step,":[124],"implement":[131],"contractual":[133,147,168],"Java":[137,162,171],"using":[138],"Java\u2019s":[139],"assertion":[140],"mechanisms":[141],"way":[144],"decisions":[149],"all":[151],"preserved":[152],"code.":[155],"Lastly,":[156],"Modeling":[163],"Language":[164],"combining":[166],"single":[175],"avoid":[178],"any":[179],"inconsistencies":[180],"between":[181],"automatically":[187],"verify":[188],"correctness":[190],"against":[194],"modeled":[196],"behaviours.":[197]},"counts_by_year":[{"year":2023,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
