楼主: 大多数88
979 25

[计算机科学] 语义网络基础上的通用计算 [推广有奖]

21
kedemingshi 在职认证  发表于 2022-4-15 10:02:14
例如,假设followingmethod,xsd:integer methodB(xsd:integer a){return a+“1”xsd:integer;}如果方法a调用方法B,则使用语句xsd:integer x=marko.methodB(“2”xsd:integer);值2与关联变量a一起放入方法B的框架中。方法将1 Badds到该值,并将值3推送到OperandStack上。方法A弹出一个valueo保存OperandStack并将局部变量x设置为值3。OperandStack用于放置方法返回值。4.0.8ReturnStackReturnStack是一个LIFO堆栈,它维护指向amethod和方法框架的返回位置的指针。为了支持递归,ReturnStack维护要返回到的speciefic帧的apointer。为了解释ReturnStack是如何使用的,提供了一个示例。当方法A调用方法B时,方法A在方法调用指令之后的下一条指令被推送到ReturnStack中。当方法B完成它的执行(例如,调用了一个return)时,Fhat弹出一条指令,并将它的编程位置设置为该指令。这样,控制返回给Ato方法完成其执行。当在方法B中调用return时,Fhat将删除(即deallocate)与方法B帧相关联的所有三元组。如果return有一个值(例如return2),则该值被推送到OperandStack中,以便方法a在其计算中使用。Marko a.Rodriguez-2007 264.1跨主机CPS迁移Fhat Fhat有趣的方面是跨不同主机CPU迁移Fhat进程的能力。Fhat实现有两个主要组件:RDF状态表示和软件过程。因为RDF三重代码和aFhat实例的完整状态都在RDF网络中表示,所以哪个Fhat进程正在执行特定的Fhat状态并不重要。Fhat RDF状态表示确保软件过程中没有全局变量。在softwareprocess中创建的唯一变量是正在执行的指令的本地变量。由于软件过程中没有全局变量,任何软件过程都可以执行Fhat RDF状态,而不需要软件过程间的通信。例如,一个主机CPU可以运行Fhatsoftware进程和HALT。然后,另一个CPU可以启动另一个Fhat软件进程,该进程指向最初停止的Fhat RDF状态的URI,并继续其执行。这个概念如图7所示,其中n=1指指令1.FHATSTATECPU-1FHATPROCESSN=1CPU-2FHATPROCESSCPU-3FHATPROCESSN=2n=3图7:跨多个主机CPU迁移Fhat执行。这样,就可以跨主机CPU迁移Fhat RVM。因此,如果特定的计算需要该Web的一部分,最好是让支持RDF子网络的物理计算机托管Fhat RVM。一旦Fhat RVM完成了特定RDF子网络的计算,它就可以停止,另一个CPU可以在语义Web的另一个需要Fhat RVM计算的区域上拾取该进程。在这种计算模型中,数据不移动到进程,进程移动到数据。图8给出了这个想法,其中三存储服务器都将Fhat进程实现。三存储1三存储2Upload Fhat状态和三编码执行Fhatupload Fhat状态和三编码执行Fhat执行Fhat图8:跨两个三存储迁移一个Fhat状态。4.2 Fhat RE值Fhat RVM和它正在执行的三代码在同一个地址空间中,因此可以相互引用。正是Neno/FHAT的UUID地址空间使它成为一个唯一的编程环境,因为Neno不仅是一种完全可重构的语言,而且它还删除了大多数其他编程环境中的表示堆栈。

