{"id":3165,"date":"2007-12-01T10:06:53","date_gmt":"2007-12-01T10:06:53","guid":{"rendered":"http:\/\/www.istratech.hr\/?p=3165"},"modified":"2021-07-13T07:13:08","modified_gmt":"2021-07-13T07:13:08","slug":"design-by-contract-and-oracle-pl-sql","status":"publish","type":"post","link":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/","title":{"rendered":"Design by Contract and Oracle PL\/SQL"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"text-align:center\"><strong>ABSTRACT<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DBC is based on principle that in each routine (procedure or function) with standard code, two additional parts \u2013 precondition and postcondition need to be asserted. An additional assertion in class is called invariant. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Contract is based on routine&#8217;s putting up an obligation to caller (to some other routine) to satisfy conditions of precondition and conditions of invariant, and hers obligation (called routine&#8217;s) to satisfy conditions of postcondition and conditions of invariant. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main idea is quite the reverse of defensive programming methodology where the program code itself must try to verify as much as it can. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The object oriented Eiffel programming language was created to implement Design by Contract. For now, other object-oriented languages don\u2019t support the ideas behind DBC. However, precondition and postcondition are applicable to many programming languages, both object-oriented and otherwise but invariant are applicable only in object-oriented languages.<\/p>\n\n\n<div class=\"more\"><a href=\"http:\/\/www.istratech.hr\/wp-content\/uploads\/2007\/12\/hroug2007.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">VIEW LECTURE<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Design by contract is a method whose author is Bertrand Mayer also maker of OOPL language Eiffel, developed in 1980&#8217;s.<br \/>\nThis paper will present application of DBC methodology in Oracle PL\/SQL programming language.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_themeisle_gutenberg_block_has_review":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[172,330,327],"tags":[],"class_list":["post-3165","post","type-post","status-publish","format-standard","hentry","category-blog-en","category-conferences","category-hroug-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Design by Contract and Oracle PL\/SQL &#8211; Istra Tech<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Design by Contract and Oracle PL\/SQL &#8211; Istra Tech\" \/>\n<meta property=\"og:description\" content=\"Design by contract is a method whose author is Bertrand Mayer also maker of OOPL language Eiffel, developed in 1980&#039;s.  This paper will present application of DBC methodology in Oracle PL\/SQL programming language.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"Istra Tech\" \/>\n<meta property=\"article:published_time\" content=\"2007-12-01T10:06:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-13T07:13:08+00:00\" \/>\n<meta name=\"author\" content=\"Istratech Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Istratech Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/\"},\"author\":{\"name\":\"Istratech Admin\",\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/#\\\/schema\\\/person\\\/e56f98c854e5f471a7f577bd59ad397d\"},\"headline\":\"Design by Contract and Oracle PL\\\/SQL\",\"datePublished\":\"2007-12-01T10:06:53+00:00\",\"dateModified\":\"2021-07-13T07:13:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/\"},\"wordCount\":157,\"commentCount\":0,\"articleSection\":[\"Blog\",\"Conferences\",\"HrOUG\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/\",\"url\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/\",\"name\":\"Design by Contract and Oracle PL\\\/SQL &#8211; Istra Tech\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/#website\"},\"datePublished\":\"2007-12-01T10:06:53+00:00\",\"dateModified\":\"2021-07-13T07:13:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/#\\\/schema\\\/person\\\/e56f98c854e5f471a7f577bd59ad397d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/design-by-contract-and-oracle-pl-sql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna stranica\",\"item\":\"https:\\\/\\\/www.istratech.hr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Design by Contract and Oracle PL\\\/SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/\",\"name\":\"Istra Tech\",\"description\":\"Digitalizacija sustava u turizmu, hotelijerstvu i ugostiteljstvu\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/#\\\/schema\\\/person\\\/e56f98c854e5f471a7f577bd59ad397d\",\"name\":\"Istratech Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08879edf0fbdb4c56d3bb4908200f600e0bcbb50c215e720817e00946f6b4822?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08879edf0fbdb4c56d3bb4908200f600e0bcbb50c215e720817e00946f6b4822?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08879edf0fbdb4c56d3bb4908200f600e0bcbb50c215e720817e00946f6b4822?s=96&d=mm&r=g\",\"caption\":\"Istratech Admin\"},\"url\":\"https:\\\/\\\/www.istratech.hr\\\/en\\\/author\\\/istratech_admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Design by Contract and Oracle PL\/SQL &#8211; Istra Tech","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/","og_locale":"en_US","og_type":"article","og_title":"Design by Contract and Oracle PL\/SQL &#8211; Istra Tech","og_description":"Design by contract is a method whose author is Bertrand Mayer also maker of OOPL language Eiffel, developed in 1980's.  This paper will present application of DBC methodology in Oracle PL\/SQL programming language.","og_url":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/","og_site_name":"Istra Tech","article_published_time":"2007-12-01T10:06:53+00:00","article_modified_time":"2021-07-13T07:13:08+00:00","author":"Istratech Admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Istratech Admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/#article","isPartOf":{"@id":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/"},"author":{"name":"Istratech Admin","@id":"https:\/\/www.istratech.hr\/en\/#\/schema\/person\/e56f98c854e5f471a7f577bd59ad397d"},"headline":"Design by Contract and Oracle PL\/SQL","datePublished":"2007-12-01T10:06:53+00:00","dateModified":"2021-07-13T07:13:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/"},"wordCount":157,"commentCount":0,"articleSection":["Blog","Conferences","HrOUG"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/","url":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/","name":"Design by Contract and Oracle PL\/SQL &#8211; Istra Tech","isPartOf":{"@id":"https:\/\/www.istratech.hr\/en\/#website"},"datePublished":"2007-12-01T10:06:53+00:00","dateModified":"2021-07-13T07:13:08+00:00","author":{"@id":"https:\/\/www.istratech.hr\/en\/#\/schema\/person\/e56f98c854e5f471a7f577bd59ad397d"},"breadcrumb":{"@id":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.istratech.hr\/en\/design-by-contract-and-oracle-pl-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna stranica","item":"https:\/\/www.istratech.hr\/"},{"@type":"ListItem","position":2,"name":"Design by Contract and Oracle PL\/SQL"}]},{"@type":"WebSite","@id":"https:\/\/www.istratech.hr\/en\/#website","url":"https:\/\/www.istratech.hr\/en\/","name":"Istra Tech","description":"Digitalizacija sustava u turizmu, hotelijerstvu i ugostiteljstvu","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.istratech.hr\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.istratech.hr\/en\/#\/schema\/person\/e56f98c854e5f471a7f577bd59ad397d","name":"Istratech Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/08879edf0fbdb4c56d3bb4908200f600e0bcbb50c215e720817e00946f6b4822?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/08879edf0fbdb4c56d3bb4908200f600e0bcbb50c215e720817e00946f6b4822?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/08879edf0fbdb4c56d3bb4908200f600e0bcbb50c215e720817e00946f6b4822?s=96&d=mm&r=g","caption":"Istratech Admin"},"url":"https:\/\/www.istratech.hr\/en\/author\/istratech_admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/posts\/3165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/comments?post=3165"}],"version-history":[{"count":0,"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/posts\/3165\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/media?parent=3165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/categories?post=3165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.istratech.hr\/en\/wp-json\/wp\/v2\/tags?post=3165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}