没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记150(2006)93-113www.elsevier.com/locate/entcs范式作为面向解释的协调语言L.P.J. Groenewegena,A.W. 斯塔姆一,E.P. de Vinka,caLIACS,荷兰莱顿大学bLUMC,莱顿,荷兰c数学系和比较。Sc.,荷兰埃因霍温TU/e摘要在Paradigm中区分的全局组件行为,或用于指定组件间协调的成分,与详细组件行为分离并保持一致。本文讨论了全球行为如何在安排计算和协调方面提供巨大的灵活性。在一个中介的例子中,我们呼吁把这种灵活性作为一种组织的、有机的、类似人类的特征;拥有它是好的,但通常在系统规范中是缺席的。此外,我们指出范式的可扩展性如何关键词:范式、协调、组织导向、全球行为、行为一致性1介绍人类世界中的组织总是有一个要达到的目标,一个要完成的使命。为此,他们组织员工、供应商和客户之间的合作。这种合作是通过协调来控制的,一方面要足够精确,以保证成功的合作,另一方面要足够灵活,以给予参与的人足够的主动性、创造性、责任感和变化的自由这种形式的协调通常不是很严格,往往是可以协商和含蓄的。我们称这种协调为有机协调,为灵活性留下了足够的空间。在软件世界中,软件组件之间的协调同样旨在成功合作。1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.03.00794L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93但在这里,协调的性质是完全不同的:它是相当严格的,不可谈判的和明确的。我们称之为技术协调。在本文中,我们希望在我们使用协调语言范式[8,7]的经验的基础上,讨论两个如此不同的世界中协调之间的联系。通过这种方式,我们能够指出相当技术性的范式概念如何允许对协调解决方案的新理解。这种理解导致管理以及灵活的解释和协调解决方案的操作,使他们有一些有机的兼容性。这与ArchiMate [12]最近的想法非常吻合,例如,为组织和软件世界使用相同的建模语言Paradigm是软件世界的一种协调语言,它也受到了组织的很大启发,因为从一开始就非常关注离散事件仿真问题中的协调e.g.医院的世界[16]与其他协调方法(如Gaia [19]和最近的Road [3])一样,Paradigm将其关注的组件或代理的协调保持在一个单独的、更全局的层面上。但与其他方法不同的是,Paradigm从单独组件的附加全局级别组成了这个全局级别。因此,在Paradigm中,要协调的每个组件都有自己的全局行为级别,每个组件都参与一个全局行为级别,与其底层的详细行为保持局部一致。这种组件内的一致性然后由全局协调级别上的组件间一致性来补充。然而,在Paradigm的情况下,这只是在各个相关的全球层面上的单独组成部分,从而允许协调,以实现具体的合作目标。由于这种全局协调水平直接与其他组件的动态相关联, 因此Paradigm中的协调与Tropos [14]中的参与者之间的协调依赖关系具有相似性。但在Paradigm的例子中组件内和组件间一致性在解决[11]中的动态一致性管理问题时非常有用。这一点是[7]的主题。但是,Paradigm还允许在上述意义上的有机融合,从而在组织和软件协调的两个世界之间构成了一条共同点。关于范式,我们发现组织和软件之间有类似的共同点,总是与有机与技术特征的相同差异有关。这加强了我们对联系的洞察力,L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)9395因此,我们也报告这些经验。鉴于上述情况,本文件的结构如下。第2节介绍了Paradigm,详细指出了它的组织根源和可能性;附录A中给出了Paradigm的技术完整概述。在第3节中,我们将对这两个世界的共同点进行一些探索。第4节提出结论,提到了一些进一步的研究。2面向解释的范式Paradigm是一种协调规范语言。它的名字Paradigm是PARallelism,itsAnalysis,Design and Implementation by a general Method的缩写。通用方法背后的想法是,范式的概念适用于相当不同的世界,从技术的,如操作系统和数据库管理系统,通过离散模拟到各种合作情况,如企业,政府组织,俱乐部,家庭,甚至是人机合作的混合。在我们的讨论中,我们将附录A中所需的范式概念作为列表。在这一节中,我们将对它们进行一种相当不寻常的解释,比例如[7]中的组织色彩要丰富得多。通过这种方式,我们试图提出范式的概念,尽管在技术世界中是非常精确和正式的,也是非常适合和明确的,但它如何为协调引入了某种可感知的、更像人类的方面,如管理方面以及有机方面。有关Paradigm的完整技术介绍,请参见附录A。面向组织的观点所需要的范式概念如下。• 一个进程或STDS是一个三重进程,AL,TS。这里ST被称为状态集,或者也称为状态空间;AL被称为动作或转移标签集,或者也称为动作空间;TSST×AL×ST是转移集我们写x→xJ的情况下(x,a,xJ)∈TS。• 一个过程的子过程S=S_ST,AL,TS_ST是一个过程S_ST,AL,TS_ST,AL,TS_ST,使得stST,al AL且ts ={(x,a,xJ)∈ TS |x,xJ∈ st,a ∈ al}.• 子进程s=t_st,al,ts_st的陷阱t是状态t_st的非空集合使得x∈t且x→叫做平凡。XJ∈ts意味着XJ∈t。 如果t=st,则陷阱为• 设s=st,al,ts和SJ=stJ,alJ,tsj是同一过程的两个子过程。s的陷阱t称为从s到sJ的连接陷阱,如果属于陷阱t的状态也是sJ中的状态,即t≠J。一一96L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93• 一个分区{(S i,T i)|i∈I}是S的一组子过程S i= sti,ali,tsi,每个子过程都有一组T i陷阱,ST=i∈Isti和TS=i∈Itsi。根据范式的定义,上述不同世界的任何协调问题都可以按照如下方式建模,可以说是有序地组织起来的。首先,说明了与必须协调的工作有关的任务。这是在纯粹的顺序步骤序列的基础上完成的,允许选择和循环:每个这样的序列都是一个基本任务,由一个人或一台机器按照(乍一看似乎是)与指定步骤相同的严格顺序执行。这些基本任务作为活动的单位,必须根据某些合作目标加以组织和协调。一个基本的任务描述通常允许许多不同的实现或行为。除非另有明确要求,否则假设每个基本任务都有一个唯一的执行者,无论是人还是机器;因此,如果几个基本任务由同一个执行者执行,则被认为是协调问题的一部分。在范式形式主义中,这样一个基本任务被指定为一个过程,可视化为状态转换图(STD),完全类似于面向对象中控制线程的抽象分步描述。像其他顺序描述一样,基本任务可能由迭代和选择组成。有限描述是允许的,而且有限描述也可以允许一个接一个地执行无限多个步骤。从一个基本任务开始,实际执行的,即执行或实现的一系列步骤被称为行为。因此,一个STD可以被认为是一组(可能的)行为,每个行为都可以实现。为什么我们在上面用“(乍一看似乎是)”来相对化这与这样一种基本的、详细的STD的全球(观点)行为的概念有关。正如我们将在下面指出的,范式概念是这样的,即过程或STD之间的协调仅根据它们的全局行为来具体化,并根据协调所针对的合作目标来适当地选择与严格的流程规范顺序相比,这允许在详细步骤的执行顺序上有一定的自由度,只要在全局级别上没有差异。更准确地说,流程的步骤或过渡对应于执行基本任务时要执行的相关和详细操作。这些具体步骤的实际顺序指定了一种方式,而不一定是唯一的一种,如何执行特定的基本任务。以这种方式,过程规范作为一种契约需求的基础,表达L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)9397对于过程执行者所参与的协作,在与该协作的协调相关的任何时间,必须看起来好像所采取的为了简化这些问题,可以假设执行者严格遵守流程描述中指定的步骤顺序对 于 由 处 理 器 执 行 的 软 件 , 情 况 确 实 如此。对于由人执行的任务来说,情况往往并非如此,但由于他们要对任何导致不再成功的协调和因此不成功的合作的重大偏差负责,他们通常确实非常谨慎地行事,以符合相关全球层面的期望或要求。其次,对于过程之间的协调,这些过程的一些全局行为将被定义,这取决于一个过程之后的合作目标。对于流程的全局行为的形式化描述,Paradigm有两个关键概念:子流程和陷阱。一个过程的子过程是该过程的一个(行为)部分,是(底层的,原始的)过程的临时行为限制:它的全部行为中的一个阶段。这一阶段在管理和有机意义上都有明确的含义:在一定的时间间隔(阶段的持续时间)内,基本任务的执行者仍然局限于某些地方或情况或配置:适当选择的底层过程状态的子集;由于表演者应该在该阶段的持续时间内继续表演,因此表演者还将其步骤限制为适当选择的过渡子集。这样,底层过程的全局行为就像任何行为一样被定义为:一个阶段序列,其间有阶段变化-对于相变的形式化描述,Paradigm引入了两个子过程之间的连接陷阱,这反过来又基于子过程陷阱的概念。子流程的陷阱是子流程状态空间的一部分,根据子流程的行为,一旦进入就不能离开。因此,一个过程的执行者,按照一个子过程的行为,一旦转换到陷阱的状态,就被困在这样的陷阱中。这样的陷阱,就其本质而言,可以表示子流程行为的不可撤销的阶段:承诺在子流程的持续时间内不离开陷阱;此外,这样的陷阱保证,在到达陷阱之前的子流程内的步骤现在是历史,即在子流程的持续时间内。从管理的角度来看,进入陷阱就像达到了一个里程碑,在此基础上可以采取一些进一步的协调措施,例如:调查其他执行者是否已经达到了他们的里程碑,即已经进入某些陷阱;允许一个或多个98L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93委托方:At_Need_desk clear解释进入问没有_需要服务离开谢谢萨提斯性的表演者准备好了,即在进入某些陷阱后,继续进行下一个子进程。因此,陷阱是一个里程碑,一个全球性的迹象:– 在子过程的当前行为限制内的特定过程的状态-此外,如果对于驻留在其当前子过程的这种陷阱中的某个地方的过程,从那时起,即在进入该陷阱之后的任何时刻,下一个子过程正在进行为了起到下一个全局行为限制的作用,这样的下一个子过程应该能够从陷阱中的任何(详细的)状态开始。在全局层面上,这是足够的知道,这可以独立于(子)进程在那个特定时刻所处的陷阱的精确状态而发生。出于这个原因,Paradigm有一个从子流程连接陷阱的概念 一个新的子进程:陷阱只是旧子进程的一个普通陷阱,这样陷阱的任何这足以确保进程可以根据新的行为限制从连接陷阱内的任何地方开始行为,即独立于它在陷阱内的精确状态(任何更详细的知识)。另外请注意,旧子流程的陷阱状态特别是连接陷阱的想法给了Paradigm一个有用的有机解释:在全局层面上,它可以保持最不清楚的细节行为中的一个子过程变成下一正是形式主义的力量,它允许在全局水平上明确定义相变和阶段-就连接陷阱和子过程而言-与细节水平上的相对模糊性相结合:不确定性,以根据详细的行为来决定状态转换实际上图2.1. 处理客户端现在我们将用一个小例子来说明上述概念和评论,它是[7]中的一个变体。图2.1展示了一个简单客户端的示例流程,无论是在商店中还是在客户端-服务器架构中L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)9399在--Need_desk解释明确serverClear客户端在状态No needs中启动,无需连接到任何服务器。然后,客户端通过输入进入状态At desk,在此它试图通过代理与服务器联系。为了达到这个目的,客户首先要解释自己的愿望,说需要明确。在经纪人理解了这些愿望之后,服务器被分配给客户端,并且在服务器邀请客户端这样做之后,客户端通过具体询问它想要什么,获得处于Service状态的服务。随后,通过感谢服务器,客户端以状态Satified向服务器表示满意,于是客户端通过离开返回状态No needs。WithoutService:定向:服务不足:特里夫特里夫特里夫图2.2. 客户端进程虽然客户端显然具有相当简单的循环行为,但从经纪人或服务器的更管理、组织的角度来看,这种行为仍然具有许多不相关的细节。因 此 ,我们提出了一个客户端流程的parti- tion Brokering-Serving-Status,简称BrSeStatus,如图2.2所示,由三个子流程组成,每个子流程指定一个与代理或服务器相关的行为阶段:WithoutService是代理-服务器组织不关注客 户 端 的 阶 段 ; Orienting 是 客 户 端 引 起 代 理 注 意 的 阶 段 ; 最 后 ,UnderService是客户端引起服务器注意的阶段;由于在代理和(后续)服务器对客户端的关注之间,客户端也应该处于这些阶段之一,这也是子流程定向所涵盖的。请注意,每个子进程都被可视化为STD,是原始的底层客户端STD的一部分;陷阱被指示为多边形,精确地包含属于陷阱的状态。在所指出的陷阱中,我们首先只考虑非平凡的陷阱:asking将WithoutService 连 接 到 Orienting;serverClear 将 Orienting 连 接 到UnderService; ready将UnderService连接到WithoutService。在--书桌需要--明确进入问不--需要服务离开谢谢萨提斯性的准备在--Need_desk解释明确进入问没有_需要离开满足了100L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93在 BrSeStatus级别上 处理客户端:准备图2.3. 进程Client在分区BrSeStatus级别上的一个全局行为在上述子流程和陷阱选择的基础上,可以构建一个底层的全局视图,更详细的客户端行为如图2.3所示。同样,行为是循环的,这里只包括三个步骤,而不是图2.1中详细描述的五个步骤。这三个不平凡的陷阱在描述中作为行动。由于全球行为是在相关旁观者的眼中发生的,全球一级的行动纯粹是互动。这一特定全球行为的相关观察者之一是经纪人。对于本文来说,给出范式概念的所有细节,也不是一个成熟的范式模型的想法。因此,我们将省略服务器,但现在将介绍一个代理-实际上是一个代理,图2.4显示了这个简单的、不确定的代理,客户端数量固定为n在状态检查中,经纪人正在寻找要经纪的客户。如果是,他根据建模者未知的任何选择标准因此,在模型中,选择在状态Check中作为非确定性选择保持开放。在状态Mediate(i)中,1≤ i≤ n,第i个客户端Client(i)正在被代理。经纪人:检查地址(1)离开(n)调解(1)地址(n). . . . . .中介(n)图2.4. 流程代理程序对于代理STD和各种客户端进程Client(i)之间的行为依赖性,Paradigm将所谓的管理者进程(在这种情况下为代理进程)中的一个状态转换耦合到进程(STD)的一个或多个全局子进程改变(称为雇员进程),其实际上具有相关的全局行为,在这种情况下为Client(i)进程。这种耦合称为一致性规则,参见[7]的不同非正式解释和[6]或附录A的正式定义。由于在一致性规则中只发生一个状态转换,问没有服务serverClear定向下服务L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93101不同STD中的状态转换被缓冲异步连接– via the suitably chosen global behaviours: a manager’s state transition thus‘prescribes’从那时起,这些员工必须按照新规定的子流程行事但还有更多。在一致性规则中发生的全局转换中,始终会提到连接陷阱作为其标签。这意味着它所关注的员工必须已进入该陷阱(在当前规定的子流程中)。 因此,管理者必须跟踪员工当前进入的陷阱。这也是在相关全局行为的级别上进行的,不是通过单独的一致性规则,而是更隐式地(更准确地说,通过雇员的当前状态,结合其在某个分区级别上的当前子过程,可以直接决定当前进入的最里面的陷阱是什么)。一旦一个员工执行了一个状态转换,通过这个转换,它实际上进入了当前规定的子流程的下一个更深的陷阱,任何带有这个特定连接陷阱的全局转换的一致性规 则 , 然 后 达 到 了 更 高 的 “ 被 启 用 ” 级 别 。 只 有 在 满 足 了 特 定 的considerability规则的所有这些条件并且管理者达到其正确状态之后,规则才能我们再次看到了相关全局级别上的阻塞:一旦进入陷阱,只要没有来自同一分区的新子进程被指定,就不能离开。回到上面的例子,经纪商与其客户之间的依赖关系• Broker:Ch ecaddr→ess(i)Mdiate(i)*Client(i)[BrSeStatus]:WithoutServic eas→kingOrienting• Broker:Mediate(i)lea→ve(i)Check*Client(i)[BrSeStatus]:Orintingserve→rClearOrinting因此,在这些规则的基础上,动态地维护了底层详细流程之间的行为一致性注意,上面的第二条规则有点不完整,因为它没有涵盖对特定服务器的实际委托;参见[7]。为了指出范式的组织性、有机性,我们回到了用陷阱来标记从一个子过程到下一个子过程的全局转换的动作。这种行动,更确切地说是一种相互作用,可以在全球层面上表述为“进入那个特定陷阱”,从而实现全球转型。 或者也可以表述为更明确地说,102L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93→类似于交互作用,这种交互作用的重新表述可以在“关于进入该特定陷阱的信息”到“基于进入陷阱时所要求的新信息离开该陷阱”之间变化这里,重新表述的范围可以意味着在全球层面上,这种过多的含义并不重要。无论交互是发送或接收问题,还是发送或接收答案,还是对答案做出反应并与答案一致,都是无关紧要的。准确地说,这使得行为全局水平的描述更具有管理性和组织性:发送和接收之间的差异,询问和回答以及开始对其作出反应之间的差异,仅仅是技术性的,与全局水平无关,在全局水平中,交互步骤只作为整体起作用一般来说,陷阱越大,一个全球步骤的各种技术解释所跨越的时间间隔就越大。因此,全局级压缩,也就是说实际的交互步骤。另一方面,对这个特定时间间隔的(可能的)长度的一些认识仍然存在:陷阱越大,通过在陷阱内执行不同的详细步骤可能花费的时间间隔就越大,即,关于由该陷阱标记的交互步骤的通信越通常人们倾向于认为,在连接两个子进程的陷阱中花费的执行时间完全属于两个连接的连续子进程中较早的第一个在我们看来,给范式以某种有机的可接受性的是以下形式的可接受性。这是一种自由,可以认为“陷阱内”的执行时间的一个实质性部分为了说明这种有机的灵活性--根据图2.2中的说明,在陷阱就绪中可能发生两次后续(状态)转换。是完全可以想象,第一次过渡满意离开 在子项目中没有需求,进入服务不足和第二次过渡在子进程WithoutService中。→在办公桌上发生正是这种现象,陷阱行为实际上发生(部分)L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93103特里夫在 BrSeStatus级别上处理特里夫图2.5. 进程客户端在分区BrSeStatus在一对连续连接的子过程的第二个子过程中,是图2.5的全局行为规范的背后。具体化是根据与以前完全相同的子过程进行的,但现在也考虑了平凡的陷阱,从而允许全局行为,比图2.3中复杂得多,而且可能更令人惊讶的是,比图2.1中的底层详细行为复杂得多。图2.5所示的全局行为并不完全是人为操作的结果,它可以从下面的具体例子中得出,在这个例子中,建模者可以将类似人类的行为与经纪人联系建模语言的这一特征具有很强的组织性和有机性:任何组织都必须应对正常过程的这种变化,客户端这个例子是这样的。 突然间,经纪人有些着急。因此,在Orienting阶段,当客户端在解释其需求之前花费太 长 时 间 时 , 代 理 将 停 止 其 代 理 , 并 让 客 户 端 返 回 到 其 先 前 的WithoutService阶段,从而将其服务器选择推迟到稍后的代理回合。即使不知道代理的行为细节,也有必要观察一下,通过从Orienting连接到WithoutService,微不足道的trap triv如何正式实现这种返回。所以实际上解释过渡在办公桌→需要明确没有发生,而正在为“第一次”在子流程WithoutService中,也不是在子流程Orienting中。它甚至可能被推迟到另一个时间在定向中,或者直到另一个时间在无服务中。因此,在全局级别上,客户端的当前子流程限制可以继续相当频繁地交替,而在详细级别上根本没有进展。类似的自由存在于调整客户端STD的详细行为模型,只要分区BrS-eStatus级别上的全局动态保持不变。这与我们上面的评论是一致的,相对化了由执行者实现的步骤执行顺序的相等性和由执行者实现的步骤执行顺序的相等性。没有服务问定向特里夫serverClear下服务准备104L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93步骤顺序由相应的STD指定。为了给出另一个例子来说明范式模型的组织性和有机性,我们考虑当一个经纪人生病或由于其他原因经纪人必须离开一段时间时出现的情况在这种情况下,子过程Orienting被完全跳过;相反,经纪人,或者事先以一种组织良好的方式,或者从病床上即兴发挥,为任何客户端分配一个固定的服务器,独立于客户端的具体愿望。然后它可能发生,一个客户还没有明确表达其具体的愿望-既不模糊,也不详细-当它的分配服务器给它的服务轮。这不符合服务器的口味,因为服务不能真正开始,所以它通过让客户端直接返回到WithoutService阶段来完成客户端的服务回合,而不实际执行任何实质性的服务。请再次注意平凡陷阱triv的作用,它从WithoutService连接到UnderService,从而使分配的服务器能够轮到它的客户机,即使客户机还不需要它。在服务不足et→riv的过渡中的实际平均值每项服务的依次此外,如果这种服务回合的持续时间被认为是相关的,则在同一服务回合期间可以发生更多的这种转换,其数量例如与持续时间成比例,从而计算所花费的时间。对于由代理和服务器施加的协调和委托的技术细节,我们参考[7]。即使我们的讨论仅基于客户端的技术行为规范细节,我们也能够揭示Paradigm语言的组织性和有机性:通过其全局行为描述,它在严格规范的详细描述之上提供了一个结构良好的框架,从而允许行为描述中的在我们看来,这种自由抓住了组织中使它们如此人性化的一些本质3绘制共同点除了组织和有机的范式,在十多年的时间里,在密集的建模经验的基础上,人们对范式的认识稳步增长,还有许多其他活动在软件工程中或与软件工程相关,揭示了组织和软件系统两个世界的不同在本节中,我们将列举其中的一些,并从我们的经验角度简要地讨论它们出发点:仿真,特别是离散事件仿真。从大型系统编程的早期开始,L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93105编写和执行,例如60年代早期的SIMPACT和GPSS程序。这样的程序总是包含一个真实世界的相关部分的模型,一个仿真程序的用户希望通过让模型模仿它来研究它。在那个时候,通过首先对程序及其执行进行详细建模来设计这样的程序肯定是不常见的。然而,这样一个模型,本质上是技术性的,并指定了一个技术性的软件,实际上是用某种建模语言对程序的重新表述。然后,作为一个重新表述,这样的模型无疑将同时是(要)模拟的相关现实世界部分的模型。因此,一个软件建模形式主义越是成功地适合于指定所有类型的程序,无论是在它们的结构还是在它们的动态方面,形式主义就越接近于指定任何真实世界的部分,就像它的特定仿真程序一样好。事实上,[15]和[16]都成功地将Paradigm建模正如预期的那样,在协调和行为一致性建模从模拟到面向对象。60年代末,出现了一种通用的、类似于Algol60的程序设计语言Simula,它具有便于离散事件模拟的特殊功能。可以追溯到[13],Simula是第一个面向对象的编程语言,早在OO这个术语被创造出来之前。与上述内容一致,人们实际上可以在Simula的基础上进行辩论,特别是面向对象,它不仅适用于建模软件,而且还适用于建模组织,业务流程,人类协作及其混合物,如人机交互。另见[9],以不同但相关的理由支持同一结论。然而,面向对象及其当前事实上最先进的标准UML 2.0的一个主要问题是,它缺乏行为一致性,参见例如[11]。然而,这是建模的主流。尽管有某些缺点,面向对象的建模同样适用于组织,因为它适用于软件,在这个意义上,准确地反映结构方面的更小的单位,这些单位的本地行为,他们的一般流程的活动和他们的互动方案然而,这些规范的可读性是另一个大问题,特别是对于ICT教育程度较低的人来说。从面向对象到模式。 根据重现的情况,106L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93一次又一次,在许多不同的软件系统中,协作对象的高度相似的星座,模式的思想已经从电子商务体系结构的世界中被采用。自从[5]和[2]以来,这些思想已经相当灵活地扩展到组织和业务过程建模,参见[4]。特别是,模式的典型架构属性:在不明确其内部技术细节的情况下确定全局构建块,这给了模式有用的可扩展性,将其置于建模者的处置中,用于非常不同的上下文。这种灵活性和易使用性,与过程、函数、服务相结合,赋予模式有机的特性。因此,模式就其本质而言加强并连接了软件和组织这两个世界从模式到授权。在通常的模式描述中,有一个方面还没有充分暴露出来,那就是它们之间的相互作用。通常不超过序列图显示一些主要的场景。模式的参与者之间的协作属性的彻底分析和证明通常不会给出。鉴于上面提到的UML在行为一致性方面的缺点,这并不奇怪。论文[7]和硕士论文[ 10 ]一起作为这些Paradigm解决方案的一个额外功能,它显示了人们可以多么容易地改变这些Paradigm模型,根据情况提供即兴的解决方案细节的空间。因此,范式模型符合正常模式的可伸缩性。从仿真、面向对象、业务流程建模到信息系统集成。部分出于对[16]关于Paradigm因此,集成不仅仅是重做(更多)代码集成,甚至不仅仅是重做(更多)设计集成,而是真正重做需求集成。此外,还发现有必要对相关的医院流程进行建模,与集成(软件)信息系统“连接”,就像软件设计一样明确。类似于模拟模型,只有通过这种方式,才能充分详细地研究软件对医院业务流程的可能影响。 再次出现的是,软件和周围的业务可以用相同的面向对象建模语言建模,并具有足够的协调细节表达能力。 此外,考虑到重新进行需求集成的需要,甚至重新进行需求工程也是明智的,从而从集成的L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93107要求. 这一切导致了以下见解。从需求工程过程的开始,软件和周围组织的两个世界将用同一种语言建模,以便能够分析它们的相互影响,不仅是它们的结构影响,而且是它们的动态影响。在以后的软件工程阶段,这种双重模型应该逐渐发展成为一个良好的集成模型。在我们的教学和工作中,我们都发现这种我们称之为整合取向的想法非常有价值。从业务流程建模和OO到ArchiMate。为了更好地集成大型复杂的软件系统和它们所支持的组织,使用了两者的体系结构描述。在这种描述的全局层面上,有主要部分和主流,后者是部分内部的全局工作流,如活动序列或部分之间的全局工作流,如高级协议(角色)。然后,我们的想法是,在这个特定的层面上看到哪里、什么以及为什么会有一些错误,或者在这个特定的层面上估计在任何一个架构描述中某个地方的具体变化的影响(关于某些属性和方面)。在这个架构世界中,它被认为是不必要的复杂化,软件应用程序、基础设施硬件和商业世界的架构描述不匹配,通常用太不同的语言编写。为了改善这些方面的情况,ArchiMate项目合作伙伴设计了一种Meta架构语言,参见[12],包括三个级别-业务,应用和技术-每个级别都有自己的元语言专业化。通过这种方式,实现了不同级别的域之间的足够的内聚,而对于每个级别,特定的模型公式仍然面向该级别上的特性和偏好。相同的Meta语言与不同层次的不同专用语言的思想,基本上与上面提到的集成方向相同:仅通过相同的语言,软件和组织的不同世界可以连接起来,以便在足够的内聚中进行研究。在[18]中,还展示了ArchiMate模型如何被转换为UML模型。碰巧的是,这些UML模型有一个不寻常的“声明性”程度,保持了原始架构模型的全局特征。这种全局性是非常不寻常的,因为当开始在UML中从头开始对这样的架构建模时,人们不倾向于允许它。另一方面,它也很清晰,因为它表明了什么对系统架构师来说不那么重要,或者对管理者来说根本不重要。虽然没有被纳入ArchiMate作为非标准,Para- digm似乎也很适合这里,特别是用于分析行为一致性和澄清行为影响的细节,如果发生变化。108L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)934结论和未来研究我们已经证明了如何范式根据范式概念,特定模式内的协调可以方便地与该模式外的协调相混合。我们将Paradigm的上述可扩展性视为对已经过时的架构表达模式的补充。此外,通过各种全球层面的描述,范式提供了新的见解外生与内生协调的问题(见例如[1])。更确切地说(关于我们所提到的概念的技术细节,请参见附录A):详细行为对应于计算;全局行为,无论是在一维还是在一致性规则中指出的组合中,都对应于协调。计算与协调如此明显的分离,表明了外生协调,即计算与协调的分离观。当把局部配置作为一个组成部分时,非分离的观点就产生了,从而统一了一个详细的行为和它的所有全局行为。这也是一种灵活性:计算和协调可以在一个组件中混合,导致看似内生的协调,但全局描述仍然将它们分开,因此协调是外生的。最近的结果,尚未公布,已经获得,显示如何给定的范式模型没有任何停顿,可以是JIT -即时-扩展新的语义,因此该模型继续迁移到一个新的模型。这是通过自适应的方式进行的动态演化;然后根据JIT扩展中的语义细节,按照期望平滑地协调迁移。整个过程可以迭代,从而使另一个迁移到下一个模型。在我们看来,自适应的特性以及如所期望的那样顺利和优雅地安排迁移的可能性,更加突出了Paradigm的有机和组织潜力。未来的研究将进行更多的例子,这样的JIT模型的迁移和演变,揭示更多的特点和architec-turability这些最近的想法。引用[1] F.阿巴布Reo:一个基于通道的组件组合协调模型。计算机科学中的数学结构,14:329[2] F.布施曼河Meunier,H. Rohnert,P. Sommerlad,and M. Stal. 面向模式的软件L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93109架构模式系统。Wiley,1996年。[3] A.科尔曼和韩俊。基于角色的自适应软件中的协调系统。 在J. - M. Jacquet和G. P. Picco,编辑,Proc. Coordination 2005,第63-78页。LNCS 3454,2005年。[4] J. Coplien和N.哈里森 敏捷软件开发的组织模式。普伦蒂斯-霍尔,2004年。[5] E.伽马河赫尔姆河Johnson,and J. Vlissides. 设计模式:可重用面向对象软件的元素。Addison-Wesley,1995年。[6] L. Groenewegen,N. van Kampenhout和E.德·温克网络组织中的协调:范式方法。TechnicalReport CSR 03/13,Technische Universiteit Eindhoven,2003.[7] L. Groenewegen,N. van Kampenhout和E.德·温克 使用Paradigm进行委托建模。 在J. - M.Jacquet和G. P. Picco,编辑,Proc. Coordination 2005,第94-108页。LNCS 3454,2005年。[8] L. Groenewegen和E. 德·温克 范式中协调的操作语义学。 在F. Arbab和C.Talcott,编辑,Proc. Coordination 2002,pages 191-206. LNCS 2315,2002年。[9] I. 雅各布森, M. 爱立信, 和A.雅各布森对象的优势:用对象技术进行业务流程重组。Addison-Wesley,1994年。[10] N.范·坎彭豪特。协调的系统化具体化和验证:走向范式模型的模式。硕士[11] J·库斯特面向对象行为模型的一致性管理。博士论文,帕德博恩大学,2004年。[12] M. 兰克霍斯特编辑工作中的企业架构:建模,沟通和分析。施普林格,2005年。[13] B.迈耶面向对象的软件构造。普伦蒂斯-霍尔,1988年。[14] A. Perini,A. Susi和F Giunchiglia。多智能体系统中的协调规范:从需求到架构与Tropos方法。在Proc. SEKE 2002,Ischia,Italy,第51-54页中。ACM,2002年。[15] M. 范·斯蒂恩。 用并行决策过程建模动态系统。莱顿大学博士论文,1988年。[16] W. Stut. 用电影构建大型概念模型。博士论文,莱顿大学,1992年。[17] P.J.杜桑信息系统集成:需求工程研究。博士论文,莱顿大学,1998年。[18] M.威林,M。邦桑格河范布伦湖Groenewegen,H. Jonkers和M.兰克霍斯特研究企业描述语言到UML 2.0的映射。In F. de Boer和M. Bonsangue,编辑,Proc. UML 2003,第155-179页。ENTCS 101,2004年。[19] F. Zambonelli,N. Jennings,and M.伍尔德里奇开发多智能体系统:盖亚方法论。ACM软件工程方法学汇刊,12:317110L.P.J. Groenewegen等人/理论计算机科学电子笔记150(2006)93A附录每个Paradigm模型构建的概念如下。定义A.1(a) 一个进程或STDS是一个三重进程,AL,TS。这里ST被称为状态集,或者也称为状态空间;AL被称为动作或转移标签集,或者也称为动作空间;TSST×AL ×ST是转移集。当e(x,a,XJ)∈TS时,我们将e x → ax j.(b) 一个过程S的序列是一个有限序列x0,a0,x1,. . . ,xn−1,an−1,x n或无限序列x0,a0,x1,. . ,x n,a n,. 每个类三元子序列(xi,ai,xi+1)是过程S的一个转移;在两种情况下x0是它的初始状态;在有限行为的情况下,xn是它的最终状态。状态(c) 过程S = ST,AL,TS的子过程是过程ST,AL,TS的子过程,使得ST,AL,AL和TS ={(x,a,xJ)∈TS| x,xJ∈st,a∈al}.(d) 子过程S=S_st,al,ts_st的陷阱t是一个非空的状态tstsuchthatx∈t和x→a xJ∈ts意味着thatxJ∈t。 如果t=st,则陷阱称为平凡的。(e) 设S=st,al,ts和SJ=stJ,alJ,tsj是同一过程的两个子过程.S的陷阱t称为从S到SJ的连接陷阱,如果属于陷阱t的状态也是SJ中的状态,即t≠stJ。如果存在这样一个从S到SJ的连接陷阱t,则称三元组(S
下载后可阅读完整内容,剩余1页未读,立即下载
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![text/rtf](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)