22
能者818 在职认证  发表于 2022-4-15 10:02:21
Rodriguez-200727Language Re Conception意味着程序可以在执行过程中修改自己。许多脚本语言,甚至Java(通过Java.lang.Reflect包)都支持语言重构。然而,NENO/FHAT不仅支持语言重构,还支持机器重构。Fhat可以在执行过程中修改自己。计算的各个组成部分之间没有真实边界。这种想法在Infigure9中得到了体现,其中Fhat RVM的程序计数器(programLocation)指向aPush指令。Push指令指示Fhat将一个引用推送到其操作数堆栈中。通过引用Fhat操作数堆栈中的Fhat实例,Fhat可以操作它自己的组件。因此,Fhat RVM正在执行三重代码来操作它自己。URN:UUID:72159992 URN:UUID:0A1123C2FHATRDF:TypeProgramLocationHasValuePushRDF:TypeFigure9:Fhat处理器可以处理它自己。半hardimplementation用RDF显式编码Fhat实例的状态。虽然这具有诸如虚拟机进程故障导致的容错、支持处理器迁移形式的分布式计算以及支持基于机器的进化算法等优点,但它需要很大的读/写开销。每个指令都要求virtualmachine进程显式更新虚拟机状态。可以设计一个不显式编码theRDF网络中机器状态的更快的Fhat虚拟机。在这种情况下,唯一发生的读/写操作是在对象实例化、销毁或操作属性时。这种更快的Fhat称为reducedFhat(r-Fhat)。在r-Fhat中,操作数堆栈、返回堆栈等是实现语言中的数据结构。r-Fhat没有OWL机器体系结构,也没有RDFSTATE。5对于Neno软件在Fhat机器实例上运行的Fhat指令,它必须编译到符合Fhat指令集的Fhat OWL API(Fhat OWL apioWL:导入Fhat指令集本体)。Fhat RVM使用Fhat OWL APIas作为构造RDF三重代码实例级表示的“蓝图”。当程序执行时,Fhat RVM“遍历”的是实例级三重代码。5.1在Neno中,唯一存在的进程代码是方法块中的进程代码。图10描述了一个方法的OWL本体。一个方法有一个ArgumentDescriptor(rdfs:subclassof rdf:seq)和一个areturn descriptor(rdfs:resource)。ArgumentDescriptorArgument的顺序表示方法参数在方法声明中的位置。例如,xsd:Integer exampleMethod(xsd:string n,Human h){...}将hasReturnDescriptor属性的对象设置为URI xsd:Integer,而ArgumentDescriptor设置为参数n(RDF:1)和h(RDF:2)。Marko a.Rodriguez-2007 28MethodL:ThinghasMethod[0..*]Hasblock[1]HasArgumentDescriptorHasReturnDescriptorRDFS:ResourcearGumentDescriptorRDF:Seq[0.1][0.1]DFS:Resource[1][1]ConstructorDestructorHasMethodNamexsd:String[1]图10:OWL方法本体。如果需要,可以使用hasHumanCode属性指向描述该类及其方法的原始可读/可写源代码。通过使用HasHumanCode属性,可以对SourceCode进行“网络内”或运行时编译。原则上,Neno编译器可以用Neno编写并由FHATRVM执行。Neno编译器可以编译解析theURI得到的表示,theURI是xsd:anyuri.5.1.1的值。Fhat三元共deA方法的块只有一个块。块是指令的rdfs:子类,由指令序列组成。

23
nandehutu2022 在职认证  发表于 2022-4-15 10:02:28
指令序列由thenextInst属性表示。指令rdf:type是指令的“操作码”,所有指令的集合就是Fhat体系结构的指令集。图11提供了可以存在于代码块中的超级类指令的集合以及它们彼此之间的关系。以下列出了这些超级类的示例。o算术:Add,Divide,Multiply,Not,subtract。o条件:Equals,GreaterThan,GreaterThanEqual,lessthanequal,lessthanequal。osetter:NetQuery,Set,SetClear,SetMinus,SetPlus,setquery。o调用:Construct,destruct。这些子类分项如下:oDirect:LocalDirect、PopDirect.oVariable:LocalVariable、FieldVariable、ObjectVariable.当Fhat实例进入一个方法时,它会创建一个新的框架。当变量被声明时,该变量将在框架中根据Fhat实例的当前块指定,如Fhat的blockTop属性所示。块用于Vari*******oping。当Fhat离开一个块时,它会销毁currentFrame中所有将该块作为fromBlock属性的FrameVariables(参见图5)。但是,进入新街区并不是退出旧街区。父块FrameVariables可由子块访问。例如,在下面的Neno代码片段中,条件是唯一的,因为它们具有trueInst和falseInst属性。如果条件为istrue,则下一条指令是trueInst属性指向的指令,否则下一条指令是falseInst属性指向的指令。Marko a.Rodriguez-2007 29BlockinStructionSetterInstructionFalseInstrueInstconditionHasleftHasrightValue[0.1]操作[0.1]NextInst[1][0.1][0.1]PushValueHasValueValue[1]InvokeInvokeMethodMethod[1]算术Direct VariableExitBlockReturnBlockEnter[1]If和else块中的两个y变量是两个di-everent框架变量,因为它们来自di-everent块。此外,请注意,if和else块都可以访问x的值,因为它们位于声明variablex的块的子块中。当Fhat离开一个方法(即返回)时,它的框架和FrameVariables通过解列被销毁。5.2方法实例Fhat处理方法实例有两种方式:全局和局部InstanceModels。在全局实例模型中,当一个新对象被实例化时,它的方法也被实例化。但是,如果实例化的方法已经存在于RDF网络中,则新创建的对象将其hasMethod属性指向以前创建的具有相同hasMethodName和UUID的方法。因此,同一类类型的所有对象只存在一个方法实例。虽然有一个唯一的方法实例foreach对象是可能的,但是通过支持对象之间的方法重用,Fhat限制了RDF网络中的增长(以三倍的数量计算)。此外,这提高了theFhat RVM的速度,因为它不需要从该方法的Fhat OWL API创建新方法。全局实例模型如图12所示。为了确保全局实例,Fhat实例的methodReuse属性被设置为“true”:/xsd:boolean(参见图5)。在本地实例模型中,Fhat实例的methodReuse属性被设置为“false”:/xsd:boolean。在这种情况下,使用owl:thing的每个新实例创建一个新的方法实例。该模型的优点是可以在每个对象的基础上进行方法重构。如果一个对象要在运行时操作它的方法三重代码,它可以这样做,而不会破坏它的伙伴Owl:Things的操作。localMarko的缺点。

