{"id":"https://openalex.org/W2098746868","doi":"https://doi.org/10.1145/1236360.1236382","title":"Interface contracts for TinyOS","display_name":"Interface contracts for TinyOS","publication_year":2007,"publication_date":"2007-01-01","ids":{"openalex":"https://openalex.org/W2098746868","doi":"https://doi.org/10.1145/1236360.1236382","mag":"2098746868"},"language":"en","primary_location":{"id":"doi:10.1145/1236360.1236382","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1236360.1236382","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th international conference on Information processing in sensor networks - IPSN '07","raw_type":"proceedings-article"},"type":"conference-abstract","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/A5012969204","display_name":"Will Archer","orcid":null},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Will Archer","raw_affiliation_strings":["University of Utah","University of Utah, Salt Lake City"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Utah","institution_ids":["https://openalex.org/I223532165"]},{"raw_affiliation_string":"University of Utah, Salt Lake City","institution_ids":["https://openalex.org/I223532165"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060306684","display_name":"Philip Levis","orcid":"https://orcid.org/0000-0003-2934-2701"},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]},{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Philip Levis","raw_affiliation_strings":["Stanford University","University of Utah, Salt Lake City"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University","institution_ids":["https://openalex.org/I97018004"]},{"raw_affiliation_string":"University of Utah, Salt Lake City","institution_ids":["https://openalex.org/I223532165"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5066046345","display_name":"John Regehr","orcid":"https://orcid.org/0000-0001-7025-4610"},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John Regehr","raw_affiliation_strings":["University of Utah","University of Utah, Salt Lake City"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Utah","institution_ids":["https://openalex.org/I223532165"]},{"raw_affiliation_string":"University of Utah, Salt Lake City","institution_ids":["https://openalex.org/I223532165"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":39,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"158","last_page":"158"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9962999820709229,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9950000047683716,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/computer-science","display_name":"Computer science","score":0.8067659735679626},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.806199312210083},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.7588393688201904},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.7181419134140015},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.6841387152671814},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5764714479446411},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5438097715377808},{"id":"https://openalex.org/keywords/component-based-software-engineering","display_name":"Component-based software engineering","score":0.52353835105896},{"id":"https://openalex.org/keywords/black-box","display_name":"Black box","score":0.5019965171813965},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4713943600654602},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4138322174549103},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.40535563230514526},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3948078453540802},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3627423346042633},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3288438320159912},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.229322612285614},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.08224838972091675}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8067659735679626},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.806199312210083},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.7588393688201904},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.7181419134140015},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.6841387152671814},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5764714479446411},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5438097715377808},{"id":"https://openalex.org/C174683762","wikidata":"https://www.wikidata.org/wiki/Q609588","display_name":"Component-based software engineering","level":4,"score":0.52353835105896},{"id":"https://openalex.org/C94966114","wikidata":"https://www.wikidata.org/wiki/Q29256","display_name":"Black box","level":2,"score":0.5019965171813965},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4713943600654602},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4138322174549103},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.40535563230514526},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3948078453540802},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3627423346042633},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3288438320159912},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.229322612285614},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.08224838972091675},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0},{"id":"https://openalex.org/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1236360.1236382","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1236360.1236382","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th international conference on Information processing in sensor networks - IPSN '07","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.617.2648","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.617.2648","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://mail.millennium.berkeley.edu/pipermail/sensornetarch/attachments/20061115/4a7be281/submit-0001.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.75.1586","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.75.1586","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.utah.edu/~regehr/papers/spots07.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.4099999964237213,"display_name":"Partnerships for the goals","id":"https://metadata.un.org/sdg/17"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":14,"referenced_works":["https://openalex.org/W1534335973","https://openalex.org/W1971903460","https://openalex.org/W2052363833","https://openalex.org/W2076510367","https://openalex.org/W2104532741","https://openalex.org/W2105367543","https://openalex.org/W2107089133","https://openalex.org/W2115894187","https://openalex.org/W2124613439","https://openalex.org/W2132897303","https://openalex.org/W2133587157","https://openalex.org/W2140616837","https://openalex.org/W2146924294","https://openalex.org/W2147023485"],"related_works":["https://openalex.org/W1492727118","https://openalex.org/W2810627707","https://openalex.org/W2382165266","https://openalex.org/W2032832792","https://openalex.org/W2387022460","https://openalex.org/W2336134321","https://openalex.org/W1575382834","https://openalex.org/W2369682967","https://openalex.org/W2387767950","https://openalex.org/W2366623749"],"abstract_inverted_index":{"TinyOS":[0],"applications":[1,25,151],"are":[2,75],"built":[3],"with":[4],"software":[5],"components":[6,13,91],"that":[7,26,65,152],"communicate":[8],"through":[9,51],"narrow":[10],"interfaces.":[11],"Since":[12],"enable":[14],"fine-grained":[15],"code":[16,34,82],"reuse,":[17],"this":[18],"approach":[19],"has":[20],"been":[21,154],"successful":[22],"in":[23,57,92,150,155],"creating":[24],"make":[27],"very":[28],"efficient":[29],"use":[30,157],"of":[31,47,70,89,118,129,140],"the":[32,43,68,80,87,93,115,119],"limited":[33],"and":[35,108,146],"data":[36],"memory":[37],"on":[38],"sensor":[39],"network":[40],"nodes.":[41],"However,":[42],"other":[44],"important":[45],"benefit":[46],"components---rapid":[48],"application":[49],"development":[50],"black-box":[52],"reuse---remains":[53],"largely":[54],"unrealized":[55],"because":[56],"many":[58],"cases":[59],"interfaces":[60,132],"have":[61,153],"implied":[62],"usage":[63],"constraints":[64],"can":[66],"be":[67],"source":[69,81],"frustrating":[71],"program":[72],"errors.":[73],"Developers":[74],"commonly":[76],"forced":[77],"to":[78,105,114,135],"read":[79],"for":[83,125,158],"components,":[84],"partially":[85],"defeating":[86],"purpose":[88],"using":[90],"first":[94],"place.":[95],"Our":[96],"research":[97],"helps":[98],"solve":[99],"these":[100],"problems":[101],"by":[102],"allowing":[103],"developers":[104],"explicitly":[106],"specify":[107],"enforce":[109],"component":[110],"interface":[111],"contracts.":[112],"Due":[113],"extensive":[116],"reuse":[117],"most":[120],"common":[121,156],"interfaces,":[122],"implementing":[123],"contracts":[124],"a":[126,138],"small":[127],"number":[128,139],"frequently":[130],"reused":[131],"permitted":[133],"us":[134],"extensively":[136],"check":[137],"applications.":[141],"We":[142],"uncovered":[143],"some":[144],"subtle":[145],"previously":[147],"unknown":[148],"bugs":[149],"years.":[159]},"counts_by_year":[{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":6}],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2025-10-10T00:00:00"}
