亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? deep-shallow-api.sgml

?? 機器人開源項目orocos的源代碼
?? SGML
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN"	"docbook/dtd/4.1/docbook.dtd" [<!ENTITY orocos "<acronym>Orocos</acronym>">]><article><articleinfo>   <title>Generic <emphasis>Application Programming Interface</emphasis> designissues  </title>  <author>    <firstname>Herman</firstname>    <surname>Bruyninckx</surname>    <affiliation>      <address>        Herman.Bruyninckx(at)mech.kuleuven.ac.be      </address>    </affiliation>  </author> <copyright>  <year>2003&ndash;2004</year>  <holder>Herman Bruyninckx &mdash;Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU General Public License(<ulink url="http://www.fsf.org/copyleft/gpl.html">http://www.fsf.org/copyleft/gpl.html</ulink>), where the <emphasis>source code</emphasis> of the document is the <ulink url="deep-shallow-api.xml">XML file</ulink>.</holder> </copyright> <revhistory>  <revision>    <revnumber>0.01</revnumber>    <date>June 29, 2003</date>    <authorinitials>HB</authorinitials>    <revremark>Initial draft.</revremark>   </revision>  <revision>    <revnumber>0.02</revnumber>    <date>July 7, 2003</date>    <authorinitials>HB</authorinitials>    <revremark>Added some remarks about &ldquo;multipledispatching&rdquo;.</revremark>   </revision>  <revision>    <revnumber>0.03</revnumber>    <date>July 13, 2003</date>    <authorinitials>HB</authorinitials>	 <revremark>Added introduction, a discussion about class and component APIs, andconcrete API suggestions.</revremark>   </revision>  <revision>    <revnumber>0.04</revnumber>    <date>March 21, 2004</date>    <authorinitials>HB</authorinitials>	 <revremark>Extended the Class vs. Component discussion.</revremark>   </revision>  <revision>    <revnumber>0.05</revnumber>    <date>April 17, 2004</date>    <authorinitials>HB</authorinitials>	 <revremark>Reworked all sections. Added section on data, execution andconfiguration flow API. Added section on interface semantics andapplication families. Outsourced the details of the discussion aboutclasses versus components to its own document. Removed the section onpush/pull.    </revremark>   </revision> </revhistory> <abstract> <para> <emphasis role="strong">Abstract</emphasis> </para> <para>This document discusses various issues that influence the design of aprogramming interface (API), and provides guidelines for how APIs arechosen in the Orocos project.  </para> </abstract></articleinfo> <para>Robotics and machine tools are typical<emphasis role="strong">integration</emphasis> application areas:their controllers are the result of a combination of servoroutines, kinematic routines, motion generation, hardware interfacingand event handling, command language interpretation, etc.The application programming interface (API) of such controllersinevitably becomes quite extensive, <emphasis>and</emphasis> thedesign and implementation of the whole system is necessarily a groupeffort, too big for one single programmer. </para><para>Hence, the designers and programmers need some guidelines on how todesign APIs. This documents discusses a number of relevant issues tokeep in mind when choosing an API.</para><section id="deep-shallow"><title> Deep vs. Shallow </title><para>This is a first distinction between two approaches to provide an API:<itemizedlist><listitem><para><emphasis role="strong">Deep API.</emphasis>Each specific robot or machine tool is a specialization of a genericclass, let's say &ldquo;<function>robot</function>&rdquo;. From thisgeneric class, one derives more concrete machine classes by<emphasis role="strong">inheritance</emphasis>. Everyinheritance step adds one or more specific properties, such as: thenumber of driven axes; the kind of motion generation used; etc.</para><para>This leads quickly to a very deep inheritance tree. And, in addition,this tree is very difficult to keep generally maintainable. Forexample, what would be the consequences on the API and on theinheritance tree of changing from a three axes machine to a five axesmachine, if the level at which the number of axes has&ldquo;entered&rdquo; the inheritance hierarchy is somewhere &ldquo;inthe middle&rdquo;? </para></listitem><listitem><para><emphasis role="strong">Shallow API.</emphasis>Each of the domains that are integrated into a robot controller getsits own class hierarchy, fully <emphasis>decoupled</emphasis> from theother domains. (<ulink url="decoupling.html">This document</ulink>gives more details about the meaning and importance of&ldquo;decoupling&rdquo;.)This approach has two consequences: the API for each domain is notvery deep (i.e., &ldquo;shallow&rdquo;), and the API for a specificmachine tool or robot is built by<emphasis role="strong">composition/aggregation</emphasis> of the APIs of the integrated domains.</para></listitem></itemizedlist><note><title>Orocos API choice</title><para> The complexity and variance of robotics and machine tool softwaresystems is such that deep APIs are not a good idea. And hence, most ofthe Orocos library/component APIs will be shallow.</para></note></para></section><section id="data-execution-configuration"><title>Data flow&mdash;Execution flow&mdash;Configuration flow</title><para>In a component-based software system, the components exchangeinformation in various ways and for various purposes. In the APIdesign process, it is useful to distinguish between threefundamentally different information exchange goals, which we call<emphasis role="strong">data flow</emphasis>,<emphasis role="strong">execution flow</emphasis>, and<emphasis role="strong">configuration flow</emphasis>:<itemizedlist><listitem><para><emphasis role="strong">Data flow</emphasis>is the task-specific information that componentsexchange between each other in a continuous (&ldquo;streaming&rdquo;)way, and which the components<emphasis role="strong">process</emphasis> with thefunctionality they have selected to run as the result of previousconfiguration flow and execution flow messages.</para><para>Data flow methods are<emphasis role="strong">traditional method calls</emphasis> onobjects: the method performs an &ldquo;operation&rdquo; on its inputsand generates the result as an output. So, the Data flow API shouldcontain <emphasis>only</emphasis> methods that fit in this category;all other types of functionality belongs to the Execution orConfiguration flow categories below.</para></listitem><listitem><para><emphasis role="strong">Execution flow</emphasis>.In many configurations of a component-based software system,components can<emphasis role="strong">change their functionality inrealtime</emphasis>, triggered byexecution flow data. Typically, the execution flow consists of eventsthat trigger a <emphasis role="strong">state machine</emphasis> in acomponent, and each state corresponds to a different functionality(&ldquo;input-output&rdquo; behaviour) of the component.</para><para>Execution flow generates &ldquo;state changes&rdquo;, and hence isbuilt on <emphasis role="strong">events</emphasis>. Note that theexact semantics of an execution flow action cannot be defined in theinternals of one single object: the result depends on the<emphasis>distributed reaction</emphasis> of many components.</para></listitem><listitem><para><emphasis role="strong">Configuration flow</emphasis>.From time to time, a (set of) components must be (re)configured, to

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线视频| 欧美日韩dvd在线观看| zzijzzij亚洲日本少妇熟睡| 欧美日韩国产小视频| 亚洲国产精品黑人久久久| 亚洲一区二区三区四区五区中文| 国产一区三区三区| 欧美日韩黄色影视| 亚洲免费观看高清完整版在线观看熊| 精品一区二区三区蜜桃| 欧美三区免费完整视频在线观看| 欧美经典一区二区| 国产自产高清不卡| 欧美一区二区三区视频在线| 一区二区三区视频在线看| 国产久卡久卡久卡久卡视频精品| 制服.丝袜.亚洲.另类.中文| 亚洲综合色婷婷| 91视频免费播放| 国产欧美日韩视频在线观看| 国产一区二区在线视频| 欧美一卡二卡三卡| 日韩精彩视频在线观看| 欧美日韩成人一区二区| 亚洲国产精品自拍| 欧美色综合久久| 一区二区三区欧美激情| 91网站在线播放| 国产精品久久久久久久久免费樱桃 | 精品久久久久香蕉网| 亚洲va国产va欧美va观看| 欧美在线综合视频| 亚洲午夜视频在线| 欧美日韩三级一区| 偷拍一区二区三区| 日韩一级大片在线| 久草在线在线精品观看| 久久先锋影音av鲁色资源| 国产在线视频精品一区| 国产女人水真多18毛片18精品视频| 国产一区二区在线观看视频| 久久亚洲精品国产精品紫薇| 国产不卡视频一区| 国产精品拍天天在线| 91美女片黄在线观看91美女| 一区二区三区在线观看网站| 欧美日韩国产不卡| 免费人成网站在线观看欧美高清| 日韩欧美电影在线| 国产不卡视频一区二区三区| 亚洲男人电影天堂| 欧美日韩夫妻久久| 国产精品一线二线三线| 亚洲欧洲日韩综合一区二区| 在线观看日韩国产| 男人操女人的视频在线观看欧美 | 五月开心婷婷久久| 欧美一区二区三区日韩| 国产精品一区在线观看乱码| 中文字幕在线不卡| 欧美精品日韩一本| 韩国v欧美v亚洲v日本v| 亚洲欧洲精品成人久久奇米网| 在线视频国产一区| 久久99久久99小草精品免视看| 国产欧美一区二区精品秋霞影院| 91啪亚洲精品| 久久成人精品无人区| 欧美国产精品v| 欧美女孩性生活视频| 国产精品自产自拍| 一级女性全黄久久生活片免费| 日韩三级在线免费观看| 91在线云播放| 久久99久久精品| 亚洲综合成人在线| 国产亚洲综合色| 欧美日韩国产综合一区二区| 大尺度一区二区| 日韩一区欧美二区| 亚洲欧美一区二区不卡| 欧美成人午夜电影| 91成人在线免费观看| 国产精品1024| 日产国产高清一区二区三区| ●精品国产综合乱码久久久久| 日韩区在线观看| 在线观看国产一区二区| 大陆成人av片| 久久99精品久久久久久久久久久久 | 亚洲精品视频一区| 久久精品亚洲精品国产欧美kt∨| 欧美日韩成人高清| 91浏览器在线视频| 国产一区不卡精品| 蜜桃视频一区二区三区在线观看| 亚洲丝袜自拍清纯另类| 欧美激情一区二区三区蜜桃视频| 日韩欧美在线影院| 欧美一区午夜精品| 欧美视频精品在线观看| 91国产免费观看| 99re6这里只有精品视频在线观看| 激情综合网av| 精品一区二区免费视频| 免费精品视频在线| 亚洲免费在线视频| 国产精品美女视频| 国产精品人人做人人爽人人添| 26uuu另类欧美| 精品国产乱码久久久久久闺蜜| 在线成人午夜影院| 欧美久久久影院| 欧美日韩高清一区二区不卡| 欧美日韩精品欧美日韩精品| 日本丶国产丶欧美色综合| 色哟哟一区二区在线观看| eeuss鲁片一区二区三区在线观看| 成人三级在线视频| eeuss鲁一区二区三区| 色成人在线视频| 91福利视频网站| 欧美伦理影视网| 欧美一级xxx| 精品国产乱码久久| 中日韩av电影| 亚洲欧美一区二区在线观看| 亚洲免费电影在线| 亚洲h动漫在线| 蜜桃视频免费观看一区| 国产一区二区伦理| 91视频观看视频| 欧美日韩五月天| 精品少妇一区二区| 国产精品欧美久久久久一区二区| 亚洲欧美日韩国产成人精品影院| 亚洲午夜精品一区二区三区他趣| 日本91福利区| 国产激情视频一区二区在线观看| 99热精品一区二区| 91精品在线免费| 国产校园另类小说区| 一区二区三区精品在线观看| 首页国产欧美日韩丝袜| 国产精品一区二区久久精品爱涩| 91麻豆精品国产自产在线| 精品理论电影在线观看 | 国产成人亚洲综合a∨猫咪| 波多野结衣欧美| 欧美日韩成人综合天天影院 | 91精品在线免费观看| 久久久久久**毛片大全| 亚洲欧美成人一区二区三区| 毛片一区二区三区| 91免费国产在线观看| 欧美一区二区三区视频在线| 中文字幕一区二区三区精华液| 有码一区二区三区| 国产一区二区成人久久免费影院| 色网站国产精品| 久久久久久久久99精品| 亚洲五码中文字幕| 国产精品99久久久久久久女警 | 亚洲综合成人在线| 国产一区二区三区av电影| 欧美图区在线视频| 国产色91在线| 日韩激情视频网站| 色综合色狠狠综合色| 国产偷国产偷精品高清尤物| 性久久久久久久久| 色嗨嗨av一区二区三区| 久久久国产精华| 欧美96一区二区免费视频| 在线亚洲+欧美+日本专区| 国产日韩欧美综合在线| 美女性感视频久久| 欧美日韩欧美一区二区| 中文字幕亚洲电影| 狠狠色综合播放一区二区| 欧美日韩成人一区二区| 一区二区三区毛片| 97久久久精品综合88久久| 久久精品欧美一区二区三区麻豆| 日本欧美加勒比视频| 欧美日韩一本到| 一区二区高清在线| 色播五月激情综合网| 国产精品乱子久久久久| 国产精品影视在线| 久久九九全国免费| 国产一区二区日韩精品| 26uuu色噜噜精品一区二区| 看电视剧不卡顿的网站| 成人97人人超碰人人99| 国产色产综合产在线视频| 丰满放荡岳乱妇91ww| 久久九九99视频| 粉嫩蜜臀av国产精品网站| 国产午夜精品一区二区三区视频|