社区计算模型:基于社区情境的合作与冲突解决
立即解锁
发布时间: 2025-08-22 00:13:55 阅读量: 7 订阅数: 21 


嵌入式系统与普适计算的技术进展
### 社区计算模型:基于社区情境的合作与冲突解决
#### 1. 研究背景与动机
社区计算是一种通过智能对象之间的合作来提供普适服务的计算技术。在以往的社区计算模型中,成员间的合作被视为预定义的程序,这使得设计者在面对庞大而复杂的合作时,难以一次性规划出整个合作流程。此外,以往模型假设无冲突环境,但实际中冲突是存在的。因此,需要一种新的合作模型来直观地设计社区合作,并解决冲突问题。
#### 2. 相关工作
- **以往的社区计算模型**:将社区计算系统抽象为一个社会,社会由成员和社区组成。社区是由成员组成的主动组织,由其目标、协议和必要角色表示。成员是普适对象,可在社区中扮演特定角色。运行时,若动态出现目标,会为每个角色选择普适对象,实例化社区。社区创建后,成员根据协议描述合作以实现目标,目标达成后社区解散。
- **现有的合作模型**:多数合作模型将合作描述为预定义的静态伪程序,如配方、计划或技能。虽然很多系统、基础设施和合作模型引入了实现合作的方法,但未关注合作设计本身。例如,1997 年为 ARCHON 提出的精炼正式合作模型,将合作表示为一组预定义任务;AGDRSCOM 引入了自适应合作的概念,但未详细说明适应的含义;MAPFS 的合作模型通过动作和指令进行程序性描述;2006 年 Ji Gao 提出的混合合作模型,虽使用了配方、政策和广告,但基本合作过程仍由配方表示。
#### 3. 基于社区情境的合作模型
- **社区情境模型**:社区情境由特定成员的情境决定,成员情境由成员的属性值决定。社区情境可表示为属性的逻辑关联,其定义如下:
```plaintext
<community-situation>::= <situation-name> = <community-situation>
<community-situation>:: = <single-community-situation> | <conjunctive-community-situation> |
<disjunctive-community-situation>
<single-community-situation>::= [<quantifier>] <role-name>.<role-situation>
<quantifier>::= ∀ | ∃, <role-name>::=<string>, <role-situation>::=<member-situation>
<conjunctive-community-situation>::=(<community-situation>AND<community-situation>)
<disjunctive-community-situation>::=(<community-situation>OR<community-situation>)
<member-situation>::= <single-member-situation> | <conjunctive-member-situation> |
<disjunctive-member-situation>
<single-member-situation>::=<attribute>,<attribute>::=(<attribute-name> <operator><attribute-value>)
<attribute-name>::= <string> , <attribute-value>::= <value>
<operator>::= >| < | >= | <= | = |!= ,<value>::=<number>|<string>|<symbol>|TURE|FALSE
<conjunctive-member-situation>::=(<member-situation>AND<member-situation>)
<disjunctive-member-situation>::= (<member-situation> OR <member-situation>)
```
- **基于社区情境的严格合作模型**:该模型基于以下假设:
1. 社区情境的确定性。
2. 社区的所有成员都了解社区情境,并知道根据每个社区情境要执行的任务。
3. 在一个社区情境中,每个成员可以按顺序执行多个任务。
4. 即使成员的任务在一个社区情境中未完全完成,社区情境也可以改变。
5. 社区情境动态变化,但最终达到目标实现的情境。
其定义如下:
```plaintext
<community-cooperation>::= <goal-name> = {<cooperation-block>}+
<cooperation- block >::=<community-situation>=>{<role-task>}+ ,<role-name>::=<string>
<role-task>::=<role-name>:{<role-action-name>}+,<role-action-name>::= <string>
```
当成员在特定社区情境中执行自己的动作时,可能会与该成员或其他成员的其他动作发生冲突。为处理这些冲突,将冲突动作分为互斥冲突类型和时间依赖冲突类型。对于互斥冲突类型,若发生冲突,应终止冲突动作之一;对于时间依赖冲突类型,应先执行其中一个动作,然后再执行另一个动作。社区管理器有一个动作冲突列表,用于处理运行时的冲突。
```plaintext
<action-conflict-list-in-community>::= {<mutual-exclusive-action-conflicts-in-community> |
<time-dependent-action-conflicts-in-community>}*
<mutual-exclusive-action-conflicts-in-community-in-community>::= MEC(<role-name>.
<remained-action-name>,<role-name>.<killed-action-name>)
<time-dependent-action-conflicts-in-community-in-community> ::= TDC(<role-name>.
<precedent-action-name>,<role-name>.<following-action-name>)
<remained-action-name>::= <action-name> , <killed-action-name>::= <action-name>
<precedent-action-name>::=<action-name>,<following-action-name>::=<action-name>
<action-name>::= <string>
```
#### 4. 基于社区情境严格合作的社区计算模型
- **基于社区情境的社区计算模型(CCM)**:是社区计算系统的最高级抽象模型,用于描述系统的需求和边界。与以往的 CCM 相比,改进后的 CCM 在合作描述部分,通过社区情境和特定情境下每个角色的任务描述来表示社区的合作。以下是一个示例:
```plaintext
Society COEX_Mall {
Community Type Description {
Community Patrol_COEX{
Role Patrol_Robot : 1 ~ 10 {
Attribute:POWER={ON|OFF};
LOCATION={location_type};MODE={BUZY|ORDINARY};
Action:Area_Assign();Patrol();
Cast : POWER=ON; LOCATION= IN.COEX_Mall;
}
Role Patrol_Manager : 1~ 2{
Attribute:STATUS={ON DUTY| OFF DUTY};
LOCATION={location_type};
Action:Patrol_Management();
Cast : STATUS=ON DUTY; LOCATION=IN.COEX_Mall;
}
Role Guid
```
0
0
复制全文
相关推荐