24
可人4 在职认证  发表于 2022-4-15 10:02:34
Rodriguez-2007 30urn:uuid:2fae09f2urn:uuid:19892c0aurn:uuid:155394c2demo:humanrdf:typerdf:typeurn:uuid:1c71c9c2hasmethodhasmethodhoDontologyInstance[1]hasmethodName“Makefriend”^^xsd:string[1]rdf:typeFigure12:相同类型的多个对象将共享相同的方法实例。实例模型是三存储“膨胀”,与全局实例模型相比,实例化一个对象所需的时间增加。本地实例模型的图表为inFigure 13.URN:UUID:2FAE09F2URN:UUID:19892C0AURN:UUID:155394C2Demo:HumanRDF:TyperDF:TypeHasMethodHasMethodHasMethodUN:UUID:4E51F204HasMethodONTologyInstance[1]HasMethodName“Makefriend”方法InstanceSuppose以下代码:OWL:thing demo:human{xsd:int Example(xsd:string a){if(a==“Marko”xsd:string){return“1”xsd:int;}else{return“2”xsd:int;}}Marko a.Rodriguez-2007 31编译此代码时,它将编译为Fhat OWL API。当创建demo:human实例时,Fhat RVM将从URI demo:human开始它的旅程,并通过本体为demo:human类的所有组件创建实例UUID URI。这包括,在其硬编码属性中,它的方法、它们的块和它们的指令。当实例化demo:Human类时,一个实例将出现在RDF网络中,如图14所示。URN:UUID:6E400B42HasblockURN:UUID:4E0Bada0URN:UUID:51B8D4A0HaslefTurn:UUID:54E14D4Curn:UUID:6425E5eChasuri“1”^^XSD:Inturn:UUID:67BBD072Hasuri“2”^^XSD:Inturn:UUID:4FA0F752HasMethodDRF:TypeDemo:Human“a”^^XSD:String“NamehasuritrueInsturn:UUID:610eb4b0nextinstnextinsturn:UUID:0748e1c6falseinstnextinsturn:UUID:62e8b8dcnextinsturn:UUID:62e8b8dcnextinsturn:UUID:62e8b8dcnextinsturn:UUID:68e999ablockmethodequalslocaldirectreturnlocaldirectrectrectrectrectblockblockblockblockblockblock图14:示例(xsd:string)方法的RDF三重代码。6结论RVM的主要缺点是计算时间,因为虚拟机不仅必须读取RDF网络来解释程序指令,还必须将RDF网络读/写到manipuRDF网络中的后期数据(即实例对象)。此外,虚拟机必须读写RDF网络的表示虚拟机状态的子网络(例如程序计数器、操作数堆栈等)。在doingso中,为了让虚拟机进行计算,需要进行许多读/写操作。但是,这个问题可以通过使用R-FHAT来解决。想象一下这样一个世界,虚拟机就像HTML文档一样容易分发(例如,虚拟机子网络的RDF/XML编码)。假定虚拟化机器在RDF网络中编码其状态,那么考虑RVM如何在执行过程中在物理机器之间“移动”。因为没有物理机器维护状态表示,所以硬件是完全独立的。物理机器通过读取RVMM的程序位置、操作数堆栈、堆等来计算RVMM并更新这些数据结构。在这种情况下,个人计算机可以在RDF网络中进行编码,并可以在任何地方访问。因此,底层物理机器只是RDF网络中编码的更“个人”机器的硬件外壳。这些想法类似于Marko A.Rodriguez-2007 32中提出的(Satyanarayanan et al.,2007)。

25
何人来此 在职认证  发表于 2022-4-15 10:02:40
当存档服务如因特网存档、搜索引擎缓存和数字图书馆存档这样的RDF程序和正在执行的RVM的“快照”状态(Lorie,2001;Nelson,McCown,Smith,&Klein,2007)时,会发生什么?理论上,世界范围内的计算状态可以被保存/归档,然后检索以恢复执行。归档计算带来了许多问题和新奇之处,有待于今后在这一领域的工作。语义网的大部分内容都涉及到组织边界之间的知识分布(Davies,Fensel,&Harmelen,2003)。这也许是本体论的首要目的。在这方面,类似领域的组织应该利用已开发的本体,以便使它们的信息在各自的组织之间可用。过程编码不仅支持知识模型的分布,而且支持用于在这些模型上进行计算的算法的分布。以一种非脱节的方式,数据和代码可以在组织边界之间轻松地交换(Rodriguez,Watkins,Bollen,&Gershenson,2007)。假定RDF网络由三元组组成,而三元组由URIsand文字组成,RDF网络中任何虚拟机的地址空间都是URI和文字的集合。鉴于这些资源的大小没有限制,RVM也没有现实的空间限制。换句话说,全球范围内为支持语义Web而提供的磁盘空间数量是该模型的实际内存约束。然而,这种分布式计算范例的成功依赖于链接数据规范(Berners-Lee,2006)等标准的一致性。随着链接数据模型和RVM计算模型的进一步发展,语义网络可以像通用计算机一样运行。Herbert Van de Sompel、Ryan Schute和Johan Bollen在这些思想的发展过程中都提供了许多见解。ReferencesAasman,J.(2006)。快板图(技术。众议员1号)。Franz Incorated.Aho,A.W.,Sethi,R.,&Ullman,J.D.(1986)。编译器:原理、技术和工具。Addison-Wesley.Alesso,H.P.,&Smith,C.F.(2005)。开发语义Web服务。马萨诸塞州韦尔西:A.K.Peters Ltd.Beckett,D.(2001)。N-Triples(技术代表)。布里斯托尔大学。伯纳斯-李,T.(1998)。注释3(技术代表)。万维网联盟。Berners-Lee,T.(2006)。链接数据(Tech.Rep.)。万维网联盟。Berners-Lee,T,Fielding,R.T,Software,D,Masinter,L.,&Systems,A.(2005,1月)。统一资源IDENTIER(URI):通用语法。Biron,P.V,&Malhotra,A.(2004)。XML模式第2部分:数据类型,第二版(tech.rep.)。万维网联盟。Bray,T.Hollander,D.Layman,A.和Tobin,R.(2006)。XML1.0(tech.rep.)中的名称空间。万维网联盟。Britton,R.(2003)。汇编语言编程。Prentice Hall.Carroll,J.J.和Stickler,P.(2004)。XML中的RDF三元组。《极端标记语言》。Montr eal,Qu eBEC:Idealliance.Coelho,D.和Stanculescu,A.(1988)。一个最先进的VHDL模拟器。在第三十届计算机学会国际会议(第320-323页)。旧金山,加利福尼亚州,Craig,I.D.(2005)。虚拟机。斯普林格。Marko A.Rodriguez-2007 33Davies,J.,Fensel,D.和Harmelen,F.Van。(2003)。面向语义网:本体驱动的知识管理。Wiley.Eckel,B.(2002)。用爪哇思维。Prentice Hall.Fensel,D.(2004)。三空间计算:基于pesistent信息发布的语义web服务。载于通信系统智能化国际会议论文集(第43-53页)。泰国曼谷。Fensel,D.,Hendler,J.A.,Lieberman,H.和Wahlster,W.(编辑)。(2003)。旋转这个散发的网络:使万维网发挥其全部潜力。麻省理工学院出版社,Hennessy,J.L.和Patterson,D.A.(2002)。

26
能者818 在职认证  发表于 2022-4-15 10:02:41
《计算机体系结构:定量方法》,M.,M.,Kifer,G.,Lausen,J.&Wu.(1995)。面向对象的逻辑基础和面向对象的逻辑基础。ACM学报,42(4),741-843.Koide,S.和Kawamura,M.(2004).SWCLOS:一个基于CommonLisp对象系统的语义Web处理器。载于《国际语义网会议论文集》,广岛,日本。Leach,P.J.(2005)。一个普遍唯一的IDENTI(UUID)URN命名空间(tech.rep.).网络工作组.Lee,R.(2004)。关于三存储应用程序的可伸缩性报告(Tech.Rep.)。麻省理工学院,T.Lindholm和F.Yellin(1999)。Java虚拟机特性。Addison-Wesley.Lorie,R.A.(2001)。数字信息的长期保存。载于1STACM/IEEE-CS数字图书馆联合会议论文集(第346-352页)。纽约,纽约,美国:ACM出版社,Louden,K.C.(2003)。语言研究:原理与实践。Brooks/Cole Thomson Learning.Manola,F.和Miller,E.(2004年,2月)。RDF入门:W3C建议。Martin,D.,Burstein,M.,Hobbs,J.,Lassila,O.,McDermott,D.,McIlraith,S.,Narayanan,S.,Paolucci,M.,Parsia,B.,Payne,T.,Sirin,E.,Srinivasan,N.,&Sycara,K.(2004)。OWL-S:web服务的语义标记(Tech.Rep.)。万维网联盟。McGuinness,D.L.和Harmelen,F.Van。(2004年2月)。OWL web ontology LanguageOverview.Nelson,M.L.,McCown,F.,Smith,J.,&Klein,M.(2007)。使用web基础结构保存web页面。国际数字图书馆杂志。欧伦,E.Delbru,R.Gerke,S.Haller,A.&Decker,S.(2007)。ActiverDF:面向对象的语义web编程。在国际WWW07世界宽带网络会议的会议记录中。加拿大Ban\'.Prud\'Hommeaux,E.和Seaborne,A.(2004)。用于RDF(tech.rep.)的SPARQL查询语言。万维网联盟。Rodriguez,M.A.,Watkins,J.H.,Bollen,J.和Gershenson,C.(2007)。用RDF描述了系统的结构和过程。复杂系统间刊,2131.Satyanarayanan,M.,Gilbert,B.,Toups,M.,Tolia,N.,Surie,A.,O\'Hallaron,D.R.,Wolbach,A.,Harkes,J.,Perrig,A.,Farber,D.J.,Kozuch,M.A.,Helfrich,C.J.,Nath,P.,&Lagar-Cavilla,H.A.(2007).InternetSuspend/Resume系统中的普及个人计算。IEEE网际计算,11(2),16-25。Seaborne,A.和Manjunath,G.(2007)。SPARQL/UPDATE:一种用于更新RDFgraphs(tech.rep.)的语言。Hewlett-Packard.Sebesta,R.W.(2005)。编程语言的概念。Addison-Wesley.Shinavier,J.(2007)。函数程序作为链接数据。在第三届语义网脚本编写研讨会上。奥地利Innsbruck.Sowa,J.F.(1991)。语义网络原理:知识表示的探索。加利福尼亚州圣马特奥:Morgan Kaufmann.Marko A.Rodriguez-2007 34Sowa,J.F.(1999)。知识表示:逻辑、哲学和计算基础。课程技术。图灵,A.M.(1937)。关于可计算数,并应用于entscheidungsproblem。伦敦数学会学报,42(2),230-265。王海海,诺伊,李克特,穆森,雷德蒙,鲁宾,杜,杜,杜多拉切,德拉蒙德,霍里吉,梅,塞登伯格,J.(2007)。框架和猫头鹰并排。在第十届国际抗议大会上。匈牙利布达佩斯。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-28 13:19