CINXE.COM
Diana Allam - Academia.edu
<!DOCTYPE html> <html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" class="wf-loading"> <head prefix="og: https://ogp.me/ns# fb: https://ogp.me/ns/fb# academia: https://ogp.me/ns/fb/academia#"> <meta charset="utf-8"> <meta name=viewport content="width=device-width, initial-scale=1"> <meta rel="search" type="application/opensearchdescription+xml" href="/open_search.xml" title="Academia.edu"> <title>Diana Allam - Academia.edu</title> <!-- _ _ _ | | (_) | | __ _ ___ __ _ __| | ___ _ __ ___ _ __ _ ___ __| |_ _ / _` |/ __/ _` |/ _` |/ _ \ '_ ` _ \| |/ _` | / _ \/ _` | | | | | (_| | (_| (_| | (_| | __/ | | | | | | (_| || __/ (_| | |_| | \__,_|\___\__,_|\__,_|\___|_| |_| |_|_|\__,_(_)___|\__,_|\__,_| We're hiring! See https://www.academia.edu/hiring --> <link href="//a.academia-assets.com/images/favicons/favicon-production.ico" rel="shortcut icon" type="image/vnd.microsoft.icon"> <link rel="apple-touch-icon" sizes="57x57" href="//a.academia-assets.com/images/favicons/apple-touch-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="//a.academia-assets.com/images/favicons/apple-touch-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="//a.academia-assets.com/images/favicons/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="//a.academia-assets.com/images/favicons/apple-touch-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="//a.academia-assets.com/images/favicons/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="//a.academia-assets.com/images/favicons/apple-touch-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="//a.academia-assets.com/images/favicons/apple-touch-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="//a.academia-assets.com/images/favicons/apple-touch-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="//a.academia-assets.com/images/favicons/apple-touch-icon-180x180.png"> <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-194x194.png" sizes="194x194"> <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/android-chrome-192x192.png" sizes="192x192"> <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-16x16.png" sizes="16x16"> <link rel="manifest" href="//a.academia-assets.com/images/favicons/manifest.json"> <meta name="msapplication-TileColor" content="#2b5797"> <meta name="msapplication-TileImage" content="//a.academia-assets.com/images/favicons/mstile-144x144.png"> <meta name="theme-color" content="#ffffff"> <script> window.performance && window.performance.measure && window.performance.measure("Time To First Byte", "requestStart", "responseStart"); </script> <script> (function() { if (!window.URLSearchParams || !window.history || !window.history.replaceState) { return; } var searchParams = new URLSearchParams(window.location.search); var paramsToDelete = [ 'fs', 'sm', 'swp', 'iid', 'nbs', 'rcc', // related content category 'rcpos', // related content carousel position 'rcpg', // related carousel page 'rchid', // related content hit id 'f_ri', // research interest id, for SEO tracking 'f_fri', // featured research interest, for SEO tracking (param key without value) 'f_rid', // from research interest directory for SEO tracking 'f_loswp', // from research interest pills on LOSWP sidebar for SEO tracking 'rhid', // referrring hit id ]; if (paramsToDelete.every((key) => searchParams.get(key) === null)) { return; } paramsToDelete.forEach((key) => { searchParams.delete(key); }); var cleanUrl = new URL(window.location.href); cleanUrl.search = searchParams.toString(); history.replaceState({}, document.title, cleanUrl); })(); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-5VKX33P2DS"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-5VKX33P2DS', { cookie_domain: 'academia.edu', send_page_view: false, }); gtag('event', 'page_view', { 'controller': "profiles/works", 'action': "summary", 'controller_action': 'profiles/works#summary', 'logged_in': 'false', 'edge': 'unknown', // Send nil if there is no A/B test bucket, in case some records get logged // with missing data - that way we can distinguish between the two cases. // ab_test_bucket should be of the form <ab_test_name>:<bucket> 'ab_test_bucket': null, }) </script> <script type="text/javascript"> window.sendUserTiming = function(timingName) { if (!(window.performance && window.performance.measure)) return; var entries = window.performance.getEntriesByName(timingName, "measure"); if (entries.length !== 1) return; var timingValue = Math.round(entries[0].duration); gtag('event', 'timing_complete', { name: timingName, value: timingValue, event_category: 'User-centric', }); }; window.sendUserTiming("Time To First Byte"); </script> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="1gnOiGwdLM2TSa8XsCYSeRRIsWTTS05xbv+WCEL9Lef5oqFy37N2DJ20xUy9OrOCR9IbdjVE0yg3HtFiMSaq6Q==" /> <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/wow-77f7b87cb1583fc59aa8f94756ebfe913345937eb932042b4077563bebb5fb4b.css" /><link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/social/home-9e8218e1301001388038e3fc3427ed00d079a4760ff7745d1ec1b2d59103170a.css" /><link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/design_system/heading-b2b823dd904da60a48fd1bfa1defd840610c2ff414d3f39ed3af46277ab8df3b.css" /><link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/design_system/button-3cea6e0ad4715ed965c49bfb15dedfc632787b32ff6d8c3a474182b231146ab7.css" /><link crossorigin="" href="https://fonts.gstatic.com/" rel="preconnect" /><link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Gupter:wght@400;500;700&family=IBM+Plex+Mono:wght@300;400&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,400,0,0&display=swap" rel="stylesheet" /><link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/design_system/common-10fa40af19d25203774df2d4a03b9b5771b45109c2304968038e88a81d1215c5.css" /> <meta name="author" content="diana allam" /> <meta name="description" content="Diana Allam: 15 Followers, 9 Following, 10 Research papers. Research interests: Sexe/genre, Mobile Ad Hoc Networks, and PHP Programming." /> <meta name="google-site-verification" content="bKJMBZA7E43xhDOopFZkssMMkBRjvYERV-NaN4R6mrs" /> <script> var $controller_name = 'works'; var $action_name = "summary"; var $rails_env = 'production'; var $app_rev = '92477ec68c09d28ae4730a4143c926f074776319'; var $domain = 'academia.edu'; var $app_host = "academia.edu"; var $asset_host = "academia-assets.com"; var $start_time = new Date().getTime(); var $recaptcha_key = "6LdxlRMTAAAAADnu_zyLhLg0YF9uACwz78shpjJB"; var $recaptcha_invisible_key = "6Lf3KHUUAAAAACggoMpmGJdQDtiyrjVlvGJ6BbAj"; var $disableClientRecordHit = false; </script> <script> window.Aedu = { hit_data: null }; window.Aedu.SiteStats = {"premium_universities_count":15276,"monthly_visitors":"113 million","monthly_visitor_count":113458213,"monthly_visitor_count_in_millions":113,"user_count":277526045,"paper_count":55203019,"paper_count_in_millions":55,"page_count":432000000,"page_count_in_millions":432,"pdf_count":16500000,"pdf_count_in_millions":16}; window.Aedu.serverRenderTime = new Date(1732788129000); window.Aedu.timeDifference = new Date().getTime() - 1732788129000; window.Aedu.isUsingCssV1 = false; window.Aedu.enableLocalization = true; window.Aedu.activateFullstory = false; window.Aedu.serviceAvailability = { status: {"attention_db":"on","bibliography_db":"on","contacts_db":"on","email_db":"on","indexability_db":"on","mentions_db":"on","news_db":"on","notifications_db":"on","offsite_mentions_db":"on","redshift":"on","redshift_exports_db":"on","related_works_db":"on","ring_db":"on","user_tests_db":"on"}, serviceEnabled: function(service) { return this.status[service] === "on"; }, readEnabled: function(service) { return this.serviceEnabled(service) || this.status[service] === "read_only"; }, }; window.Aedu.viewApmTrace = function() { // Check if x-apm-trace-id meta tag is set, and open the trace in APM // in a new window if it is. var apmTraceId = document.head.querySelector('meta[name="x-apm-trace-id"]'); if (apmTraceId) { var traceId = apmTraceId.content; // Use trace ID to construct URL, an example URL looks like: // https://app.datadoghq.com/apm/traces?query=trace_id%31298410148923562634 var apmUrl = 'https://app.datadoghq.com/apm/traces?query=trace_id%3A' + traceId; window.open(apmUrl, '_blank'); } }; </script> <!--[if lt IE 9]> <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script> <![endif]--> <link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"> <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/libraries-a9675dcb01ec4ef6aa807ba772c7a5a00c1820d3ff661c1038a20f80d06bb4e4.css" /> <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/academia-bdb9e8c097f01e611f2fc5e2f1a9dc599beede975e2ae5629983543a1726e947.css" /> <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/design_system_legacy-056a9113b9a0f5343d013b29ee1929d5a18be35fdcdceb616600b4db8bd20054.css" /> <script src="//a.academia-assets.com/assets/webpack_bundles/runtime-bundle-005434038af4252ca37c527588411a3d6a0eabb5f727fac83f8bbe7fd88d93bb.js"></script> <script src="//a.academia-assets.com/assets/webpack_bundles/webpack_libraries_and_infrequently_changed.wjs-bundle-bae13f9b51961d5f1e06008e39e31d0138cb31332e8c2e874c6d6a250ec2bb14.js"></script> <script src="//a.academia-assets.com/assets/webpack_bundles/core_webpack.wjs-bundle-19a25d160d01bde427443d06cd6b810c4c92c6026e7cb31519e06313eb24ed90.js"></script> <script src="//a.academia-assets.com/assets/webpack_bundles/sentry.wjs-bundle-5fe03fddca915c8ba0f7edbe64c194308e8ce5abaed7bffe1255ff37549c4808.js"></script> <script> jade = window.jade || {}; jade.helpers = window.$h; jade._ = window._; </script> <!-- Google Tag Manager --> <script id="tag-manager-head-root">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer_old','GTM-5G9JF7Z');</script> <!-- End Google Tag Manager --> <script> window.gptadslots = []; window.googletag = window.googletag || {}; window.googletag.cmd = window.googletag.cmd || []; </script> <script type="text/javascript"> // TODO(jacob): This should be defined, may be rare load order problem. // Checking if null is just a quick fix, will default to en if unset. // Better fix is to run this immedietely after I18n is set. if (window.I18n != null) { I18n.defaultLocale = "en"; I18n.locale = "en"; I18n.fallbacks = true; } </script> <link rel="canonical" href="https://independent.academia.edu/DianaAllam" /> </head> <!--[if gte IE 9 ]> <body class='ie ie9 c-profiles/works a-summary logged_out'> <![endif]--> <!--[if !(IE) ]><!--> <body class='c-profiles/works a-summary logged_out'> <!--<![endif]--> <div id="fb-root"></div><script>window.fbAsyncInit = function() { FB.init({ appId: "2369844204", version: "v8.0", status: true, cookie: true, xfbml: true }); // Additional initialization code. if (window.InitFacebook) { // facebook.ts already loaded, set it up. window.InitFacebook(); } else { // Set a flag for facebook.ts to find when it loads. window.academiaAuthReadyFacebook = true; } };</script><script>window.fbAsyncLoad = function() { // Protection against double calling of this function if (window.FB) { return; } (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); } if (!window.defer_facebook) { // Autoload if not deferred window.fbAsyncLoad(); } else { // Defer loading by 5 seconds setTimeout(function() { window.fbAsyncLoad(); }, 5000); }</script> <div id="google-root"></div><script>window.loadGoogle = function() { if (window.InitGoogle) { // google.ts already loaded, set it up. window.InitGoogle("331998490334-rsn3chp12mbkiqhl6e7lu2q0mlbu0f1b"); } else { // Set a flag for google.ts to use when it loads. window.GoogleClientID = "331998490334-rsn3chp12mbkiqhl6e7lu2q0mlbu0f1b"; } };</script><script>window.googleAsyncLoad = function() { // Protection against double calling of this function (function(d) { var js; var id = 'google-jssdk'; var ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) { return; } js = d.createElement('script'); js.id = id; js.async = true; js.onload = loadGoogle; js.src = "https://accounts.google.com/gsi/client" ref.parentNode.insertBefore(js, ref); }(document)); } if (!window.defer_google) { // Autoload if not deferred window.googleAsyncLoad(); } else { // Defer loading by 5 seconds setTimeout(function() { window.googleAsyncLoad(); }, 5000); }</script> <div id="tag-manager-body-root"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5G9JF7Z" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Event listeners for analytics --> <script> window.addEventListener('load', function() { if (document.querySelector('input[name="commit"]')) { document.querySelector('input[name="commit"]').addEventListener('click', function() { gtag('event', 'click', { event_category: 'button', event_label: 'Log In' }) }) } }); </script> </div> <script>var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "26766707" }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js"; el.parentNode.insertBefore(s, el); })();</script><img src="https://sb.scorecardresearch.com/p?c1=2&c2=26766707&cv=2.0&cj=1" style="position: absolute; visibility: hidden" /> <div id='react-modal'></div> <div class='DesignSystem'> <a class='u-showOnFocus' href='#site'> Skip to main content </a> </div> <div id="upgrade_ie_banner" style="display: none;"><p>Academia.edu no longer supports Internet Explorer.</p><p>To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to <a href="https://www.academia.edu/upgrade-browser">upgrade your browser</a>.</p></div><script>// Show this banner for all versions of IE if (!!window.MSInputMethodContext || /(MSIE)/.test(navigator.userAgent)) { document.getElementById('upgrade_ie_banner').style.display = 'block'; }</script> <div class="DesignSystem bootstrap ShrinkableNav"><div class="navbar navbar-default main-header"><div class="container-wrapper" id="main-header-container"><div class="container"><div class="navbar-header"><div class="nav-left-wrapper u-mt0x"><div class="nav-logo"><a data-main-header-link-target="logo_home" href="https://www.academia.edu/"><img class="visible-xs-inline-block" style="height: 24px;" alt="Academia.edu" src="//a.academia-assets.com/images/academia-logo-redesign-2015-A.svg" width="24" height="24" /><img width="145.2" height="18" class="hidden-xs" style="height: 24px;" alt="Academia.edu" src="//a.academia-assets.com/images/academia-logo-redesign-2015.svg" /></a></div><div class="nav-search"><div class="SiteSearch-wrapper select2-no-default-pills"><form class="js-SiteSearch-form DesignSystem" action="https://www.academia.edu/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><i class="SiteSearch-icon fa fa-search u-fw700 u-positionAbsolute u-tcGrayDark"></i><input class="js-SiteSearch-form-input SiteSearch-form-input form-control" data-main-header-click-target="search_input" name="q" placeholder="Search" type="text" value="" /></form></div></div></div><div class="nav-right-wrapper pull-right"><ul class="NavLinks js-main-nav list-unstyled"><li class="NavLinks-link"><a class="js-header-login-url Button Button--inverseGray Button--sm u-mb4x" id="nav_log_in" rel="nofollow" href="https://www.academia.edu/login">Log In</a></li><li class="NavLinks-link u-p0x"><a class="Button Button--inverseGray Button--sm u-mb4x" rel="nofollow" href="https://www.academia.edu/signup">Sign Up</a></li></ul><button class="hidden-lg hidden-md hidden-sm u-ml4x navbar-toggle collapsed" data-target=".js-mobile-header-links" data-toggle="collapse" type="button"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div></div><div class="collapse navbar-collapse js-mobile-header-links"><ul class="nav navbar-nav"><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/login">Log In</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/signup">Sign Up</a></li><li class="u-borderColorGrayLight u-borderBottom1 js-mobile-nav-expand-trigger"><a href="#">more <span class="caret"></span></a></li><li><ul class="js-mobile-nav-expand-section nav navbar-nav u-m0x collapse"><li class="u-borderColorGrayLight u-borderBottom1"><a rel="false" href="https://www.academia.edu/about">About</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/press">Press</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://medium.com/@academia">Blog</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="false" href="https://www.academia.edu/documents">Papers</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/terms">Terms</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/privacy">Privacy</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/copyright">Copyright</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://www.academia.edu/hiring"><i class="fa fa-briefcase"></i> We're Hiring!</a></li><li class="u-borderColorGrayLight u-borderBottom1"><a rel="nofollow" href="https://support.academia.edu/"><i class="fa fa-question-circle"></i> Help Center</a></li><li class="js-mobile-nav-collapse-trigger u-borderColorGrayLight u-borderBottom1 dropup" style="display:none"><a href="#">less <span class="caret"></span></a></li></ul></li></ul></div></div></div><script>(function(){ var $moreLink = $(".js-mobile-nav-expand-trigger"); var $lessLink = $(".js-mobile-nav-collapse-trigger"); var $section = $('.js-mobile-nav-expand-section'); $moreLink.click(function(ev){ ev.preventDefault(); $moreLink.hide(); $lessLink.show(); $section.collapse('show'); }); $lessLink.click(function(ev){ ev.preventDefault(); $moreLink.show(); $lessLink.hide(); $section.collapse('hide'); }); })() if ($a.is_logged_in() || false) { new Aedu.NavigationController({ el: '.js-main-nav', showHighlightedNotification: false }); } else { $(".js-header-login-url").attr("href", $a.loginUrlWithRedirect()); } Aedu.autocompleteSearch = new AutocompleteSearch({el: '.js-SiteSearch-form'});</script></div></div> <div id='site' class='fixed'> <div id="content" class="clearfix"> <script>document.addEventListener('DOMContentLoaded', function(){ var $dismissible = $(".dismissible_banner"); $dismissible.click(function(ev) { $dismissible.hide(); }); });</script> <script src="//a.academia-assets.com/assets/webpack_bundles/profile.wjs-bundle-e032f1d55548c2f2dee4eac9fe52f38beaf13471f2298bb2ea82725ae930b83c.js" defer="defer"></script><script>Aedu.rankings = { showPaperRankingsLink: false } $viewedUser = Aedu.User.set_viewed( {"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam","photo":"/images/s65_no_pic.png","has_photo":false,"is_analytics_public":false,"interests":[{"id":1217373,"name":"Sexe/genre","url":"https://www.academia.edu/Documents/in/Sexe_genre"},{"id":2339,"name":"Mobile Ad Hoc Networks","url":"https://www.academia.edu/Documents/in/Mobile_Ad_Hoc_Networks"},{"id":36302,"name":"PHP Programming","url":"https://www.academia.edu/Documents/in/PHP_Programming"},{"id":9136,"name":"Wireless Sensor Networks","url":"https://www.academia.edu/Documents/in/Wireless_Sensor_Networks"},{"id":28871,"name":"Java Programming","url":"https://www.academia.edu/Documents/in/Java_Programming"}]} ); if ($a.is_logged_in() && $viewedUser.is_current_user()) { $('body').addClass('profile-viewed-by-owner'); } $socialProfiles = [{"id":23032963,"link":"https://www.facebook.com/app_scoped_user_id/1022813127808814/","name":"Facebook","link_domain":"www.facebook.com","icon":"//www.google.com/s2/u/0/favicons?domain=www.facebook.com"}]</script><div id="js-react-on-rails-context" style="display:none" data-rails-context="{"inMailer":false,"i18nLocale":"en","i18nDefaultLocale":"en","href":"https://independent.academia.edu/DianaAllam","location":"/DianaAllam","scheme":"https","host":"independent.academia.edu","port":null,"pathname":"/DianaAllam","search":null,"httpAcceptLanguage":null,"serverSide":false}"></div> <div class="js-react-on-rails-component" style="display:none" data-component-name="ProfileCheckPaperUpdate" data-props="{}" data-trace="false" data-dom-id="ProfileCheckPaperUpdate-react-component-722fd547-ea34-4a2d-97c4-d97a2e71614a"></div> <div id="ProfileCheckPaperUpdate-react-component-722fd547-ea34-4a2d-97c4-d97a2e71614a"></div> <div class="DesignSystem"><div class="onsite-ping" id="onsite-ping"></div></div><div class="profile-user-info DesignSystem"><div class="social-profile-container"><div class="left-panel-container"><div class="user-info-component-wrapper"><div class="user-summary-cta-container"><div class="user-summary-container"><div class="social-profile-avatar-container"><img class="profile-avatar u-positionAbsolute" border="0" alt="" src="//a.academia-assets.com/images/s200_no_pic.png" /></div><div class="title-container"><h1 class="ds2-5-heading-sans-serif-sm">Diana Allam</h1><div class="affiliations-container fake-truncate js-profile-affiliations"></div></div></div><div class="sidebar-cta-container"><button class="ds2-5-button hidden profile-cta-button grow js-profile-follow-button" data-broccoli-component="user-info.follow-button" data-click-track="profile-user-info-follow-button" data-follow-user-fname="Diana" data-follow-user-id="48228395" data-follow-user-source="profile_button" data-has-google="false"><span class="material-symbols-outlined" style="font-size: 20px" translate="no">add</span>Follow</button><button class="ds2-5-button hidden profile-cta-button grow js-profile-unfollow-button" data-broccoli-component="user-info.unfollow-button" data-click-track="profile-user-info-unfollow-button" data-unfollow-user-id="48228395"><span class="material-symbols-outlined" style="font-size: 20px" translate="no">done</span>Following</button></div></div><div class="user-stats-container"><a><div class="stat-container js-profile-followers"><p class="label">Followers</p><p class="data">15</p></div></a><a><div class="stat-container js-profile-followees" data-broccoli-component="user-info.followees-count" data-click-track="profile-expand-user-info-following"><p class="label">Following</p><p class="data">9</p></div></a><span><div class="stat-container"><p class="label"><span class="js-profile-total-view-text">Public Views</span></p><p class="data"><span class="js-profile-view-count"></span></p></div></span></div><div class="ri-section"><div class="ri-section-header"><span>Interests</span></div><div class="ri-tags-container"><a data-click-track="profile-user-info-expand-research-interests" data-has-card-for-ri-list="48228395" href="https://www.academia.edu/Documents/in/Sexe_genre"><div id="js-react-on-rails-context" style="display:none" data-rails-context="{"inMailer":false,"i18nLocale":"en","i18nDefaultLocale":"en","href":"https://independent.academia.edu/DianaAllam","location":"/DianaAllam","scheme":"https","host":"independent.academia.edu","port":null,"pathname":"/DianaAllam","search":null,"httpAcceptLanguage":null,"serverSide":false}"></div> <div class="js-react-on-rails-component" style="display:none" data-component-name="Pill" data-props="{"color":"gray","children":["Sexe/genre"]}" data-trace="false" data-dom-id="Pill-react-component-eb592897-e0c0-4f70-9fbd-cb2f7d48871c"></div> <div id="Pill-react-component-eb592897-e0c0-4f70-9fbd-cb2f7d48871c"></div> </a><a data-click-track="profile-user-info-expand-research-interests" data-has-card-for-ri-list="48228395" href="https://www.academia.edu/Documents/in/Mobile_Ad_Hoc_Networks"><div class="js-react-on-rails-component" style="display:none" data-component-name="Pill" data-props="{"color":"gray","children":["Mobile Ad Hoc Networks"]}" data-trace="false" data-dom-id="Pill-react-component-8ff733dd-c7c6-43cf-847e-8289a7d79915"></div> <div id="Pill-react-component-8ff733dd-c7c6-43cf-847e-8289a7d79915"></div> </a><a data-click-track="profile-user-info-expand-research-interests" data-has-card-for-ri-list="48228395" href="https://www.academia.edu/Documents/in/PHP_Programming"><div class="js-react-on-rails-component" style="display:none" data-component-name="Pill" data-props="{"color":"gray","children":["PHP Programming"]}" data-trace="false" data-dom-id="Pill-react-component-18e88035-1aa1-435c-8f21-7b9292dcb6f1"></div> <div id="Pill-react-component-18e88035-1aa1-435c-8f21-7b9292dcb6f1"></div> </a><a data-click-track="profile-user-info-expand-research-interests" data-has-card-for-ri-list="48228395" href="https://www.academia.edu/Documents/in/Wireless_Sensor_Networks"><div class="js-react-on-rails-component" style="display:none" data-component-name="Pill" data-props="{"color":"gray","children":["Wireless Sensor Networks"]}" data-trace="false" data-dom-id="Pill-react-component-c74cf101-48e2-42bb-b03b-0d54be806b41"></div> <div id="Pill-react-component-c74cf101-48e2-42bb-b03b-0d54be806b41"></div> </a><a data-click-track="profile-user-info-expand-research-interests" data-has-card-for-ri-list="48228395" href="https://www.academia.edu/Documents/in/Java_Programming"><div class="js-react-on-rails-component" style="display:none" data-component-name="Pill" data-props="{"color":"gray","children":["Java Programming"]}" data-trace="false" data-dom-id="Pill-react-component-2d494067-67e4-4e67-8396-9631177ddc2a"></div> <div id="Pill-react-component-2d494067-67e4-4e67-8396-9631177ddc2a"></div> </a></div></div><div class="external-links-container"><ul class="profile-links new-profile js-UserInfo-social"><li class="profile-profiles js-social-profiles-container"><i class="fa fa-spin fa-spinner"></i></li></ul></div></div></div><div class="right-panel-container"><div class="user-content-wrapper"><div class="uploads-container" id="social-redesign-work-container"><div class="upload-header"><h2 class="ds2-5-heading-sans-serif-xs">Uploads</h2></div><div class="documents-container backbone-social-profile-documents" style="width: 100%;"><div class="u-taCenter"></div><div class="profile--tab_content_container js-tab-pane tab-pane active" id="all"><div class="profile--tab_heading_container js-section-heading" data-section="Papers" id="Papers"><h3 class="profile--tab_heading_container">Papers by Diana Allam</h3></div><div class="js-work-strip profile--work_container" data-work-id="73580759"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580759/A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts"><img alt="Research paper thumbnail of A unified formal model for service oriented architecture to enforce security contracts" class="work-thumbnail" src="https://attachments.academia-assets.com/82047596/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580759/A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts">A unified formal model for service oriented architecture to enforce security contracts</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifyin...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifying web services tech-nologies in SOA (Service Oriented Architecture), specif-ically, SOAP/WS * and RESTful models. This model ab-stracts away from service implementations, in order to verify and to enforce some important security properties.</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="5496e718b04b3fcdd5779f0b30a8b06d" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047596,"asset_id":73580759,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047596/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580759"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580759"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580759; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580759]").text(description); $(".js-view-count[data-work-id=73580759]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580759; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580759']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580759, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "5496e718b04b3fcdd5779f0b30a8b06d" } } $('.js-work-strip[data-work-id=73580759]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580759,"title":"A unified formal model for service oriented architecture to enforce security contracts","translated_title":"","metadata":{"abstract":"In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifying web services tech-nologies in SOA (Service Oriented Architecture), specif-ically, SOAP/WS * and RESTful models. This model ab-stracts away from service implementations, in order to verify and to enforce some important security properties.","publication_date":{"day":null,"month":null,"year":2015,"errors":{}}},"translated_abstract":"In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifying web services tech-nologies in SOA (Service Oriented Architecture), specif-ically, SOAP/WS * and RESTful models. This model ab-stracts away from service implementations, in order to verify and to enforce some important security properties.","internal_url":"https://www.academia.edu/73580759/A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts","translated_internal_url":"","created_at":"2022-03-11T23:13:58.830-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047596,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047596/thumbnails/1.jpg","file_name":"aosd551p-allam.pdf","download_url":"https://www.academia.edu/attachments/82047596/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_unified_formal_model_for_service_orien.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047596/aosd551p-allam-libre.pdf?1647069890=\u0026response-content-disposition=attachment%3B+filename%3DA_unified_formal_model_for_service_orien.pdf\u0026Expires=1732791729\u0026Signature=Zig5eb63CHw5wDoj0xhcf0deHVWRyjzrQEktN~2g5m6iCfpciBfFVK1Zt1QmYpooE-J2nk4iQqp237m5Y3QeoenF0L7XR~HA7oDfEu2YTz6uJcdeZSczL9oP2utCmih~cHyjUjZW59sZrKNMiof9FXTPJInUv~XGO3tlh760B64l4PGEacJXV1WdT6~u9t4tFULzdh3R6qGw5J8Tf4UxvWEYiyxFB-NLGVNBWqXUEuCLrtXxe86uWTmV7snPeDFSl5d6KuR5875xowz02ERDMysp4PNW4mVAfttyNviLPgMNrdyXek3B1h92ziDpqV5y8q4-6dRF2nGM66c-R3F2Yw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts","translated_slug":"","page_count":3,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047596,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047596/thumbnails/1.jpg","file_name":"aosd551p-allam.pdf","download_url":"https://www.academia.edu/attachments/82047596/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_unified_formal_model_for_service_orien.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047596/aosd551p-allam-libre.pdf?1647069890=\u0026response-content-disposition=attachment%3B+filename%3DA_unified_formal_model_for_service_orien.pdf\u0026Expires=1732791729\u0026Signature=Zig5eb63CHw5wDoj0xhcf0deHVWRyjzrQEktN~2g5m6iCfpciBfFVK1Zt1QmYpooE-J2nk4iQqp237m5Y3QeoenF0L7XR~HA7oDfEu2YTz6uJcdeZSczL9oP2utCmih~cHyjUjZW59sZrKNMiof9FXTPJInUv~XGO3tlh760B64l4PGEacJXV1WdT6~u9t4tFULzdh3R6qGw5J8Tf4UxvWEYiyxFB-NLGVNBWqXUEuCLrtXxe86uWTmV7snPeDFSl5d6KuR5875xowz02ERDMysp4PNW4mVAfttyNviLPgMNrdyXek3B1h92ziDpqV5y8q4-6dRF2nGM66c-R3F2Yw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":101,"name":"Languages","url":"https://www.academia.edu/Documents/in/Languages"},{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"},{"id":3205,"name":"Service Oriented Architecture","url":"https://www.academia.edu/Documents/in/Service_Oriented_Architecture"},{"id":4370,"name":"Security","url":"https://www.academia.edu/Documents/in/Security"},{"id":14681,"name":"Formal methods","url":"https://www.academia.edu/Documents/in/Formal_methods"},{"id":43492,"name":"Standardization","url":"https://www.academia.edu/Documents/in/Standardization"},{"id":126194,"name":"Formal method","url":"https://www.academia.edu/Documents/in/Formal_method"},{"id":317992,"name":"Web Service","url":"https://www.academia.edu/Documents/in/Web_Service"},{"id":422532,"name":"Constraints","url":"https://www.academia.edu/Documents/in/Constraints"},{"id":780669,"name":"Input Output","url":"https://www.academia.edu/Documents/in/Input_Output"},{"id":1291175,"name":"Aspects","url":"https://www.academia.edu/Documents/in/Aspects"}],"urls":[{"id":18439783,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.636.1395\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580745"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580745/_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_"><img alt="Research paper thumbnail of (2013)&quot; From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗" class="work-thumbnail" src="https://attachments.academia-assets.com/82047592/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580745/_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_">(2013)&quot; From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">The object-oriented paradigm is increasingly used in the implementation and the use of web servic...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">The object-oriented paradigm is increasingly used in the implementation and the use of web services. However, the mismatch between objects and document structures in the wire has a negative impact over interoperability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="6b0caaff78c8333e49b13ba0bd0c8b8f" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047592,"asset_id":73580745,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047592/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580745"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580745"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580745; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580745]").text(description); $(".js-view-count[data-work-id=73580745]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580745; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580745']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580745, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "6b0caaff78c8333e49b13ba0bd0c8b8f" } } $('.js-work-strip[data-work-id=73580745]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580745,"title":"(2013)\u0026quot; From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗","translated_title":"","metadata":{"abstract":"The object-oriented paradigm is increasingly used in the implementation and the use of web services. However, the mismatch between objects and document structures in the wire has a negative impact over interoperability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses","publication_date":{"day":null,"month":null,"year":2013,"errors":{}}},"translated_abstract":"The object-oriented paradigm is increasingly used in the implementation and the use of web services. However, the mismatch between objects and document structures in the wire has a negative impact over interoperability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses","internal_url":"https://www.academia.edu/73580745/_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_internal_url":"","created_at":"2022-03-11T23:13:29.659-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047592,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047592/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047592/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"2013_and_quot_From_Object_Oriented_Prog.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047592/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3D2013_and_quot_From_Object_Oriented_Prog.pdf\u0026Expires=1732791729\u0026Signature=A3bQ4Mp0xYgfhGOJ9Be0r8zGwM-MMX6vEAnpTJXihnsb1bwM8rQvN5rFBQ9I0vqkgvCJ9TDxBapgeQ0bK8zQRz3Gi822NdqPeCI4lRN4N0HQM5XXF7cIdO4UuNXddNKd4nzXtDcpt1JDR-8UUJ6RLlVd9wgNzwULnyS2eOwjyOuEoQ~Q158fD5AAOTatHPmfJCocW8TsfGy8~EzXghBCBI~JT8V3lBY0qZ5iVup7i0NtSUwOrfd6GBFYpOocnGp5eFZ9aGu4xcWc3X1lFFIpyUS9O-sojL19~4csbnq8z4X3rAz7jQbHGIaHrP0JEMSfTusHdMuBfWwxDZuoEtcDaQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_slug":"","page_count":6,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047592,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047592/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047592/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"2013_and_quot_From_Object_Oriented_Prog.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047592/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3D2013_and_quot_From_Object_Oriented_Prog.pdf\u0026Expires=1732791729\u0026Signature=A3bQ4Mp0xYgfhGOJ9Be0r8zGwM-MMX6vEAnpTJXihnsb1bwM8rQvN5rFBQ9I0vqkgvCJ9TDxBapgeQ0bK8zQRz3Gi822NdqPeCI4lRN4N0HQM5XXF7cIdO4UuNXddNKd4nzXtDcpt1JDR-8UUJ6RLlVd9wgNzwULnyS2eOwjyOuEoQ~Q158fD5AAOTatHPmfJCocW8TsfGy8~EzXghBCBI~JT8V3lBY0qZ5iVup7i0NtSUwOrfd6GBFYpOocnGp5eFZ9aGu4xcWc3X1lFFIpyUS9O-sojL19~4csbnq8z4X3rAz7jQbHGIaHrP0JEMSfTusHdMuBfWwxDZuoEtcDaQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":453,"name":"Object Oriented Programming","url":"https://www.academia.edu/Documents/in/Object_Oriented_Programming"},{"id":3205,"name":"Service Oriented Architecture","url":"https://www.academia.edu/Documents/in/Service_Oriented_Architecture"},{"id":52295,"name":"Interoperability","url":"https://www.academia.edu/Documents/in/Interoperability"},{"id":1971036,"name":"Loose Coupling","url":"https://www.academia.edu/Documents/in/Loose_Coupling"},{"id":2922208,"name":"subtyping","url":"https://www.academia.edu/Documents/in/subtyping"}],"urls":[{"id":18439780,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.405.3538\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580739"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580739/A_Message_Passing_Model_for_Service_Oriented_Computing"><img alt="Research paper thumbnail of A Message-Passing Model for Service Oriented Computing" class="work-thumbnail" src="https://attachments.academia-assets.com/82047589/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580739/A_Message_Passing_Model_for_Service_Oriented_Computing">A Message-Passing Model for Service Oriented Computing</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Web services can be built according to multiple service models and technologies. Although there i...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS * and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels.</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="04516db2f0a05da519da2b1861538298" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047589,"asset_id":73580739,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047589/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580739"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580739"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580739; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580739]").text(description); $(".js-view-count[data-work-id=73580739]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580739; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580739']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580739, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "04516db2f0a05da519da2b1861538298" } } $('.js-work-strip[data-work-id=73580739]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580739,"title":"A Message-Passing Model for Service Oriented Computing","translated_title":"","metadata":{"abstract":"Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS * and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels.","publication_date":{"day":null,"month":null,"year":2012,"errors":{}}},"translated_abstract":"Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS * and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels.","internal_url":"https://www.academia.edu/73580739/A_Message_Passing_Model_for_Service_Oriented_Computing","translated_internal_url":"","created_at":"2022-03-11T23:13:01.305-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047589,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047589/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047589/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047589/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=F5RZ6PFj3jb2iH1ESwy4iqsdDFy3rrctoJjzLGipc4BE3poBIir15-sSRfNBP~z79nNu~QjttiIBGck0sgh2pvZ9Xe-a1HwixTqSPjcBQLSlB8FjxHos-YOsy7VNMqAkZCZKHp9Bzc-5SkTfZDLv6neHCdg~PGgyZTaE~Lmkg55CFh1FcpuA4Q-STbwCQ3CAmGur8VDka9o9iICRfjmRVRDi2VzZjDa5YtNW53INp6XRJFTMP1Wz4TWTt-1yHIDeaCJZKgTvjf64ZXXiHNKGQRsJJQ5bDCiHS8d82WnpjyjhPwxvo0wHwDPxEVMHR1wDBMQECNe-B~1g30qW0-iqWg__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"A_Message_Passing_Model_for_Service_Oriented_Computing","translated_slug":"","page_count":7,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047589,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047589/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047589/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047589/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=F5RZ6PFj3jb2iH1ESwy4iqsdDFy3rrctoJjzLGipc4BE3poBIir15-sSRfNBP~z79nNu~QjttiIBGck0sgh2pvZ9Xe-a1HwixTqSPjcBQLSlB8FjxHos-YOsy7VNMqAkZCZKHp9Bzc-5SkTfZDLv6neHCdg~PGgyZTaE~Lmkg55CFh1FcpuA4Q-STbwCQ3CAmGur8VDka9o9iICRfjmRVRDi2VzZjDa5YtNW53INp6XRJFTMP1Wz4TWTt-1yHIDeaCJZKgTvjf64ZXXiHNKGQRsJJQ5bDCiHS8d82WnpjyjhPwxvo0wHwDPxEVMHR1wDBMQECNe-B~1g30qW0-iqWg__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":1293,"name":"Service Oriented Computing","url":"https://www.academia.edu/Documents/in/Service_Oriented_Computing"}],"urls":[{"id":18439778,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.225.1559\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580724"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580724/Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_%C3%A0_objets_pour_les_services_web_"><img alt="Research paper thumbnail of Loose coupling and substitution principle in objet-oriented frameworks for web services. (Couplage faible et principe de substitution dans les environnements à objets pour les services web)" class="work-thumbnail" src="https://attachments.academia-assets.com/82047586/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580724/Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_%C3%A0_objets_pour_les_services_web_">Loose coupling and substitution principle in objet-oriented frameworks for web services. (Couplage faible et principe de substitution dans les environnements à objets pour les services web)</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Today, the implementation of services (SOAP and RESTful models) and of client applications is inc...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Today, the implementation of services (SOAP and RESTful models) and of client applications is increasingly based on object-oriented programming languages. Thus, object-oriented frameworks for Web services are essentially composed with two levels: an object level built over a service level. In this context, two properties could be particularly required in the specification of these frameworks: (i)First a loose coupling between the two levels, which allows the complex technical details of the service level to be hidden at the object level and the service level to be evolved with a minimal impact on the object level, (ii) Second, an interoperability induced by the substitution principle associated to subtyping in the object level, which allows to freely convert a value of a subtype into a supertype. In this thesis, first we present the existing weaknesses of object-oriented frameworks related to these two requirements. Then, we propose a new specification for object-oriented Web servic...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="28865f2d8a8346829f650b13c1ee30a6" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047586,"asset_id":73580724,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047586/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580724"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580724"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580724; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580724]").text(description); $(".js-view-count[data-work-id=73580724]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580724; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580724']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580724, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "28865f2d8a8346829f650b13c1ee30a6" } } $('.js-work-strip[data-work-id=73580724]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580724,"title":"Loose coupling and substitution principle in objet-oriented frameworks for web services. (Couplage faible et principe de substitution dans les environnements à objets pour les services web)","translated_title":"","metadata":{"abstract":"Today, the implementation of services (SOAP and RESTful models) and of client applications is increasingly based on object-oriented programming languages. Thus, object-oriented frameworks for Web services are essentially composed with two levels: an object level built over a service level. In this context, two properties could be particularly required in the specification of these frameworks: (i)First a loose coupling between the two levels, which allows the complex technical details of the service level to be hidden at the object level and the service level to be evolved with a minimal impact on the object level, (ii) Second, an interoperability induced by the substitution principle associated to subtyping in the object level, which allows to freely convert a value of a subtype into a supertype. In this thesis, first we present the existing weaknesses of object-oriented frameworks related to these two requirements. Then, we propose a new specification for object-oriented Web servic...","publication_date":{"day":null,"month":null,"year":2014,"errors":{}}},"translated_abstract":"Today, the implementation of services (SOAP and RESTful models) and of client applications is increasingly based on object-oriented programming languages. Thus, object-oriented frameworks for Web services are essentially composed with two levels: an object level built over a service level. In this context, two properties could be particularly required in the specification of these frameworks: (i)First a loose coupling between the two levels, which allows the complex technical details of the service level to be hidden at the object level and the service level to be evolved with a minimal impact on the object level, (ii) Second, an interoperability induced by the substitution principle associated to subtyping in the object level, which allows to freely convert a value of a subtype into a supertype. In this thesis, first we present the existing weaknesses of object-oriented frameworks related to these two requirements. Then, we propose a new specification for object-oriented Web servic...","internal_url":"https://www.academia.edu/73580724/Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_%C3%A0_objets_pour_les_services_web_","translated_internal_url":"","created_at":"2022-03-11T23:12:32.525-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047586,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047586/thumbnails/1.jpg","file_name":"Allam_D_07_2014.pdf","download_url":"https://www.academia.edu/attachments/82047586/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Loose_coupling_and_substitution_principl.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047586/Allam_D_07_2014-libre.pdf?1647069902=\u0026response-content-disposition=attachment%3B+filename%3DLoose_coupling_and_substitution_principl.pdf\u0026Expires=1732791729\u0026Signature=N3u3ojYvg-r0ZgbCNE6VtgP4GrI~03e1VcaolGQY3GhK403HIPpFwb2d8hANX61R2PJ01to1lIBqXo3PItE4-Z4AdA6kd5N179V5neHveLVo-tHAfXy~XytSGqaf5KKvOShRHULeC3ZPf1mZpZVfvIcTR3bxqsnfNpiSYzPFqEAdAz4DwePSPhf3zNuhsPsqpUiU6teazQJPq-RNmG5jUrxhQxE2dkilDhL0jvynkYnUQKvEiY~jzsuiDwdhSnnW8qeH6ldqmu9VETTc0o6pTUDzQMKw3ueEWJTRHipUw3Li-P3wmQXNcJnNSrsW4t7S9al5VTZnHYCMHD6y~FUBHQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_à_objets_pour_les_services_web_","translated_slug":"","page_count":297,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047586,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047586/thumbnails/1.jpg","file_name":"Allam_D_07_2014.pdf","download_url":"https://www.academia.edu/attachments/82047586/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Loose_coupling_and_substitution_principl.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047586/Allam_D_07_2014-libre.pdf?1647069902=\u0026response-content-disposition=attachment%3B+filename%3DLoose_coupling_and_substitution_principl.pdf\u0026Expires=1732791729\u0026Signature=N3u3ojYvg-r0ZgbCNE6VtgP4GrI~03e1VcaolGQY3GhK403HIPpFwb2d8hANX61R2PJ01to1lIBqXo3PItE4-Z4AdA6kd5N179V5neHveLVo-tHAfXy~XytSGqaf5KKvOShRHULeC3ZPf1mZpZVfvIcTR3bxqsnfNpiSYzPFqEAdAz4DwePSPhf3zNuhsPsqpUiU6teazQJPq-RNmG5jUrxhQxE2dkilDhL0jvynkYnUQKvEiY~jzsuiDwdhSnnW8qeH6ldqmu9VETTc0o6pTUDzQMKw3ueEWJTRHipUw3Li-P3wmQXNcJnNSrsW4t7S9al5VTZnHYCMHD6y~FUBHQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"}],"urls":[{"id":18439775,"url":"https://tel.archives-ouvertes.fr/tel-01083286"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580719"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580719/The_Synthesis_Problem_for_Trusted_Service_based_Collaborations"><img alt="Research paper thumbnail of The Synthesis Problem for Trusted Service-based Collaborations" class="work-thumbnail" src="https://a.academia-assets.com/images/blank-paper.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580719/The_Synthesis_Problem_for_Trusted_Service_based_Collaborations">The Synthesis Problem for Trusted Service-based Collaborations</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">The growth of Internet has extended the scope of software applications, leading to network-based ...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">The growth of Internet has extended the scope of software applications, leading to network-based ar- chitectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Since a service- oriented application typically spans a number of different organisations, its execution is subject to stringent requirements at two levels : business and security. At each level, the requirements could be implemen- ted by a centralised control maintaining the correct interactions. But this solution is not realistic. Indeed, whereas each partner develops its own services, the whole application results from the collaboration of all the services in a truly concurrent way, without any centralised control. Thus, the partners involved gene- rally define a contract at the global ...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580719"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580719"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580719; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580719]").text(description); $(".js-view-count[data-work-id=73580719]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580719; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580719']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580719, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (false){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "-1" } } $('.js-work-strip[data-work-id=73580719]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580719,"title":"The Synthesis Problem for Trusted Service-based Collaborations","translated_title":"","metadata":{"abstract":"The growth of Internet has extended the scope of software applications, leading to network-based ar- chitectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Since a service- oriented application typically spans a number of different organisations, its execution is subject to stringent requirements at two levels : business and security. At each level, the requirements could be implemen- ted by a centralised control maintaining the correct interactions. But this solution is not realistic. Indeed, whereas each partner develops its own services, the whole application results from the collaboration of all the services in a truly concurrent way, without any centralised control. Thus, the partners involved gene- rally define a contract at the global ...","publication_date":{"day":null,"month":null,"year":2011,"errors":{}}},"translated_abstract":"The growth of Internet has extended the scope of software applications, leading to network-based ar- chitectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Since a service- oriented application typically spans a number of different organisations, its execution is subject to stringent requirements at two levels : business and security. At each level, the requirements could be implemen- ted by a centralised control maintaining the correct interactions. But this solution is not realistic. Indeed, whereas each partner develops its own services, the whole application results from the collaboration of all the services in a truly concurrent way, without any centralised control. Thus, the partners involved gene- rally define a contract at the global ...","internal_url":"https://www.academia.edu/73580719/The_Synthesis_Problem_for_Trusted_Service_based_Collaborations","translated_internal_url":"","created_at":"2022-03-11T23:12:14.153-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[],"slug":"The_Synthesis_Problem_for_Trusted_Service_based_Collaborations","translated_slug":"","page_count":null,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[],"research_interests":[{"id":48,"name":"Engineering","url":"https://www.academia.edu/Documents/in/Engineering"}],"urls":[]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580698"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580698/Well_Typed_Services_Cannot_Go_Wrong"><img alt="Research paper thumbnail of Well-Typed Services Cannot Go Wrong" class="work-thumbnail" src="https://attachments.academia-assets.com/82047574/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580698/Well_Typed_Services_Cannot_Go_Wrong">Well-Typed Services Cannot Go Wrong</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositi...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositions may change dynamically, in particular, because new services are discovered at runtime. Moreover, subtyping has recently been identified as a strong requirement for service dis- covery. Correctness guarantees over service compositions, provided in particular by type systems, are highly desirable in this context. However, while service oriented applications can be built using various technologies and protocols, none of them provides decent support ensuring that well-typed services cannot go wrong. An emitted message, for instance, may be dangling and remain as a ghost message in the network if there is no agent to receive it. In this article, we introduce a formal model for service compositions and define a type system with subtyping that ensures type soundness by combining static and dynamic checks. We also demonstrate how to preserve type soundness in presence of malicious agents and...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="dc182a7a095943d26cbfdbd77eec900b" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047574,"asset_id":73580698,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047574/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580698"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580698"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580698; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580698]").text(description); $(".js-view-count[data-work-id=73580698]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580698; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580698']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580698, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "dc182a7a095943d26cbfdbd77eec900b" } } $('.js-work-strip[data-work-id=73580698]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580698,"title":"Well-Typed Services Cannot Go Wrong","translated_title":"","metadata":{"abstract":"Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositions may change dynamically, in particular, because new services are discovered at runtime. Moreover, subtyping has recently been identified as a strong requirement for service dis- covery. Correctness guarantees over service compositions, provided in particular by type systems, are highly desirable in this context. However, while service oriented applications can be built using various technologies and protocols, none of them provides decent support ensuring that well-typed services cannot go wrong. An emitted message, for instance, may be dangling and remain as a ghost message in the network if there is no agent to receive it. In this article, we introduce a formal model for service compositions and define a type system with subtyping that ensures type soundness by combining static and dynamic checks. We also demonstrate how to preserve type soundness in presence of malicious agents and...","publication_date":{"day":null,"month":null,"year":2012,"errors":{}}},"translated_abstract":"Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositions may change dynamically, in particular, because new services are discovered at runtime. Moreover, subtyping has recently been identified as a strong requirement for service dis- covery. Correctness guarantees over service compositions, provided in particular by type systems, are highly desirable in this context. However, while service oriented applications can be built using various technologies and protocols, none of them provides decent support ensuring that well-typed services cannot go wrong. An emitted message, for instance, may be dangling and remain as a ghost message in the network if there is no agent to receive it. In this article, we introduce a formal model for service compositions and define a type system with subtyping that ensures type soundness by combining static and dynamic checks. We also demonstrate how to preserve type soundness in presence of malicious agents and...","internal_url":"https://www.academia.edu/73580698/Well_Typed_Services_Cannot_Go_Wrong","translated_internal_url":"","created_at":"2022-03-11T23:11:45.060-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047574,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047574/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047574/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Well_Typed_Services_Cannot_Go_Wrong.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047574/main-libre.pdf?1647069542=\u0026response-content-disposition=attachment%3B+filename%3DWell_Typed_Services_Cannot_Go_Wrong.pdf\u0026Expires=1732791729\u0026Signature=Pfx6Z38Cz3MGqbY-ZsFUBpiUUC1KyY5vGNqXsk1d~58XRe-wcZJsLT0zU7nYNVdzDi1cE26xWIOc5y-ZpX6K-AMcu0xoXJcQ40nC8Es--iQU0UJttPPmyGVGXql8ckSRL-QmzMzv73-DUaT99JtGa3iMXbwBgh5bIO4dta0aft53GXD8olbK7OhpTG9b1xGBhzFokkigYiZIdPNwpwB8z52wh1uhekGTiVJcOa8eHsAgTuUBJHYhCQ~Vj3Hg9SGvpQ8HWpkMsZSZmcpioFKOJ8fV7NxvZcdNRdiMfOwTiL8XoysDSpZLw07RUH7IW1NyAM54gwjF-leokJg1EzdAJw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"Well_Typed_Services_Cannot_Go_Wrong","translated_slug":"","page_count":30,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047574,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047574/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047574/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Well_Typed_Services_Cannot_Go_Wrong.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047574/main-libre.pdf?1647069542=\u0026response-content-disposition=attachment%3B+filename%3DWell_Typed_Services_Cannot_Go_Wrong.pdf\u0026Expires=1732791729\u0026Signature=Pfx6Z38Cz3MGqbY-ZsFUBpiUUC1KyY5vGNqXsk1d~58XRe-wcZJsLT0zU7nYNVdzDi1cE26xWIOc5y-ZpX6K-AMcu0xoXJcQ40nC8Es--iQU0UJttPPmyGVGXql8ckSRL-QmzMzv73-DUaT99JtGa3iMXbwBgh5bIO4dta0aft53GXD8olbK7OhpTG9b1xGBhzFokkigYiZIdPNwpwB8z52wh1uhekGTiVJcOa8eHsAgTuUBJHYhCQ~Vj3Hg9SGvpQ8HWpkMsZSZmcpioFKOJ8fV7NxvZcdNRdiMfOwTiL8XoysDSpZLw07RUH7IW1NyAM54gwjF-leokJg1EzdAJw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"},{"id":1293,"name":"Service Oriented Computing","url":"https://www.academia.edu/Documents/in/Service_Oriented_Computing"},{"id":14681,"name":"Formal methods","url":"https://www.academia.edu/Documents/in/Formal_methods"},{"id":129770,"name":"Key words","url":"https://www.academia.edu/Documents/in/Key_words"},{"id":371541,"name":"Type System","url":"https://www.academia.edu/Documents/in/Type_System"},{"id":1911267,"name":"Message Authentication","url":"https://www.academia.edu/Documents/in/Message_Authentication"}],"urls":[{"id":18439762,"url":"http://www.emn.fr/z-info/sudholt/papers/rr-INRIA-7899.pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580677"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580677/Towards_a_unified_formal_model_for_service_orchestration_and_choreography"><img alt="Research paper thumbnail of Towards a unified formal model for service orchestration and choreography" class="work-thumbnail" src="https://attachments.academia-assets.com/82047514/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580677/Towards_a_unified_formal_model_for_service_orchestration_and_choreography">Towards a unified formal model for service orchestration and choreography</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">The growth of Internet has extended the scope of software applications, leading to network-based ...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">The growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborat...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="b0b6511d13c1610d7ed6e6b88df658e4" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047514,"asset_id":73580677,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047514/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580677"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580677"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580677; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580677]").text(description); $(".js-view-count[data-work-id=73580677]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580677; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580677']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580677, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "b0b6511d13c1610d7ed6e6b88df658e4" } } $('.js-work-strip[data-work-id=73580677]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580677,"title":"Towards a unified formal model for service orchestration and choreography","translated_title":"","metadata":{"abstract":"The growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborat...","publication_date":{"day":null,"month":null,"year":2011,"errors":{}}},"translated_abstract":"The growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborat...","internal_url":"https://www.academia.edu/73580677/Towards_a_unified_formal_model_for_service_orchestration_and_choreography","translated_internal_url":"","created_at":"2022-03-11T23:11:15.707-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047514,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047514/thumbnails/1.jpg","file_name":"53008752.pdf","download_url":"https://www.academia.edu/attachments/82047514/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Towards_a_unified_formal_model_for_servi.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047514/53008752-libre.pdf?1647069535=\u0026response-content-disposition=attachment%3B+filename%3DTowards_a_unified_formal_model_for_servi.pdf\u0026Expires=1732791729\u0026Signature=RonuuXQz5bVDG2ahabtN7-Mk1iFuO3udxsmMEeGZvtnYIThVs3fSWSL3SKcBOxNMw-eVofhrmi0z~04ni3ss26R30FKn5v92BspGN4cpc3eqBJ-cEAr8BuRNfMYAlKUL0SazuikZIyW7~rZNGzI~-zYcw9ZBy7Yes~sqKiBphAp15W7WsNG36upsBz4aUdAIrMbCC84SR8j7LaimS71H3zEGDbq13O5BBi0FfwoAenUHXK~ysEeKHXq6Zy6MQUBHAF9lOE2q4j0K3MCz8j72VG1~NzjmQuqv33fMqz6UlL3hOd7vnYYQRTgTooWD-2J7-U8Ae3LqZVNCsjFtiLZpYA__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"Towards_a_unified_formal_model_for_service_orchestration_and_choreography","translated_slug":"","page_count":3,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047514,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047514/thumbnails/1.jpg","file_name":"53008752.pdf","download_url":"https://www.academia.edu/attachments/82047514/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Towards_a_unified_formal_model_for_servi.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047514/53008752-libre.pdf?1647069535=\u0026response-content-disposition=attachment%3B+filename%3DTowards_a_unified_formal_model_for_servi.pdf\u0026Expires=1732791729\u0026Signature=RonuuXQz5bVDG2ahabtN7-Mk1iFuO3udxsmMEeGZvtnYIThVs3fSWSL3SKcBOxNMw-eVofhrmi0z~04ni3ss26R30FKn5v92BspGN4cpc3eqBJ-cEAr8BuRNfMYAlKUL0SazuikZIyW7~rZNGzI~-zYcw9ZBy7Yes~sqKiBphAp15W7WsNG36upsBz4aUdAIrMbCC84SR8j7LaimS71H3zEGDbq13O5BBi0FfwoAenUHXK~ysEeKHXq6Zy6MQUBHAF9lOE2q4j0K3MCz8j72VG1~NzjmQuqv33fMqz6UlL3hOd7vnYYQRTgTooWD-2J7-U8Ae3LqZVNCsjFtiLZpYA__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"}],"urls":[{"id":18439745,"url":"https://core.ac.uk/download/pdf/53008752.pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580650"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580650/A_Message_Passing_Model_for_Service_Oriented_Computing"><img alt="Research paper thumbnail of A Message-Passing Model for Service Oriented Computing" class="work-thumbnail" src="https://attachments.academia-assets.com/82047544/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580650/A_Message_Passing_Model_for_Service_Oriented_Computing">A Message-Passing Model for Service Oriented Computing</a></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="45ebf90036813a59f3ac68c811637216" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047544,"asset_id":73580650,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047544/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580650"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580650"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580650; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580650]").text(description); $(".js-view-count[data-work-id=73580650]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580650; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580650']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580650, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "45ebf90036813a59f3ac68c811637216" } } $('.js-work-strip[data-work-id=73580650]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580650,"title":"A Message-Passing Model for Service Oriented Computing","translated_title":"","metadata":{"grobid_abstract":"Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS* and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels. * This work has been supported by the CESSA ANR project (see http://cessa.inria.gforge.fr).","publication_date":{"day":null,"month":null,"year":2012,"errors":{}},"grobid_abstract_attachment_id":82047544},"translated_abstract":null,"internal_url":"https://www.academia.edu/73580650/A_Message_Passing_Model_for_Service_Oriented_Computing","translated_internal_url":"","created_at":"2022-03-11T23:10:51.558-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047544,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047544/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047544/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047544/main-libre.pdf?1647069536=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=aftM8LkKkVyy~AyyFSpClbmorsrj~DQcGdkVkTiB9Wi3nO0loC9Ax8VWO5dLHJD6u6VYHB1l9AdYhQ2QzTOqt2wFWAaNpPH9xW3htXNZzM9iYDID5Eaekjkf8apifmTJUOVzDIeatJlqS2w3XnnoyEVacw4pi0g4hv2EEvkoQhUcBBuipHNtePxUKTiGSnQH7cXSI1IfzR6Df7nyBmcWNNZH4TpdGYbVD4RAt6TdMM6RfC6AhaKkoCcsHnB7STcUImw6iV8oQsEDCgqViWuiQULUM~n5VZC1E5f2jewF3U8dORb1J~4QcWof2BJgEFYNwEBQD2Ps~YyhJyGGHOCa2g__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"A_Message_Passing_Model_for_Service_Oriented_Computing","translated_slug":"","page_count":7,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047544,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047544/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047544/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047544/main-libre.pdf?1647069536=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=aftM8LkKkVyy~AyyFSpClbmorsrj~DQcGdkVkTiB9Wi3nO0loC9Ax8VWO5dLHJD6u6VYHB1l9AdYhQ2QzTOqt2wFWAaNpPH9xW3htXNZzM9iYDID5Eaekjkf8apifmTJUOVzDIeatJlqS2w3XnnoyEVacw4pi0g4hv2EEvkoQhUcBBuipHNtePxUKTiGSnQH7cXSI1IfzR6Df7nyBmcWNNZH4TpdGYbVD4RAt6TdMM6RfC6AhaKkoCcsHnB7STcUImw6iV8oQsEDCgqViWuiQULUM~n5VZC1E5f2jewF3U8dORb1J~4QcWof2BJgEFYNwEBQD2Ps~YyhJyGGHOCa2g__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":1293,"name":"Service Oriented Computing","url":"https://www.academia.edu/Documents/in/Service_Oriented_Computing"}],"urls":[]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580578"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580578/From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_"><img alt="Research paper thumbnail of From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗" class="work-thumbnail" src="https://attachments.academia-assets.com/82047497/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580578/From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_">From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of ...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of web services. How-ever, the mismatch between objects and document structures in the wire has a negative impact over interoper-ability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses of existing web service frameworks used for serialization and deserialization. Second we propose new foun-dations for serialization and deserialization, which leads to the specification of a new data binding between objects and document structures, compatible with subtyping. 1</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="d517f28b68b07e7f254a8aefa50c0f22" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047497,"asset_id":73580578,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047497/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580578"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580578"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580578; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580578]").text(description); $(".js-view-count[data-work-id=73580578]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580578; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580578']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580578, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "d517f28b68b07e7f254a8aefa50c0f22" } } $('.js-work-strip[data-work-id=73580578]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580578,"title":"From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗","translated_title":"","metadata":{"abstract":"Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of web services. How-ever, the mismatch between objects and document structures in the wire has a negative impact over interoper-ability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses of existing web service frameworks used for serialization and deserialization. Second we propose new foun-dations for serialization and deserialization, which leads to the specification of a new data binding between objects and document structures, compatible with subtyping. 1","publication_date":{"day":null,"month":null,"year":2015,"errors":{}}},"translated_abstract":"Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of web services. How-ever, the mismatch between objects and document structures in the wire has a negative impact over interoper-ability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses of existing web service frameworks used for serialization and deserialization. Second we propose new foun-dations for serialization and deserialization, which leads to the specification of a new data binding between objects and document structures, compatible with subtyping. 1","internal_url":"https://www.academia.edu/73580578/From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_internal_url":"","created_at":"2022-03-11T23:09:56.010-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047497,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047497/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047497/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"From_Object_Oriented_Programming_to_Serv.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047497/main-libre.pdf?1647069537=\u0026response-content-disposition=attachment%3B+filename%3DFrom_Object_Oriented_Programming_to_Serv.pdf\u0026Expires=1732791729\u0026Signature=VwCv6cqDboGidV0Codm5DO3aT~RtZVuXYeFRX81LTTlUlgR9UfuxaVoKKpZZxDor-KlIWs84W08CeH4wHdjRJPZ6f7X98OEYHQTe1XpgsnKVZWdKnQCRFJdgWsrw56EwQ8IeNmKF1sYea08fE2acSc21K7fMSsgMYrpCpQLhGvOoccLbThvZJtk5GqSFNHZZaRQwEU0wvchuWC786TbY6v6u72MqbRInm-4IwmvNJOtdvlYz56wIzjAWkS9ZKMb9UrNlZHcPjrGbhw8dJVpk1pb~99CqnXgWedBGfYT~qc4mQm29-S~DHDCajxgKOdWX4ga6siQt5Mqz5XVZB1HaYw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_slug":"","page_count":6,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047497,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047497/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047497/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"From_Object_Oriented_Programming_to_Serv.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047497/main-libre.pdf?1647069537=\u0026response-content-disposition=attachment%3B+filename%3DFrom_Object_Oriented_Programming_to_Serv.pdf\u0026Expires=1732791729\u0026Signature=VwCv6cqDboGidV0Codm5DO3aT~RtZVuXYeFRX81LTTlUlgR9UfuxaVoKKpZZxDor-KlIWs84W08CeH4wHdjRJPZ6f7X98OEYHQTe1XpgsnKVZWdKnQCRFJdgWsrw56EwQ8IeNmKF1sYea08fE2acSc21K7fMSsgMYrpCpQLhGvOoccLbThvZJtk5GqSFNHZZaRQwEU0wvchuWC786TbY6v6u72MqbRInm-4IwmvNJOtdvlYz56wIzjAWkS9ZKMb9UrNlZHcPjrGbhw8dJVpk1pb~99CqnXgWedBGfYT~qc4mQm29-S~DHDCajxgKOdWX4ga6siQt5Mqz5XVZB1HaYw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":453,"name":"Object Oriented Programming","url":"https://www.academia.edu/Documents/in/Object_Oriented_Programming"},{"id":3205,"name":"Service Oriented Architecture","url":"https://www.academia.edu/Documents/in/Service_Oriented_Architecture"},{"id":52295,"name":"Interoperability","url":"https://www.academia.edu/Documents/in/Interoperability"},{"id":1971036,"name":"Loose Coupling","url":"https://www.academia.edu/Documents/in/Loose_Coupling"},{"id":2922208,"name":"subtyping","url":"https://www.academia.edu/Documents/in/subtyping"}],"urls":[{"id":18439693,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.635.3257\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="51277037"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/51277037/The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success"><img alt="Research paper thumbnail of The Substitution Principle in an Object-Oriented Framework for Web Services: From Failure to Success" class="work-thumbnail" src="https://a.academia-assets.com/images/blank-paper.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/51277037/The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success">The Substitution Principle in an Object-Oriented Framework for Web Services: From Failure to Success</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In this context, two properties could be particularly required in the specification of these frameworks: (i) a loose coupling between the service layer and the object layer, allowing evolution of the service layer with a minimal impact on the object layer, (ii) an interoperability induced by the substitution principle associated to subtyping in the object layer, allowing to freely convert a value of a subtype into a supertype. However, experimenting with the popular cxf framework, we observed some undesirable coupling and interoperability issues, due to the failure of the substitution principle. Therefore we propose a new specification of the data binding used to translate data between the object and service layers. We show that if the cxf framework followed the specification, then the substitution principle would be recovered, with all its advantages.</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="51277037"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="51277037"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 51277037; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=51277037]").text(description); $(".js-view-count[data-work-id=51277037]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 51277037; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='51277037']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 51277037, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (false){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "-1" } } $('.js-work-strip[data-work-id=51277037]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":51277037,"title":"The Substitution Principle in an Object-Oriented Framework for Web Services: From Failure to Success","translated_title":"","metadata":{"abstract":"ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In this context, two properties could be particularly required in the specification of these frameworks: (i) a loose coupling between the service layer and the object layer, allowing evolution of the service layer with a minimal impact on the object layer, (ii) an interoperability induced by the substitution principle associated to subtyping in the object layer, allowing to freely convert a value of a subtype into a supertype. However, experimenting with the popular cxf framework, we observed some undesirable coupling and interoperability issues, due to the failure of the substitution principle. Therefore we propose a new specification of the data binding used to translate data between the object and service layers. We show that if the cxf framework followed the specification, then the substitution principle would be recovered, with all its advantages."},"translated_abstract":"ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In this context, two properties could be particularly required in the specification of these frameworks: (i) a loose coupling between the service layer and the object layer, allowing evolution of the service layer with a minimal impact on the object layer, (ii) an interoperability induced by the substitution principle associated to subtyping in the object layer, allowing to freely convert a value of a subtype into a supertype. However, experimenting with the popular cxf framework, we observed some undesirable coupling and interoperability issues, due to the failure of the substitution principle. Therefore we propose a new specification of the data binding used to translate data between the object and service layers. We show that if the cxf framework followed the specification, then the substitution principle would be recovered, with all its advantages.","internal_url":"https://www.academia.edu/51277037/The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success","translated_internal_url":"","created_at":"2021-09-04T23:30:10.427-07:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[],"slug":"The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success","translated_slug":"","page_count":null,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[],"research_interests":[{"id":453,"name":"Object Oriented Programming","url":"https://www.academia.edu/Documents/in/Object_Oriented_Programming"},{"id":52295,"name":"Interoperability","url":"https://www.academia.edu/Documents/in/Interoperability"},{"id":1971036,"name":"Loose Coupling","url":"https://www.academia.edu/Documents/in/Loose_Coupling"},{"id":2922208,"name":"subtyping","url":"https://www.academia.edu/Documents/in/subtyping"}],"urls":[]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> </div><div class="profile--tab_content_container js-tab-pane tab-pane" data-section-id="11638592" id="papers"><div class="js-work-strip profile--work_container" data-work-id="73580759"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580759/A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts"><img alt="Research paper thumbnail of A unified formal model for service oriented architecture to enforce security contracts" class="work-thumbnail" src="https://attachments.academia-assets.com/82047596/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580759/A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts">A unified formal model for service oriented architecture to enforce security contracts</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifyin...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifying web services tech-nologies in SOA (Service Oriented Architecture), specif-ically, SOAP/WS * and RESTful models. This model ab-stracts away from service implementations, in order to verify and to enforce some important security properties.</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="5496e718b04b3fcdd5779f0b30a8b06d" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047596,"asset_id":73580759,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047596/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580759"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580759"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580759; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580759]").text(description); $(".js-view-count[data-work-id=73580759]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580759; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580759']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580759, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "5496e718b04b3fcdd5779f0b30a8b06d" } } $('.js-work-strip[data-work-id=73580759]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580759,"title":"A unified formal model for service oriented architecture to enforce security contracts","translated_title":"","metadata":{"abstract":"In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifying web services tech-nologies in SOA (Service Oriented Architecture), specif-ically, SOAP/WS * and RESTful models. This model ab-stracts away from service implementations, in order to verify and to enforce some important security properties.","publication_date":{"day":null,"month":null,"year":2015,"errors":{}}},"translated_abstract":"In this paper we introduce a model as a foundation for het-erogeneous services, therefore unifying web services tech-nologies in SOA (Service Oriented Architecture), specif-ically, SOAP/WS * and RESTful models. This model ab-stracts away from service implementations, in order to verify and to enforce some important security properties.","internal_url":"https://www.academia.edu/73580759/A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts","translated_internal_url":"","created_at":"2022-03-11T23:13:58.830-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047596,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047596/thumbnails/1.jpg","file_name":"aosd551p-allam.pdf","download_url":"https://www.academia.edu/attachments/82047596/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_unified_formal_model_for_service_orien.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047596/aosd551p-allam-libre.pdf?1647069890=\u0026response-content-disposition=attachment%3B+filename%3DA_unified_formal_model_for_service_orien.pdf\u0026Expires=1732791729\u0026Signature=Zig5eb63CHw5wDoj0xhcf0deHVWRyjzrQEktN~2g5m6iCfpciBfFVK1Zt1QmYpooE-J2nk4iQqp237m5Y3QeoenF0L7XR~HA7oDfEu2YTz6uJcdeZSczL9oP2utCmih~cHyjUjZW59sZrKNMiof9FXTPJInUv~XGO3tlh760B64l4PGEacJXV1WdT6~u9t4tFULzdh3R6qGw5J8Tf4UxvWEYiyxFB-NLGVNBWqXUEuCLrtXxe86uWTmV7snPeDFSl5d6KuR5875xowz02ERDMysp4PNW4mVAfttyNviLPgMNrdyXek3B1h92ziDpqV5y8q4-6dRF2nGM66c-R3F2Yw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"A_unified_formal_model_for_service_oriented_architecture_to_enforce_security_contracts","translated_slug":"","page_count":3,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047596,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047596/thumbnails/1.jpg","file_name":"aosd551p-allam.pdf","download_url":"https://www.academia.edu/attachments/82047596/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_unified_formal_model_for_service_orien.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047596/aosd551p-allam-libre.pdf?1647069890=\u0026response-content-disposition=attachment%3B+filename%3DA_unified_formal_model_for_service_orien.pdf\u0026Expires=1732791729\u0026Signature=Zig5eb63CHw5wDoj0xhcf0deHVWRyjzrQEktN~2g5m6iCfpciBfFVK1Zt1QmYpooE-J2nk4iQqp237m5Y3QeoenF0L7XR~HA7oDfEu2YTz6uJcdeZSczL9oP2utCmih~cHyjUjZW59sZrKNMiof9FXTPJInUv~XGO3tlh760B64l4PGEacJXV1WdT6~u9t4tFULzdh3R6qGw5J8Tf4UxvWEYiyxFB-NLGVNBWqXUEuCLrtXxe86uWTmV7snPeDFSl5d6KuR5875xowz02ERDMysp4PNW4mVAfttyNviLPgMNrdyXek3B1h92ziDpqV5y8q4-6dRF2nGM66c-R3F2Yw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":101,"name":"Languages","url":"https://www.academia.edu/Documents/in/Languages"},{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"},{"id":3205,"name":"Service Oriented Architecture","url":"https://www.academia.edu/Documents/in/Service_Oriented_Architecture"},{"id":4370,"name":"Security","url":"https://www.academia.edu/Documents/in/Security"},{"id":14681,"name":"Formal methods","url":"https://www.academia.edu/Documents/in/Formal_methods"},{"id":43492,"name":"Standardization","url":"https://www.academia.edu/Documents/in/Standardization"},{"id":126194,"name":"Formal method","url":"https://www.academia.edu/Documents/in/Formal_method"},{"id":317992,"name":"Web Service","url":"https://www.academia.edu/Documents/in/Web_Service"},{"id":422532,"name":"Constraints","url":"https://www.academia.edu/Documents/in/Constraints"},{"id":780669,"name":"Input Output","url":"https://www.academia.edu/Documents/in/Input_Output"},{"id":1291175,"name":"Aspects","url":"https://www.academia.edu/Documents/in/Aspects"}],"urls":[{"id":18439783,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.636.1395\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580745"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580745/_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_"><img alt="Research paper thumbnail of (2013)&quot; From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗" class="work-thumbnail" src="https://attachments.academia-assets.com/82047592/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580745/_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_">(2013)&quot; From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">The object-oriented paradigm is increasingly used in the implementation and the use of web servic...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">The object-oriented paradigm is increasingly used in the implementation and the use of web services. However, the mismatch between objects and document structures in the wire has a negative impact over interoperability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="6b0caaff78c8333e49b13ba0bd0c8b8f" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047592,"asset_id":73580745,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047592/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580745"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580745"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580745; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580745]").text(description); $(".js-view-count[data-work-id=73580745]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580745; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580745']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580745, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "6b0caaff78c8333e49b13ba0bd0c8b8f" } } $('.js-work-strip[data-work-id=73580745]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580745,"title":"(2013)\u0026quot; From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗","translated_title":"","metadata":{"abstract":"The object-oriented paradigm is increasingly used in the implementation and the use of web services. However, the mismatch between objects and document structures in the wire has a negative impact over interoperability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses","publication_date":{"day":null,"month":null,"year":2013,"errors":{}}},"translated_abstract":"The object-oriented paradigm is increasingly used in the implementation and the use of web services. However, the mismatch between objects and document structures in the wire has a negative impact over interoperability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses","internal_url":"https://www.academia.edu/73580745/_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_internal_url":"","created_at":"2022-03-11T23:13:29.659-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047592,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047592/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047592/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"2013_and_quot_From_Object_Oriented_Prog.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047592/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3D2013_and_quot_From_Object_Oriented_Prog.pdf\u0026Expires=1732791729\u0026Signature=A3bQ4Mp0xYgfhGOJ9Be0r8zGwM-MMX6vEAnpTJXihnsb1bwM8rQvN5rFBQ9I0vqkgvCJ9TDxBapgeQ0bK8zQRz3Gi822NdqPeCI4lRN4N0HQM5XXF7cIdO4UuNXddNKd4nzXtDcpt1JDR-8UUJ6RLlVd9wgNzwULnyS2eOwjyOuEoQ~Q158fD5AAOTatHPmfJCocW8TsfGy8~EzXghBCBI~JT8V3lBY0qZ5iVup7i0NtSUwOrfd6GBFYpOocnGp5eFZ9aGu4xcWc3X1lFFIpyUS9O-sojL19~4csbnq8z4X3rAz7jQbHGIaHrP0JEMSfTusHdMuBfWwxDZuoEtcDaQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"_2013_and_quot_From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_slug":"","page_count":6,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047592,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047592/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047592/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"2013_and_quot_From_Object_Oriented_Prog.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047592/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3D2013_and_quot_From_Object_Oriented_Prog.pdf\u0026Expires=1732791729\u0026Signature=A3bQ4Mp0xYgfhGOJ9Be0r8zGwM-MMX6vEAnpTJXihnsb1bwM8rQvN5rFBQ9I0vqkgvCJ9TDxBapgeQ0bK8zQRz3Gi822NdqPeCI4lRN4N0HQM5XXF7cIdO4UuNXddNKd4nzXtDcpt1JDR-8UUJ6RLlVd9wgNzwULnyS2eOwjyOuEoQ~Q158fD5AAOTatHPmfJCocW8TsfGy8~EzXghBCBI~JT8V3lBY0qZ5iVup7i0NtSUwOrfd6GBFYpOocnGp5eFZ9aGu4xcWc3X1lFFIpyUS9O-sojL19~4csbnq8z4X3rAz7jQbHGIaHrP0JEMSfTusHdMuBfWwxDZuoEtcDaQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":453,"name":"Object Oriented Programming","url":"https://www.academia.edu/Documents/in/Object_Oriented_Programming"},{"id":3205,"name":"Service Oriented Architecture","url":"https://www.academia.edu/Documents/in/Service_Oriented_Architecture"},{"id":52295,"name":"Interoperability","url":"https://www.academia.edu/Documents/in/Interoperability"},{"id":1971036,"name":"Loose Coupling","url":"https://www.academia.edu/Documents/in/Loose_Coupling"},{"id":2922208,"name":"subtyping","url":"https://www.academia.edu/Documents/in/subtyping"}],"urls":[{"id":18439780,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.405.3538\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580739"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580739/A_Message_Passing_Model_for_Service_Oriented_Computing"><img alt="Research paper thumbnail of A Message-Passing Model for Service Oriented Computing" class="work-thumbnail" src="https://attachments.academia-assets.com/82047589/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580739/A_Message_Passing_Model_for_Service_Oriented_Computing">A Message-Passing Model for Service Oriented Computing</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Web services can be built according to multiple service models and technologies. Although there i...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS * and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels.</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="04516db2f0a05da519da2b1861538298" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047589,"asset_id":73580739,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047589/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580739"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580739"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580739; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580739]").text(description); $(".js-view-count[data-work-id=73580739]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580739; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580739']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580739, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "04516db2f0a05da519da2b1861538298" } } $('.js-work-strip[data-work-id=73580739]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580739,"title":"A Message-Passing Model for Service Oriented Computing","translated_title":"","metadata":{"abstract":"Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS * and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels.","publication_date":{"day":null,"month":null,"year":2012,"errors":{}}},"translated_abstract":"Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS * and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels.","internal_url":"https://www.academia.edu/73580739/A_Message_Passing_Model_for_Service_Oriented_Computing","translated_internal_url":"","created_at":"2022-03-11T23:13:01.305-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047589,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047589/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047589/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047589/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=F5RZ6PFj3jb2iH1ESwy4iqsdDFy3rrctoJjzLGipc4BE3poBIir15-sSRfNBP~z79nNu~QjttiIBGck0sgh2pvZ9Xe-a1HwixTqSPjcBQLSlB8FjxHos-YOsy7VNMqAkZCZKHp9Bzc-5SkTfZDLv6neHCdg~PGgyZTaE~Lmkg55CFh1FcpuA4Q-STbwCQ3CAmGur8VDka9o9iICRfjmRVRDi2VzZjDa5YtNW53INp6XRJFTMP1Wz4TWTt-1yHIDeaCJZKgTvjf64ZXXiHNKGQRsJJQ5bDCiHS8d82WnpjyjhPwxvo0wHwDPxEVMHR1wDBMQECNe-B~1g30qW0-iqWg__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"A_Message_Passing_Model_for_Service_Oriented_Computing","translated_slug":"","page_count":7,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047589,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047589/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047589/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047589/main-libre.pdf?1647069887=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=F5RZ6PFj3jb2iH1ESwy4iqsdDFy3rrctoJjzLGipc4BE3poBIir15-sSRfNBP~z79nNu~QjttiIBGck0sgh2pvZ9Xe-a1HwixTqSPjcBQLSlB8FjxHos-YOsy7VNMqAkZCZKHp9Bzc-5SkTfZDLv6neHCdg~PGgyZTaE~Lmkg55CFh1FcpuA4Q-STbwCQ3CAmGur8VDka9o9iICRfjmRVRDi2VzZjDa5YtNW53INp6XRJFTMP1Wz4TWTt-1yHIDeaCJZKgTvjf64ZXXiHNKGQRsJJQ5bDCiHS8d82WnpjyjhPwxvo0wHwDPxEVMHR1wDBMQECNe-B~1g30qW0-iqWg__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":1293,"name":"Service Oriented Computing","url":"https://www.academia.edu/Documents/in/Service_Oriented_Computing"}],"urls":[{"id":18439778,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.225.1559\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580724"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580724/Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_%C3%A0_objets_pour_les_services_web_"><img alt="Research paper thumbnail of Loose coupling and substitution principle in objet-oriented frameworks for web services. (Couplage faible et principe de substitution dans les environnements à objets pour les services web)" class="work-thumbnail" src="https://attachments.academia-assets.com/82047586/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580724/Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_%C3%A0_objets_pour_les_services_web_">Loose coupling and substitution principle in objet-oriented frameworks for web services. (Couplage faible et principe de substitution dans les environnements à objets pour les services web)</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Today, the implementation of services (SOAP and RESTful models) and of client applications is inc...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Today, the implementation of services (SOAP and RESTful models) and of client applications is increasingly based on object-oriented programming languages. Thus, object-oriented frameworks for Web services are essentially composed with two levels: an object level built over a service level. In this context, two properties could be particularly required in the specification of these frameworks: (i)First a loose coupling between the two levels, which allows the complex technical details of the service level to be hidden at the object level and the service level to be evolved with a minimal impact on the object level, (ii) Second, an interoperability induced by the substitution principle associated to subtyping in the object level, which allows to freely convert a value of a subtype into a supertype. In this thesis, first we present the existing weaknesses of object-oriented frameworks related to these two requirements. Then, we propose a new specification for object-oriented Web servic...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="28865f2d8a8346829f650b13c1ee30a6" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047586,"asset_id":73580724,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047586/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580724"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580724"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580724; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580724]").text(description); $(".js-view-count[data-work-id=73580724]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580724; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580724']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580724, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "28865f2d8a8346829f650b13c1ee30a6" } } $('.js-work-strip[data-work-id=73580724]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580724,"title":"Loose coupling and substitution principle in objet-oriented frameworks for web services. (Couplage faible et principe de substitution dans les environnements à objets pour les services web)","translated_title":"","metadata":{"abstract":"Today, the implementation of services (SOAP and RESTful models) and of client applications is increasingly based on object-oriented programming languages. Thus, object-oriented frameworks for Web services are essentially composed with two levels: an object level built over a service level. In this context, two properties could be particularly required in the specification of these frameworks: (i)First a loose coupling between the two levels, which allows the complex technical details of the service level to be hidden at the object level and the service level to be evolved with a minimal impact on the object level, (ii) Second, an interoperability induced by the substitution principle associated to subtyping in the object level, which allows to freely convert a value of a subtype into a supertype. In this thesis, first we present the existing weaknesses of object-oriented frameworks related to these two requirements. Then, we propose a new specification for object-oriented Web servic...","publication_date":{"day":null,"month":null,"year":2014,"errors":{}}},"translated_abstract":"Today, the implementation of services (SOAP and RESTful models) and of client applications is increasingly based on object-oriented programming languages. Thus, object-oriented frameworks for Web services are essentially composed with two levels: an object level built over a service level. In this context, two properties could be particularly required in the specification of these frameworks: (i)First a loose coupling between the two levels, which allows the complex technical details of the service level to be hidden at the object level and the service level to be evolved with a minimal impact on the object level, (ii) Second, an interoperability induced by the substitution principle associated to subtyping in the object level, which allows to freely convert a value of a subtype into a supertype. In this thesis, first we present the existing weaknesses of object-oriented frameworks related to these two requirements. Then, we propose a new specification for object-oriented Web servic...","internal_url":"https://www.academia.edu/73580724/Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_%C3%A0_objets_pour_les_services_web_","translated_internal_url":"","created_at":"2022-03-11T23:12:32.525-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047586,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047586/thumbnails/1.jpg","file_name":"Allam_D_07_2014.pdf","download_url":"https://www.academia.edu/attachments/82047586/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Loose_coupling_and_substitution_principl.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047586/Allam_D_07_2014-libre.pdf?1647069902=\u0026response-content-disposition=attachment%3B+filename%3DLoose_coupling_and_substitution_principl.pdf\u0026Expires=1732791729\u0026Signature=N3u3ojYvg-r0ZgbCNE6VtgP4GrI~03e1VcaolGQY3GhK403HIPpFwb2d8hANX61R2PJ01to1lIBqXo3PItE4-Z4AdA6kd5N179V5neHveLVo-tHAfXy~XytSGqaf5KKvOShRHULeC3ZPf1mZpZVfvIcTR3bxqsnfNpiSYzPFqEAdAz4DwePSPhf3zNuhsPsqpUiU6teazQJPq-RNmG5jUrxhQxE2dkilDhL0jvynkYnUQKvEiY~jzsuiDwdhSnnW8qeH6ldqmu9VETTc0o6pTUDzQMKw3ueEWJTRHipUw3Li-P3wmQXNcJnNSrsW4t7S9al5VTZnHYCMHD6y~FUBHQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"Loose_coupling_and_substitution_principle_in_objet_oriented_frameworks_for_web_services_Couplage_faible_et_principe_de_substitution_dans_les_environnements_à_objets_pour_les_services_web_","translated_slug":"","page_count":297,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047586,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047586/thumbnails/1.jpg","file_name":"Allam_D_07_2014.pdf","download_url":"https://www.academia.edu/attachments/82047586/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Loose_coupling_and_substitution_principl.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047586/Allam_D_07_2014-libre.pdf?1647069902=\u0026response-content-disposition=attachment%3B+filename%3DLoose_coupling_and_substitution_principl.pdf\u0026Expires=1732791729\u0026Signature=N3u3ojYvg-r0ZgbCNE6VtgP4GrI~03e1VcaolGQY3GhK403HIPpFwb2d8hANX61R2PJ01to1lIBqXo3PItE4-Z4AdA6kd5N179V5neHveLVo-tHAfXy~XytSGqaf5KKvOShRHULeC3ZPf1mZpZVfvIcTR3bxqsnfNpiSYzPFqEAdAz4DwePSPhf3zNuhsPsqpUiU6teazQJPq-RNmG5jUrxhQxE2dkilDhL0jvynkYnUQKvEiY~jzsuiDwdhSnnW8qeH6ldqmu9VETTc0o6pTUDzQMKw3ueEWJTRHipUw3Li-P3wmQXNcJnNSrsW4t7S9al5VTZnHYCMHD6y~FUBHQ__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"}],"urls":[{"id":18439775,"url":"https://tel.archives-ouvertes.fr/tel-01083286"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580719"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580719/The_Synthesis_Problem_for_Trusted_Service_based_Collaborations"><img alt="Research paper thumbnail of The Synthesis Problem for Trusted Service-based Collaborations" class="work-thumbnail" src="https://a.academia-assets.com/images/blank-paper.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580719/The_Synthesis_Problem_for_Trusted_Service_based_Collaborations">The Synthesis Problem for Trusted Service-based Collaborations</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">The growth of Internet has extended the scope of software applications, leading to network-based ...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">The growth of Internet has extended the scope of software applications, leading to network-based ar- chitectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Since a service- oriented application typically spans a number of different organisations, its execution is subject to stringent requirements at two levels : business and security. At each level, the requirements could be implemen- ted by a centralised control maintaining the correct interactions. But this solution is not realistic. Indeed, whereas each partner develops its own services, the whole application results from the collaboration of all the services in a truly concurrent way, without any centralised control. Thus, the partners involved gene- rally define a contract at the global ...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580719"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580719"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580719; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580719]").text(description); $(".js-view-count[data-work-id=73580719]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580719; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580719']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580719, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (false){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "-1" } } $('.js-work-strip[data-work-id=73580719]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580719,"title":"The Synthesis Problem for Trusted Service-based Collaborations","translated_title":"","metadata":{"abstract":"The growth of Internet has extended the scope of software applications, leading to network-based ar- chitectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Since a service- oriented application typically spans a number of different organisations, its execution is subject to stringent requirements at two levels : business and security. At each level, the requirements could be implemen- ted by a centralised control maintaining the correct interactions. But this solution is not realistic. Indeed, whereas each partner develops its own services, the whole application results from the collaboration of all the services in a truly concurrent way, without any centralised control. Thus, the partners involved gene- rally define a contract at the global ...","publication_date":{"day":null,"month":null,"year":2011,"errors":{}}},"translated_abstract":"The growth of Internet has extended the scope of software applications, leading to network-based ar- chitectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Since a service- oriented application typically spans a number of different organisations, its execution is subject to stringent requirements at two levels : business and security. At each level, the requirements could be implemen- ted by a centralised control maintaining the correct interactions. But this solution is not realistic. Indeed, whereas each partner develops its own services, the whole application results from the collaboration of all the services in a truly concurrent way, without any centralised control. Thus, the partners involved gene- rally define a contract at the global ...","internal_url":"https://www.academia.edu/73580719/The_Synthesis_Problem_for_Trusted_Service_based_Collaborations","translated_internal_url":"","created_at":"2022-03-11T23:12:14.153-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[],"slug":"The_Synthesis_Problem_for_Trusted_Service_based_Collaborations","translated_slug":"","page_count":null,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[],"research_interests":[{"id":48,"name":"Engineering","url":"https://www.academia.edu/Documents/in/Engineering"}],"urls":[]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580698"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580698/Well_Typed_Services_Cannot_Go_Wrong"><img alt="Research paper thumbnail of Well-Typed Services Cannot Go Wrong" class="work-thumbnail" src="https://attachments.academia-assets.com/82047574/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580698/Well_Typed_Services_Cannot_Go_Wrong">Well-Typed Services Cannot Go Wrong</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositi...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositions may change dynamically, in particular, because new services are discovered at runtime. Moreover, subtyping has recently been identified as a strong requirement for service dis- covery. Correctness guarantees over service compositions, provided in particular by type systems, are highly desirable in this context. However, while service oriented applications can be built using various technologies and protocols, none of them provides decent support ensuring that well-typed services cannot go wrong. An emitted message, for instance, may be dangling and remain as a ghost message in the network if there is no agent to receive it. In this article, we introduce a formal model for service compositions and define a type system with subtyping that ensures type soundness by combining static and dynamic checks. We also demonstrate how to preserve type soundness in presence of malicious agents and...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="dc182a7a095943d26cbfdbd77eec900b" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047574,"asset_id":73580698,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047574/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580698"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580698"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580698; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580698]").text(description); $(".js-view-count[data-work-id=73580698]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580698; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580698']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580698, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "dc182a7a095943d26cbfdbd77eec900b" } } $('.js-work-strip[data-work-id=73580698]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580698,"title":"Well-Typed Services Cannot Go Wrong","translated_title":"","metadata":{"abstract":"Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositions may change dynamically, in particular, because new services are discovered at runtime. Moreover, subtyping has recently been identified as a strong requirement for service dis- covery. Correctness guarantees over service compositions, provided in particular by type systems, are highly desirable in this context. However, while service oriented applications can be built using various technologies and protocols, none of them provides decent support ensuring that well-typed services cannot go wrong. An emitted message, for instance, may be dangling and remain as a ghost message in the network if there is no agent to receive it. In this article, we introduce a formal model for service compositions and define a type system with subtyping that ensures type soundness by combining static and dynamic checks. We also demonstrate how to preserve type soundness in presence of malicious agents and...","publication_date":{"day":null,"month":null,"year":2012,"errors":{}}},"translated_abstract":"Service-oriented applications are frequently used in highly dynamic contexts: ser- vice compositions may change dynamically, in particular, because new services are discovered at runtime. Moreover, subtyping has recently been identified as a strong requirement for service dis- covery. Correctness guarantees over service compositions, provided in particular by type systems, are highly desirable in this context. However, while service oriented applications can be built using various technologies and protocols, none of them provides decent support ensuring that well-typed services cannot go wrong. An emitted message, for instance, may be dangling and remain as a ghost message in the network if there is no agent to receive it. In this article, we introduce a formal model for service compositions and define a type system with subtyping that ensures type soundness by combining static and dynamic checks. We also demonstrate how to preserve type soundness in presence of malicious agents and...","internal_url":"https://www.academia.edu/73580698/Well_Typed_Services_Cannot_Go_Wrong","translated_internal_url":"","created_at":"2022-03-11T23:11:45.060-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047574,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047574/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047574/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Well_Typed_Services_Cannot_Go_Wrong.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047574/main-libre.pdf?1647069542=\u0026response-content-disposition=attachment%3B+filename%3DWell_Typed_Services_Cannot_Go_Wrong.pdf\u0026Expires=1732791729\u0026Signature=Pfx6Z38Cz3MGqbY-ZsFUBpiUUC1KyY5vGNqXsk1d~58XRe-wcZJsLT0zU7nYNVdzDi1cE26xWIOc5y-ZpX6K-AMcu0xoXJcQ40nC8Es--iQU0UJttPPmyGVGXql8ckSRL-QmzMzv73-DUaT99JtGa3iMXbwBgh5bIO4dta0aft53GXD8olbK7OhpTG9b1xGBhzFokkigYiZIdPNwpwB8z52wh1uhekGTiVJcOa8eHsAgTuUBJHYhCQ~Vj3Hg9SGvpQ8HWpkMsZSZmcpioFKOJ8fV7NxvZcdNRdiMfOwTiL8XoysDSpZLw07RUH7IW1NyAM54gwjF-leokJg1EzdAJw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"Well_Typed_Services_Cannot_Go_Wrong","translated_slug":"","page_count":30,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047574,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047574/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047574/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Well_Typed_Services_Cannot_Go_Wrong.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047574/main-libre.pdf?1647069542=\u0026response-content-disposition=attachment%3B+filename%3DWell_Typed_Services_Cannot_Go_Wrong.pdf\u0026Expires=1732791729\u0026Signature=Pfx6Z38Cz3MGqbY-ZsFUBpiUUC1KyY5vGNqXsk1d~58XRe-wcZJsLT0zU7nYNVdzDi1cE26xWIOc5y-ZpX6K-AMcu0xoXJcQ40nC8Es--iQU0UJttPPmyGVGXql8ckSRL-QmzMzv73-DUaT99JtGa3iMXbwBgh5bIO4dta0aft53GXD8olbK7OhpTG9b1xGBhzFokkigYiZIdPNwpwB8z52wh1uhekGTiVJcOa8eHsAgTuUBJHYhCQ~Vj3Hg9SGvpQ8HWpkMsZSZmcpioFKOJ8fV7NxvZcdNRdiMfOwTiL8XoysDSpZLw07RUH7IW1NyAM54gwjF-leokJg1EzdAJw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"},{"id":1293,"name":"Service Oriented Computing","url":"https://www.academia.edu/Documents/in/Service_Oriented_Computing"},{"id":14681,"name":"Formal methods","url":"https://www.academia.edu/Documents/in/Formal_methods"},{"id":129770,"name":"Key words","url":"https://www.academia.edu/Documents/in/Key_words"},{"id":371541,"name":"Type System","url":"https://www.academia.edu/Documents/in/Type_System"},{"id":1911267,"name":"Message Authentication","url":"https://www.academia.edu/Documents/in/Message_Authentication"}],"urls":[{"id":18439762,"url":"http://www.emn.fr/z-info/sudholt/papers/rr-INRIA-7899.pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580677"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580677/Towards_a_unified_formal_model_for_service_orchestration_and_choreography"><img alt="Research paper thumbnail of Towards a unified formal model for service orchestration and choreography" class="work-thumbnail" src="https://attachments.academia-assets.com/82047514/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580677/Towards_a_unified_formal_model_for_service_orchestration_and_choreography">Towards a unified formal model for service orchestration and choreography</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">The growth of Internet has extended the scope of software applications, leading to network-based ...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">The growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborat...</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="b0b6511d13c1610d7ed6e6b88df658e4" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047514,"asset_id":73580677,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047514/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580677"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580677"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580677; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580677]").text(description); $(".js-view-count[data-work-id=73580677]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580677; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580677']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580677, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "b0b6511d13c1610d7ed6e6b88df658e4" } } $('.js-work-strip[data-work-id=73580677]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580677,"title":"Towards a unified formal model for service orchestration and choreography","translated_title":"","metadata":{"abstract":"The growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborat...","publication_date":{"day":null,"month":null,"year":2011,"errors":{}}},"translated_abstract":"The growth of Internet has extended the scope of software applications, leading to network-based architectures. The main characteristic of these architectures is that they restrict the communication between remote components to message passing. Service-oriented computing is a solution to organise the exchange of messages in a network-based architecture, by using services as primitive components. Thus, each component can be a client, a server or both. Since a service-oriented application typically spans a number of different organizations, its executions is subject to stringent security requirements. That is the reason why the partners involved generally define a contract at the global level in order to enforce some security policy. From the contract, each partner deduces by projection a specification of the security functionalities that it must locally implement. Of course, in order to be useful, all these projections must ensure that the local functionalities effectively collaborat...","internal_url":"https://www.academia.edu/73580677/Towards_a_unified_formal_model_for_service_orchestration_and_choreography","translated_internal_url":"","created_at":"2022-03-11T23:11:15.707-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047514,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047514/thumbnails/1.jpg","file_name":"53008752.pdf","download_url":"https://www.academia.edu/attachments/82047514/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Towards_a_unified_formal_model_for_servi.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047514/53008752-libre.pdf?1647069535=\u0026response-content-disposition=attachment%3B+filename%3DTowards_a_unified_formal_model_for_servi.pdf\u0026Expires=1732791729\u0026Signature=RonuuXQz5bVDG2ahabtN7-Mk1iFuO3udxsmMEeGZvtnYIThVs3fSWSL3SKcBOxNMw-eVofhrmi0z~04ni3ss26R30FKn5v92BspGN4cpc3eqBJ-cEAr8BuRNfMYAlKUL0SazuikZIyW7~rZNGzI~-zYcw9ZBy7Yes~sqKiBphAp15W7WsNG36upsBz4aUdAIrMbCC84SR8j7LaimS71H3zEGDbq13O5BBi0FfwoAenUHXK~ysEeKHXq6Zy6MQUBHAF9lOE2q4j0K3MCz8j72VG1~NzjmQuqv33fMqz6UlL3hOd7vnYYQRTgTooWD-2J7-U8Ae3LqZVNCsjFtiLZpYA__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"Towards_a_unified_formal_model_for_service_orchestration_and_choreography","translated_slug":"","page_count":3,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047514,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047514/thumbnails/1.jpg","file_name":"53008752.pdf","download_url":"https://www.academia.edu/attachments/82047514/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"Towards_a_unified_formal_model_for_servi.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047514/53008752-libre.pdf?1647069535=\u0026response-content-disposition=attachment%3B+filename%3DTowards_a_unified_formal_model_for_servi.pdf\u0026Expires=1732791729\u0026Signature=RonuuXQz5bVDG2ahabtN7-Mk1iFuO3udxsmMEeGZvtnYIThVs3fSWSL3SKcBOxNMw-eVofhrmi0z~04ni3ss26R30FKn5v92BspGN4cpc3eqBJ-cEAr8BuRNfMYAlKUL0SazuikZIyW7~rZNGzI~-zYcw9ZBy7Yes~sqKiBphAp15W7WsNG36upsBz4aUdAIrMbCC84SR8j7LaimS71H3zEGDbq13O5BBi0FfwoAenUHXK~ysEeKHXq6Zy6MQUBHAF9lOE2q4j0K3MCz8j72VG1~NzjmQuqv33fMqz6UlL3hOd7vnYYQRTgTooWD-2J7-U8Ae3LqZVNCsjFtiLZpYA__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":422,"name":"Computer Science","url":"https://www.academia.edu/Documents/in/Computer_Science"}],"urls":[{"id":18439745,"url":"https://core.ac.uk/download/pdf/53008752.pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580650"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580650/A_Message_Passing_Model_for_Service_Oriented_Computing"><img alt="Research paper thumbnail of A Message-Passing Model for Service Oriented Computing" class="work-thumbnail" src="https://attachments.academia-assets.com/82047544/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580650/A_Message_Passing_Model_for_Service_Oriented_Computing">A Message-Passing Model for Service Oriented Computing</a></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="45ebf90036813a59f3ac68c811637216" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047544,"asset_id":73580650,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047544/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580650"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580650"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580650; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580650]").text(description); $(".js-view-count[data-work-id=73580650]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580650; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580650']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580650, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "45ebf90036813a59f3ac68c811637216" } } $('.js-work-strip[data-work-id=73580650]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580650,"title":"A Message-Passing Model for Service Oriented Computing","translated_title":"","metadata":{"grobid_abstract":"Web services can be built according to multiple service models and technologies. Although there is a clear need for a model integrating them in multiple real-world contexts, no integrated model does (yet) exist. In this paper, we introduce a model as a foundation for heterogeneous services, in particular, SOAP/WS* and RESTful services. The model abstracts away from service implementations, composes services in a truly concurrent manner and supports asynchronous message passing as well as mobility of typed channels. * This work has been supported by the CESSA ANR project (see http://cessa.inria.gforge.fr).","publication_date":{"day":null,"month":null,"year":2012,"errors":{}},"grobid_abstract_attachment_id":82047544},"translated_abstract":null,"internal_url":"https://www.academia.edu/73580650/A_Message_Passing_Model_for_Service_Oriented_Computing","translated_internal_url":"","created_at":"2022-03-11T23:10:51.558-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047544,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047544/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047544/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047544/main-libre.pdf?1647069536=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=aftM8LkKkVyy~AyyFSpClbmorsrj~DQcGdkVkTiB9Wi3nO0loC9Ax8VWO5dLHJD6u6VYHB1l9AdYhQ2QzTOqt2wFWAaNpPH9xW3htXNZzM9iYDID5Eaekjkf8apifmTJUOVzDIeatJlqS2w3XnnoyEVacw4pi0g4hv2EEvkoQhUcBBuipHNtePxUKTiGSnQH7cXSI1IfzR6Df7nyBmcWNNZH4TpdGYbVD4RAt6TdMM6RfC6AhaKkoCcsHnB7STcUImw6iV8oQsEDCgqViWuiQULUM~n5VZC1E5f2jewF3U8dORb1J~4QcWof2BJgEFYNwEBQD2Ps~YyhJyGGHOCa2g__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"A_Message_Passing_Model_for_Service_Oriented_Computing","translated_slug":"","page_count":7,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047544,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047544/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047544/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"A_Message_Passing_Model_for_Service_Orie.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047544/main-libre.pdf?1647069536=\u0026response-content-disposition=attachment%3B+filename%3DA_Message_Passing_Model_for_Service_Orie.pdf\u0026Expires=1732791729\u0026Signature=aftM8LkKkVyy~AyyFSpClbmorsrj~DQcGdkVkTiB9Wi3nO0loC9Ax8VWO5dLHJD6u6VYHB1l9AdYhQ2QzTOqt2wFWAaNpPH9xW3htXNZzM9iYDID5Eaekjkf8apifmTJUOVzDIeatJlqS2w3XnnoyEVacw4pi0g4hv2EEvkoQhUcBBuipHNtePxUKTiGSnQH7cXSI1IfzR6Df7nyBmcWNNZH4TpdGYbVD4RAt6TdMM6RfC6AhaKkoCcsHnB7STcUImw6iV8oQsEDCgqViWuiQULUM~n5VZC1E5f2jewF3U8dORb1J~4QcWof2BJgEFYNwEBQD2Ps~YyhJyGGHOCa2g__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":1293,"name":"Service Oriented Computing","url":"https://www.academia.edu/Documents/in/Service_Oriented_Computing"}],"urls":[]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="73580578"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/73580578/From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_"><img alt="Research paper thumbnail of From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗" class="work-thumbnail" src="https://attachments.academia-assets.com/82047497/thumbnails/1.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/73580578/From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_">From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of ...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of web services. How-ever, the mismatch between objects and document structures in the wire has a negative impact over interoper-ability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses of existing web service frameworks used for serialization and deserialization. Second we propose new foun-dations for serialization and deserialization, which leads to the specification of a new data binding between objects and document structures, compatible with subtyping. 1</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><a id="d517f28b68b07e7f254a8aefa50c0f22" class="wp-workCard--action" rel="nofollow" data-click-track="profile-work-strip-download" data-download="{"attachment_id":82047497,"asset_id":73580578,"asset_type":"Work","button_location":"profile"}" href="https://www.academia.edu/attachments/82047497/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&s=profile"><span><i class="fa fa-arrow-down"></i></span><span>Download</span></a><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="73580578"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="73580578"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 73580578; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=73580578]").text(description); $(".js-view-count[data-work-id=73580578]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 73580578; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='73580578']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 73580578, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (true){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "d517f28b68b07e7f254a8aefa50c0f22" } } $('.js-work-strip[data-work-id=73580578]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":73580578,"title":"From Object-Oriented Programming to Service-Oriented Computing: How to Improve Interoperability by Preserving Subtyping ∗","translated_title":"","metadata":{"abstract":"Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of web services. How-ever, the mismatch between objects and document structures in the wire has a negative impact over interoper-ability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses of existing web service frameworks used for serialization and deserialization. Second we propose new foun-dations for serialization and deserialization, which leads to the specification of a new data binding between objects and document structures, compatible with subtyping. 1","publication_date":{"day":null,"month":null,"year":2015,"errors":{}}},"translated_abstract":"Abstract: The object-oriented paradigm is increasingly used in the implementation and the use of web services. How-ever, the mismatch between objects and document structures in the wire has a negative impact over interoper-ability, more particularly when subtyping is involved. In this paper, we discuss how to improve interoperability in this context by preserving the subsumption property associated to subtyping. First we show the weaknesses of existing web service frameworks used for serialization and deserialization. Second we propose new foun-dations for serialization and deserialization, which leads to the specification of a new data binding between objects and document structures, compatible with subtyping. 1","internal_url":"https://www.academia.edu/73580578/From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_internal_url":"","created_at":"2022-03-11T23:09:56.010-08:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[{"id":82047497,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047497/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047497/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"From_Object_Oriented_Programming_to_Serv.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047497/main-libre.pdf?1647069537=\u0026response-content-disposition=attachment%3B+filename%3DFrom_Object_Oriented_Programming_to_Serv.pdf\u0026Expires=1732791729\u0026Signature=VwCv6cqDboGidV0Codm5DO3aT~RtZVuXYeFRX81LTTlUlgR9UfuxaVoKKpZZxDor-KlIWs84W08CeH4wHdjRJPZ6f7X98OEYHQTe1XpgsnKVZWdKnQCRFJdgWsrw56EwQ8IeNmKF1sYea08fE2acSc21K7fMSsgMYrpCpQLhGvOoccLbThvZJtk5GqSFNHZZaRQwEU0wvchuWC786TbY6v6u72MqbRInm-4IwmvNJOtdvlYz56wIzjAWkS9ZKMb9UrNlZHcPjrGbhw8dJVpk1pb~99CqnXgWedBGfYT~qc4mQm29-S~DHDCajxgKOdWX4ga6siQt5Mqz5XVZB1HaYw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"slug":"From_Object_Oriented_Programming_to_Service_Oriented_Computing_How_to_Improve_Interoperability_by_Preserving_Subtyping_","translated_slug":"","page_count":6,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[{"id":82047497,"title":"","file_type":"pdf","scribd_thumbnail_url":"https://attachments.academia-assets.com/82047497/thumbnails/1.jpg","file_name":"main.pdf","download_url":"https://www.academia.edu/attachments/82047497/download_file?st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&st=MTczMjc4ODEyOSw4LjIyMi4yMDguMTQ2&","bulk_download_file_name":"From_Object_Oriented_Programming_to_Serv.pdf","bulk_download_url":"https://d1wqtxts1xzle7.cloudfront.net/82047497/main-libre.pdf?1647069537=\u0026response-content-disposition=attachment%3B+filename%3DFrom_Object_Oriented_Programming_to_Serv.pdf\u0026Expires=1732791729\u0026Signature=VwCv6cqDboGidV0Codm5DO3aT~RtZVuXYeFRX81LTTlUlgR9UfuxaVoKKpZZxDor-KlIWs84W08CeH4wHdjRJPZ6f7X98OEYHQTe1XpgsnKVZWdKnQCRFJdgWsrw56EwQ8IeNmKF1sYea08fE2acSc21K7fMSsgMYrpCpQLhGvOoccLbThvZJtk5GqSFNHZZaRQwEU0wvchuWC786TbY6v6u72MqbRInm-4IwmvNJOtdvlYz56wIzjAWkS9ZKMb9UrNlZHcPjrGbhw8dJVpk1pb~99CqnXgWedBGfYT~qc4mQm29-S~DHDCajxgKOdWX4ga6siQt5Mqz5XVZB1HaYw__\u0026Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA"}],"research_interests":[{"id":453,"name":"Object Oriented Programming","url":"https://www.academia.edu/Documents/in/Object_Oriented_Programming"},{"id":3205,"name":"Service Oriented Architecture","url":"https://www.academia.edu/Documents/in/Service_Oriented_Architecture"},{"id":52295,"name":"Interoperability","url":"https://www.academia.edu/Documents/in/Interoperability"},{"id":1971036,"name":"Loose Coupling","url":"https://www.academia.edu/Documents/in/Loose_Coupling"},{"id":2922208,"name":"subtyping","url":"https://www.academia.edu/Documents/in/subtyping"}],"urls":[{"id":18439693,"url":"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.635.3257\u0026rep=rep1\u0026type=pdf"}]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> <div class="js-work-strip profile--work_container" data-work-id="51277037"><div class="profile--work_thumbnail hidden-xs"><a class="js-work-strip-work-link" data-click-track="profile-work-strip-thumbnail" href="https://www.academia.edu/51277037/The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success"><img alt="Research paper thumbnail of The Substitution Principle in an Object-Oriented Framework for Web Services: From Failure to Success" class="work-thumbnail" src="https://a.academia-assets.com/images/blank-paper.jpg" /></a></div><div class="wp-workCard wp-workCard_itemContainer"><div class="wp-workCard_item wp-workCard--title"><a class="js-work-strip-work-link text-gray-darker" data-click-track="profile-work-strip-title" href="https://www.academia.edu/51277037/The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success">The Substitution Principle in an Object-Oriented Framework for Web Services: From Failure to Success</a></div><div class="wp-workCard_item"><span class="js-work-more-abstract-truncated">ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In...</span><a class="js-work-more-abstract" data-broccoli-component="work_strip.more_abstract" data-click-track="profile-work-strip-more-abstract" href="javascript:;"><span> more </span><span><i class="fa fa-caret-down"></i></span></a><span class="js-work-more-abstract-untruncated hidden">ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In this context, two properties could be particularly required in the specification of these frameworks: (i) a loose coupling between the service layer and the object layer, allowing evolution of the service layer with a minimal impact on the object layer, (ii) an interoperability induced by the substitution principle associated to subtyping in the object layer, allowing to freely convert a value of a subtype into a supertype. However, experimenting with the popular cxf framework, we observed some undesirable coupling and interoperability issues, due to the failure of the substitution principle. Therefore we propose a new specification of the data binding used to translate data between the object and service layers. We show that if the cxf framework followed the specification, then the substitution principle would be recovered, with all its advantages.</span></div><div class="wp-workCard_item wp-workCard--actions"><span class="work-strip-bookmark-button-container"></span><span class="wp-workCard--action visible-if-viewed-by-owner inline-block" style="display: none;"><span class="js-profile-work-strip-edit-button-wrapper profile-work-strip-edit-button-wrapper" data-work-id="51277037"><a class="js-profile-work-strip-edit-button" tabindex="0"><span><i class="fa fa-pencil"></i></span><span>Edit</span></a></span></span><span id="work-strip-rankings-button-container"></span></div><div class="wp-workCard_item wp-workCard--stats"><span><span><span class="js-view-count view-count u-mr2x" data-work-id="51277037"><i class="fa fa-spinner fa-spin"></i></span><script>$(function () { var workId = 51277037; window.Academia.workViewCountsFetcher.queue(workId, function (count) { var description = window.$h.commaizeInt(count) + " " + window.$h.pluralize(count, 'View'); $(".js-view-count[data-work-id=51277037]").text(description); $(".js-view-count[data-work-id=51277037]").attr('title', description).tooltip(); }); });</script></span></span><span><span class="percentile-widget hidden"><span class="u-mr2x work-percentile"></span></span><script>$(function () { var workId = 51277037; window.Academia.workPercentilesFetcher.queue(workId, function (percentileText) { var container = $(".js-work-strip[data-work-id='51277037']"); container.find('.work-percentile').text(percentileText.charAt(0).toUpperCase() + percentileText.slice(1)); container.find('.percentile-widget').show(); container.find('.percentile-widget').removeClass('hidden'); }); });</script></span><span><script>$(function() { new Works.PaperRankView({ workId: 51277037, container: "", }); });</script></span></div><div id="work-strip-premium-row-container"></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/work_edit-ad038b8c047c1a8d4fa01b402d530ff93c45fee2137a149a4a5398bc8ad67560.js"], function() { // from javascript_helper.rb var dispatcherData = {} if (false){ window.WowProfile.dispatcher = window.WowProfile.dispatcher || _.clone(Backbone.Events); dispatcherData = { dispatcher: window.WowProfile.dispatcher, downloadLinkId: "-1" } } $('.js-work-strip[data-work-id=51277037]').each(function() { if (!$(this).data('initialized')) { new WowProfile.WorkStripView({ el: this, workJSON: {"id":51277037,"title":"The Substitution Principle in an Object-Oriented Framework for Web Services: From Failure to Success","translated_title":"","metadata":{"abstract":"ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In this context, two properties could be particularly required in the specification of these frameworks: (i) a loose coupling between the service layer and the object layer, allowing evolution of the service layer with a minimal impact on the object layer, (ii) an interoperability induced by the substitution principle associated to subtyping in the object layer, allowing to freely convert a value of a subtype into a supertype. However, experimenting with the popular cxf framework, we observed some undesirable coupling and interoperability issues, due to the failure of the substitution principle. Therefore we propose a new specification of the data binding used to translate data between the object and service layers. We show that if the cxf framework followed the specification, then the substitution principle would be recovered, with all its advantages."},"translated_abstract":"ABSTRACT Nowadays, services are more and more implemented by using object-oriented frameworks. In this context, two properties could be particularly required in the specification of these frameworks: (i) a loose coupling between the service layer and the object layer, allowing evolution of the service layer with a minimal impact on the object layer, (ii) an interoperability induced by the substitution principle associated to subtyping in the object layer, allowing to freely convert a value of a subtype into a supertype. However, experimenting with the popular cxf framework, we observed some undesirable coupling and interoperability issues, due to the failure of the substitution principle. Therefore we propose a new specification of the data binding used to translate data between the object and service layers. We show that if the cxf framework followed the specification, then the substitution principle would be recovered, with all its advantages.","internal_url":"https://www.academia.edu/51277037/The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success","translated_internal_url":"","created_at":"2021-09-04T23:30:10.427-07:00","preview_url":null,"current_user_can_edit":null,"current_user_is_owner":null,"owner_id":48228395,"coauthors_can_edit":true,"document_type":"paper","co_author_tags":[],"downloadable_attachments":[],"slug":"The_Substitution_Principle_in_an_Object_Oriented_Framework_for_Web_Services_From_Failure_to_Success","translated_slug":"","page_count":null,"language":"en","content_type":"Work","owner":{"id":48228395,"first_name":"Diana","middle_initials":null,"last_name":"Allam","page_name":"DianaAllam","domain_name":"independent","created_at":"2016-05-04T06:43:33.315-07:00","display_name":"Diana Allam","url":"https://independent.academia.edu/DianaAllam"},"attachments":[],"research_interests":[{"id":453,"name":"Object Oriented Programming","url":"https://www.academia.edu/Documents/in/Object_Oriented_Programming"},{"id":52295,"name":"Interoperability","url":"https://www.academia.edu/Documents/in/Interoperability"},{"id":1971036,"name":"Loose Coupling","url":"https://www.academia.edu/Documents/in/Loose_Coupling"},{"id":2922208,"name":"subtyping","url":"https://www.academia.edu/Documents/in/subtyping"}],"urls":[]}, dispatcherData: dispatcherData }); $(this).data('initialized', true); } }); $a.trackClickSource(".js-work-strip-work-link", "profile_work_strip") }); </script> </div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js","https://a.academia-assets.com/assets/google_contacts-0dfb882d836b94dbcb4a2d123d6933fc9533eda5be911641f20b4eb428429600.js"], function() { // from javascript_helper.rb $('.js-google-connect-button').click(function(e) { e.preventDefault(); GoogleContacts.authorize_and_show_contacts(); Aedu.Dismissibles.recordClickthrough("WowProfileImportContactsPrompt"); }); $('.js-update-biography-button').click(function(e) { e.preventDefault(); Aedu.Dismissibles.recordClickthrough("UpdateUserBiographyPrompt"); $.ajax({ url: $r.api_v0_profiles_update_about_path({ subdomain_param: 'api', about: "", }), type: 'PUT', success: function(response) { location.reload(); } }); }); $('.js-work-creator-button').click(function (e) { e.preventDefault(); window.location = $r.upload_funnel_document_path({ source: encodeURIComponent(""), }); }); $('.js-video-upload-button').click(function (e) { e.preventDefault(); window.location = $r.upload_funnel_video_path({ source: encodeURIComponent(""), }); }); $('.js-do-this-later-button').click(function() { $(this).closest('.js-profile-nag-panel').remove(); Aedu.Dismissibles.recordDismissal("WowProfileImportContactsPrompt"); }); $('.js-update-biography-do-this-later-button').click(function(){ $(this).closest('.js-profile-nag-panel').remove(); Aedu.Dismissibles.recordDismissal("UpdateUserBiographyPrompt"); }); $('.wow-profile-mentions-upsell--close').click(function(){ $('.wow-profile-mentions-upsell--panel').hide(); Aedu.Dismissibles.recordDismissal("WowProfileMentionsUpsell"); }); $('.wow-profile-mentions-upsell--button').click(function(){ Aedu.Dismissibles.recordClickthrough("WowProfileMentionsUpsell"); }); new WowProfile.SocialRedesignUserWorks({ initialWorksOffset: 20, allWorksOffset: 20, maxSections: 1 }) }); </script> </div></div></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/wow_profile_edit-5ea339ee107c863779f560dd7275595239fed73f1a13d279d2b599a28c0ecd33.js","https://a.academia-assets.com/assets/add_coauthor-22174b608f9cb871d03443cafa7feac496fb50d7df2d66a53f5ee3c04ba67f53.js","https://a.academia-assets.com/assets/tab-dcac0130902f0cc2d8cb403714dd47454f11fc6fb0e99ae6a0827b06613abc20.js","https://a.academia-assets.com/assets/wow_profile-f77ea15d77ce96025a6048a514272ad8becbad23c641fc2b3bd6e24ca6ff1932.js"], function() { // from javascript_helper.rb window.ae = window.ae || {}; window.ae.WowProfile = window.ae.WowProfile || {}; if(Aedu.User.current && Aedu.User.current.id === $viewedUser.id) { window.ae.WowProfile.current_user_edit = {}; new WowProfileEdit.EditUploadView({ el: '.js-edit-upload-button-wrapper', model: window.$current_user, }); new AddCoauthor.AddCoauthorsController(); } var userInfoView = new WowProfile.SocialRedesignUserInfo({ recaptcha_key: "6LdxlRMTAAAAADnu_zyLhLg0YF9uACwz78shpjJB" }); WowProfile.router = new WowProfile.Router({ userInfoView: userInfoView }); Backbone.history.start({ pushState: true, root: "/" + $viewedUser.page_name }); new WowProfile.UserWorksNav() }); </script> </div> <div class="bootstrap login"><div class="modal fade login-modal" id="login-modal"><div class="login-modal-dialog modal-dialog"><div class="modal-content"><div class="modal-header"><button class="close close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button><h4 class="modal-title text-center"><strong>Log In</strong></h4></div><div class="modal-body"><div class="row"><div class="col-xs-10 col-xs-offset-1"><button class="btn btn-fb btn-lg btn-block btn-v-center-content" id="login-facebook-oauth-button"><svg style="float: left; width: 19px; line-height: 1em; margin-right: .3em;" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook-square" class="svg-inline--fa fa-facebook-square fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"></path></svg><small><strong>Log in</strong> with <strong>Facebook</strong></small></button><br /><button class="btn btn-google btn-lg btn-block btn-v-center-content" id="login-google-oauth-button"><svg style="float: left; width: 22px; line-height: 1em; margin-right: .3em;" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="google-plus" class="svg-inline--fa fa-google-plus fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z"></path></svg><small><strong>Log in</strong> with <strong>Google</strong></small></button><br /><style type="text/css">.sign-in-with-apple-button { width: 100%; height: 52px; border-radius: 3px; border: 1px solid black; cursor: pointer; }</style><script src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js" type="text/javascript"></script><div class="sign-in-with-apple-button" data-border="false" data-color="white" id="appleid-signin"><span ="Sign Up with Apple" class="u-fs11"></span></div><script>AppleID.auth.init({ clientId: 'edu.academia.applesignon', scope: 'name email', redirectURI: 'https://www.academia.edu/sessions', state: "8730d670f81c2d8158c038a16bd95157329dbe412f10d081a0e98dfe949e6649", });</script><script>// Hacky way of checking if on fast loswp if (window.loswp == null) { (function() { const Google = window?.Aedu?.Auth?.OauthButton?.Login?.Google; const Facebook = window?.Aedu?.Auth?.OauthButton?.Login?.Facebook; if (Google) { new Google({ el: '#login-google-oauth-button', rememberMeCheckboxId: 'remember_me', track: null }); } if (Facebook) { new Facebook({ el: '#login-facebook-oauth-button', rememberMeCheckboxId: 'remember_me', track: null }); } })(); }</script></div></div></div><div class="modal-body"><div class="row"><div class="col-xs-10 col-xs-offset-1"><div class="hr-heading login-hr-heading"><span class="hr-heading-text">or</span></div></div></div></div><div class="modal-body"><div class="row"><div class="col-xs-10 col-xs-offset-1"><form class="js-login-form" action="https://www.academia.edu/sessions" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="DjU8FpF77v3Vjs9LBPyBUu6vwzVf5nhrNMwEj6r+HKghnlPsItW0PNtzpRAJ4CCpvTVpJ7np5TJtLUPl2SWbpg==" autocomplete="off" /><div class="form-group"><label class="control-label" for="login-modal-email-input" style="font-size: 14px;">Email</label><input class="form-control" id="login-modal-email-input" name="login" type="email" /></div><div class="form-group"><label class="control-label" for="login-modal-password-input" style="font-size: 14px;">Password</label><input class="form-control" id="login-modal-password-input" name="password" type="password" /></div><input type="hidden" name="post_login_redirect_url" id="post_login_redirect_url" value="https://independent.academia.edu/DianaAllam" autocomplete="off" /><div class="checkbox"><label><input type="checkbox" name="remember_me" id="remember_me" value="1" checked="checked" /><small style="font-size: 12px; margin-top: 2px; display: inline-block;">Remember me on this computer</small></label></div><br><input type="submit" name="commit" value="Log In" class="btn btn-primary btn-block btn-lg js-login-submit" data-disable-with="Log In" /></br></form><script>typeof window?.Aedu?.recaptchaManagedForm === 'function' && window.Aedu.recaptchaManagedForm( document.querySelector('.js-login-form'), document.querySelector('.js-login-submit') );</script><small style="font-size: 12px;"><br />or <a data-target="#login-modal-reset-password-container" data-toggle="collapse" href="javascript:void(0)">reset password</a></small><div class="collapse" id="login-modal-reset-password-container"><br /><div class="well margin-0x"><form class="js-password-reset-form" action="https://www.academia.edu/reset_password" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" autocomplete="off" /><input type="hidden" name="authenticity_token" value="ekCxvmOJkdHNBi/hIKkdYAlZuu892+Nng1jVMlWBvW9V695E0CfLEMP7RbottbybWsMQ/dvUfj7auZJYJlo6YQ==" autocomplete="off" /><p>Enter the email address you signed up with and we'll email you a reset link.</p><div class="form-group"><input class="form-control" name="email" type="email" /></div><script src="https://recaptcha.net/recaptcha/api.js" async defer></script> <script> var invisibleRecaptchaSubmit = function () { var closestForm = function (ele) { var curEle = ele.parentNode; while (curEle.nodeName !== 'FORM' && curEle.nodeName !== 'BODY'){ curEle = curEle.parentNode; } return curEle.nodeName === 'FORM' ? curEle : null }; var eles = document.getElementsByClassName('g-recaptcha'); if (eles.length > 0) { var form = closestForm(eles[0]); if (form) { form.submit(); } } }; </script> <input type="submit" data-sitekey="6Lf3KHUUAAAAACggoMpmGJdQDtiyrjVlvGJ6BbAj" data-callback="invisibleRecaptchaSubmit" class="g-recaptcha btn btn-primary btn-block" value="Email me a link" value=""/> </form></div></div><script> require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/collapse-45805421cf446ca5adf7aaa1935b08a3a8d1d9a6cc5d91a62a2a3a00b20b3e6a.js"], function() { // from javascript_helper.rb $("#login-modal-reset-password-container").on("shown.bs.collapse", function() { $(this).find("input[type=email]").focus(); }); }); </script> </div></div></div><div class="modal-footer"><div class="text-center"><small style="font-size: 12px;">Need an account? <a rel="nofollow" href="https://www.academia.edu/signup">Click here to sign up</a></small></div></div></div></div></div></div><script>// If we are on subdomain or non-bootstrapped page, redirect to login page instead of showing modal (function(){ if (typeof $ === 'undefined') return; var host = window.location.hostname; if ((host === $domain || host === "www."+$domain) && (typeof $().modal === 'function')) { $("#nav_log_in").click(function(e) { // Don't follow the link and open the modal e.preventDefault(); $("#login-modal").on('shown.bs.modal', function() { $(this).find("#login-modal-email-input").focus() }).modal('show'); }); } })()</script> <div class="bootstrap" id="footer"><div class="footer-content clearfix text-center padding-top-7x" style="width:100%;"><ul class="footer-links-secondary footer-links-wide list-inline margin-bottom-1x"><li><a href="https://www.academia.edu/about">About</a></li><li><a href="https://www.academia.edu/press">Press</a></li><li><a rel="nofollow" href="https://medium.com/academia">Blog</a></li><li><a href="https://www.academia.edu/documents">Papers</a></li><li><a href="https://www.academia.edu/topics">Topics</a></li><li><a href="https://www.academia.edu/journals">Academia.edu Journals</a></li><li><a rel="nofollow" href="https://www.academia.edu/hiring"><svg style="width: 13px; height: 13px;" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="briefcase" class="svg-inline--fa fa-briefcase fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z"></path></svg> <strong>We're Hiring!</strong></a></li><li><a rel="nofollow" href="https://support.academia.edu/"><svg style="width: 12px; height: 12px;" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="question-circle" class="svg-inline--fa fa-question-circle fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"></path></svg> <strong>Help Center</strong></a></li></ul><ul class="footer-links-tertiary list-inline margin-bottom-1x"><li class="small">Find new research papers in:</li><li class="small"><a href="https://www.academia.edu/Documents/in/Physics">Physics</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Chemistry">Chemistry</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Biology">Biology</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Health_Sciences">Health Sciences</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Ecology">Ecology</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Earth_Sciences">Earth Sciences</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Cognitive_Science">Cognitive Science</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Mathematics">Mathematics</a></li><li class="small"><a href="https://www.academia.edu/Documents/in/Computer_Science">Computer Science</a></li></ul></div></div><div class="DesignSystem" id="credit" style="width:100%;"><ul class="u-pl0x footer-links-legal list-inline"><li><a rel="nofollow" href="https://www.academia.edu/terms">Terms</a></li><li><a rel="nofollow" href="https://www.academia.edu/privacy">Privacy</a></li><li><a rel="nofollow" href="https://www.academia.edu/copyright">Copyright</a></li><li>Academia ©2024</li></ul></div><script> //<![CDATA[ window.detect_gmtoffset = true; window.Academia && window.Academia.set_gmtoffset && Academia.set_gmtoffset('/gmtoffset'); //]]> </script> <div id='overlay_background'></div> <div id='bootstrap-modal-container' class='bootstrap'></div> <div id='ds-modal-container' class='bootstrap DesignSystem'></div> <div id='full-screen-modal'></div> </div> </body> </html>