论文部分内容阅读
主体的概念
目前学术界和工业界的许多人对于主体的概念有不同的理解和认识,只能给出一个抽象的,高层的,普遍的解释。即:主体是指驻留在某一环境下能够自主,灵活地执行动作以满足设计目标的行为实体。这一概念将主体视为是软件工程化开发所需的一个计算抽象和高层的概念模型,并在这一模型下实现软件的开发过程。下面对主体概念作进一步的阐述和分析。
·主体驻留在环境中并需要与环境进行交互
任何主体都不是孤立和封闭的,它驻留一定的环境中,需要与环境持续不断地进行交互。主体所主流的环境可能是极为复杂的,包含了与主体相关的许多内容,比如实施主体动作所需要的信息,数据,资源,与主体进行交互的其他实体。这些环境组成部分并不一定全受主体的控制(如环境中的资源为多个主题共享),同时可能会受主体行为实施的影响(如主体行为实施将影响环境状态)。主体与其主流环境之间的交互主要体现在两个方面:
(1)主体能从环境中感知输入。例如,环境中用户的一次界面操作,时钟时间的发生等。
(2)主体根据从环境中获得的感知输入自主地决定该有什么样的行为以实现其设计目标。主体动作的执行将对主体所驻留的环境产生影响,导致环境状态的变迁以及系统的进一步演化。在许多系统中,由于环境自身的动态性和不确定性,主体动作的执行只能对环境产生有限的影响。
·主体是一个行为实体
它具有一组动作并能执行这些动作,是动作的实施者。主体的能力是通过这些动作反映出来的,这种能力主要体现为:主体动作的实施将有助于实现主体的设计目标并对主体所驻留环境产生影响。而不具备行为能力的实体则不视为主体。如数据,资源,信息等。
·主体能够自主的事实行为
主体能在没有人或者其他主体的直接干涉和指导的情况下运行,并能根据其内部状态和感知的环境输入决定自身的状态,控制自身的行为。
·主体的行为具有一定的灵活性
主要体现为反应性,社会性和自发性。
1、反应性即能够感知环境并作出相应的行为动作
2、社会性即主体拥有所处环境中其他主体的信息并能实现互相交流。
3、自发性强调的是主体在某些情况下能主动地产生目标并根据这一目标采取行为。
·主体有其设计目标
系统中每个主体都有其特定的设计目标,主体的各种行为动作也是围绕这一设计目标展开的。
面向主题的软件开发
面向主体软件开发给予一组一主体为核心的概念体系。采用一种新的方式来理解和认识应用系统和软件系统。
·软件开发思想
一个系统,无论是应用系统还是软件系统,是由一个或者多个主体构成的。每个主题都是自主的行为实体。不同的主体之间存在着复杂的结构关系,并通过高层的交互来进行合作、协商和竞争等,从而实现系统的整体设计目标。
1、将构成系统的基本成分视为是一个个的主体。主体既可以表现现实世界中的行为实体,从而支持对应用系统进行分析和建模,而且也可以表示计算机世界软件系统中的行为实体即运算单元,从而支持对软件系统进行设计和实现。与其他软件工程概念相比较,主题概念从更高的抽象层次、以一种更为自然和直观的方式来理解、认识和刻画系统中的行为实体。
2、在行为关系方面,主体之间是通过高层的交互相互作用。这种交互是在语义和知识层次上进行的,它需要参与交互的双方或者多方主题清晰地表述交互的意图和内容,从而可以实现他们之间复杂的合作、协商和竞争。主体之间的交互通常基于某种主体通信语言(如KQML或者FIPAACL)。主体之间的这种交互方式在一定程度上区别于过程调用、函数调用、以及对象之间的消息传递,它试图以一种更为自然的方式描述系统中不同行为实体之间的行为相关性。
·软件开发原则
1、高层抽象和自然建模。通过抽象来抽取系统最基本的要素,忽略那些不关注的成分,并使用抽象后的主体和高层交互概念来进行自然建模。
2、问题分解。当一个系统规模较大、复杂性较高,难以解决的时候,往往采用问题分解的技术手段,把一个大的系统分割成多个规模相对较小的子系统,将一个复杂的问题分割成多个相对简单的子问题,并通过解决子系统和子问题来解决整个系统和整个问题。
3、封装、信息隐藏、模块化。模块是指程序中逻辑上相对的单元。模块化是软件工程化开发的一个重要原则,它强调要用一个个功能单一,相对独立的模块单元来设计和实现软件系统。封装和信息隐藏是建立在模块化之上的,通过模块之间的相对独立从而将各自独立的信息封装在模块内部实现信息隐藏。
4、模块交互机制。模块间的交互作用是将软件系统的多个模块“粘合”在一起协调运行的一种重要机制,是模块化软件开发的一个重要组成部分。
(作者单位:长江大学)
目前学术界和工业界的许多人对于主体的概念有不同的理解和认识,只能给出一个抽象的,高层的,普遍的解释。即:主体是指驻留在某一环境下能够自主,灵活地执行动作以满足设计目标的行为实体。这一概念将主体视为是软件工程化开发所需的一个计算抽象和高层的概念模型,并在这一模型下实现软件的开发过程。下面对主体概念作进一步的阐述和分析。
·主体驻留在环境中并需要与环境进行交互
任何主体都不是孤立和封闭的,它驻留一定的环境中,需要与环境持续不断地进行交互。主体所主流的环境可能是极为复杂的,包含了与主体相关的许多内容,比如实施主体动作所需要的信息,数据,资源,与主体进行交互的其他实体。这些环境组成部分并不一定全受主体的控制(如环境中的资源为多个主题共享),同时可能会受主体行为实施的影响(如主体行为实施将影响环境状态)。主体与其主流环境之间的交互主要体现在两个方面:
(1)主体能从环境中感知输入。例如,环境中用户的一次界面操作,时钟时间的发生等。
(2)主体根据从环境中获得的感知输入自主地决定该有什么样的行为以实现其设计目标。主体动作的执行将对主体所驻留的环境产生影响,导致环境状态的变迁以及系统的进一步演化。在许多系统中,由于环境自身的动态性和不确定性,主体动作的执行只能对环境产生有限的影响。
·主体是一个行为实体
它具有一组动作并能执行这些动作,是动作的实施者。主体的能力是通过这些动作反映出来的,这种能力主要体现为:主体动作的实施将有助于实现主体的设计目标并对主体所驻留环境产生影响。而不具备行为能力的实体则不视为主体。如数据,资源,信息等。
·主体能够自主的事实行为
主体能在没有人或者其他主体的直接干涉和指导的情况下运行,并能根据其内部状态和感知的环境输入决定自身的状态,控制自身的行为。
·主体的行为具有一定的灵活性
主要体现为反应性,社会性和自发性。
1、反应性即能够感知环境并作出相应的行为动作
2、社会性即主体拥有所处环境中其他主体的信息并能实现互相交流。
3、自发性强调的是主体在某些情况下能主动地产生目标并根据这一目标采取行为。
·主体有其设计目标
系统中每个主体都有其特定的设计目标,主体的各种行为动作也是围绕这一设计目标展开的。
面向主题的软件开发
面向主体软件开发给予一组一主体为核心的概念体系。采用一种新的方式来理解和认识应用系统和软件系统。
·软件开发思想
一个系统,无论是应用系统还是软件系统,是由一个或者多个主体构成的。每个主题都是自主的行为实体。不同的主体之间存在着复杂的结构关系,并通过高层的交互来进行合作、协商和竞争等,从而实现系统的整体设计目标。
1、将构成系统的基本成分视为是一个个的主体。主体既可以表现现实世界中的行为实体,从而支持对应用系统进行分析和建模,而且也可以表示计算机世界软件系统中的行为实体即运算单元,从而支持对软件系统进行设计和实现。与其他软件工程概念相比较,主题概念从更高的抽象层次、以一种更为自然和直观的方式来理解、认识和刻画系统中的行为实体。
2、在行为关系方面,主体之间是通过高层的交互相互作用。这种交互是在语义和知识层次上进行的,它需要参与交互的双方或者多方主题清晰地表述交互的意图和内容,从而可以实现他们之间复杂的合作、协商和竞争。主体之间的交互通常基于某种主体通信语言(如KQML或者FIPAACL)。主体之间的这种交互方式在一定程度上区别于过程调用、函数调用、以及对象之间的消息传递,它试图以一种更为自然的方式描述系统中不同行为实体之间的行为相关性。
·软件开发原则
1、高层抽象和自然建模。通过抽象来抽取系统最基本的要素,忽略那些不关注的成分,并使用抽象后的主体和高层交互概念来进行自然建模。
2、问题分解。当一个系统规模较大、复杂性较高,难以解决的时候,往往采用问题分解的技术手段,把一个大的系统分割成多个规模相对较小的子系统,将一个复杂的问题分割成多个相对简单的子问题,并通过解决子系统和子问题来解决整个系统和整个问题。
3、封装、信息隐藏、模块化。模块是指程序中逻辑上相对的单元。模块化是软件工程化开发的一个重要原则,它强调要用一个个功能单一,相对独立的模块单元来设计和实现软件系统。封装和信息隐藏是建立在模块化之上的,通过模块之间的相对独立从而将各自独立的信息封装在模块内部实现信息隐藏。
4、模块交互机制。模块间的交互作用是将软件系统的多个模块“粘合”在一起协调运行的一种重要机制,是模块化软件开发的一个重要组成部分。
(作者单位:长江大学)