基于PROLOG语言的NGN业务特性冲突自动检测

合集下载

一种新的业务冲突检测和解决方案

一种新的业务冲突检测和解决方案

一种新的业务冲突检测和解决方案李旭;胡国庆【摘要】详细分析了下一代网络(Next Generation Network,NGN)中的业务冲突问题,给出了现有的各种业务冲突检测和解决方法,并对业务交互管理模块(Feature Interaction Management,FIM)进行了重新设计,针对离线业务冲突和在线业务冲突分别进行检测和解决。

针对离线业务,采用二维分析表方法进行冲突检测和解决;针对在线业务,采用循环检测算法进行冲突的检测和解决。

该架构还可以扩展其冲突检测算法,以处理新的业务冲突,可以提高冲突检测解决的成功率。

%This paper analyses the feature interactions in the next generation network,and summarizes all the existing ways of feature interactions detection and resolution.A new architecture of feature interaction management is also present in this paper.The online feature interactions and offline feature interactions are detected and resolved separately.The offline problems are dealt with by dynamic two-dimension table and the online problems by circle detection.This new architecture can expend its interaction detection algorithm to deal with new feature interactions,so it can be more effective.【期刊名称】《无线电工程》【年(卷),期】2012(042)005【总页数】4页(P12-14,26)【关键词】IMS;业务冲突;SCIM【作者】李旭;胡国庆【作者单位】中国电子科技集团公司第五十四研究所,河北石家庄050081;总参信息化部驻石家庄地区军事代表室,河北石家庄050081【正文语种】中文【中图分类】TN960 引言随着通信技术和网络技术的快速发展,能够融合多种异构网络、提供多媒体综合业务和开放网络资源能力的下一代网络体系结构逐渐形成。

基于Prolog的安全协议在线自动化分析

基于Prolog的安全协议在线自动化分析

1 2 串 空 间 .
发展 , 主要包括逻辑推理分析、 状态机模型 、 代数 系统检测等方
法 J 。其中 , 串空间模 型 是一 种结合 定理 证明 和协议迹 的
新方 法 。
协议执行过程中参与者行 为主要包括发送 消息和接收 消 息, 因此 定 义 有 符 号 消息 项 为 二元 组 ( , ) S a 。其 中 : aeA, S: +表示 发送消息 , =一表示接收消息。( , )通常简写 S So
(. oeeo o w r E gnen ,Z eag U i rt o ehooy Hagh u30 3 ,C i 1 Clg f ae nier g hj n nv Ly fTcnl , n zo 10 2 hn l fSt i i e  ̄ g a;2 Sa e aoao Sfw r D v一 .tt KyL brtyo o ae ee e rf t  ̄ m n ni n e t e a gU i rt, ei 0 0 3 hn ) e t v om n,Bi n n e i B in 10 8 ,C p rito u e e u t e c a i t n lss mo e a e n t e srn p c h oy a d te c n t it sr c : h s a e n r d c d a s c r y r a h bl y a ay i i i d l s d o h ta d s a e t e r n h o sr n b a ei n t n meh d h n po o e r lg b s d a tma i ra o ig s h me tls , e c b d a W e — a e n l e a t — l mi ai t o .T e rp s d a P o o ・ a e u o t e s n n c e .A a t d s r e b b s d o — n u o o c i i

Prolog语言简介

Prolog语言简介
2019/11/18
<项>::= <常量> | <变量> | <复合项>
<复合项> ::=
<原子>(<项> { , <项> })|
<项> <原子> <项> { <原子> <项> }
2019/11/18
复合项:由一组其它对象组成的单个对象
例: 函数项: like(john, apple) 表: [sa, sb], [1,2,3] 表达式: (12+59)*49-96
前缀:+(X,*(Y,Z))
2019/11/18
②比较谓词
eq(X, Y) X=Y
ne(X, Y) X<>Y
gt(X, Y) X>Y
ls(X, Y)
2019/11/18
X<Y
对于 “= 、<> ”, X,Y 可以取
常量 变量 谓词 表
2019/11/18
对于“=”(赋值与比较)的几点说明: 第一、当一个变量已经实例化,则可以与任意
2019/11/18
程序的一般结构(组成部分) Visual Prolog程序包括三到四个基本程序段: 第一、域段:说明谓词变量的域(类型) 第二、谓词段:说明非标准谓词(用户自己的
2019/11/18
第一个子问题 brother(a, Z) 与事实匹配,得到{c/Z} 代人第二个子问题,有 father(c, U)。与事实匹配,
得到 {d/U},即 U=d,解是:a是d 的叔叔
brother(a, Z) father(Z, U)
2019/11/18

prolog语言简介

prolog语言简介

例:
自动实现的搜索算法之二——回溯 回溯
clauses likes(tom,talk). /*1*/ likes(bill,swim). /*2*/ likes(bill,talk). /*3*/ friend(john,X):-likes(X,talk),likes(X,swim) /*4*/ 设Goal:friend(john,Who)
可以回溯 如果加入 cut p:- q1,q2,!,r1,r2. p:- s1,s2. 逻辑关系变为 P1 if (if q1∧ q2 then r1 ∧r2 else s1 ∧s2 ) then p q1 q2 ! r1 回溯
P P2 P r2 s1 s2
截断 回溯
影响回溯的手段之二——cut 影响回溯的手段之二
影响回溯的手段之二——cut (截 影响回溯的手段之二
断)
cut—无条件成功,并截断回溯
(也可以用! 表示)
影响回溯的手段之二——cut 影响回溯的手段之二
例:p:- q1,q2,r1,r2. p:- s1,s2. 逻辑关系是 if q1∧ q2∧r1 ∧r2 or s1 ∧s2 P P1 then p q1 q2 r1 r2 s1 s2 P2 P
影响回溯的手段之二——cut 影响回溯的手段之二
应改为 legal(X):- super_speed(X),!,fail. legal(X):- drunk_drive(X),!,fail. legal(X).
常识:“外Goal” 和“程序内goal” 有“勤” “懒” 之分
显然,此结果不完备
Press the SPACE bar
影响回溯的手段之一——fail 影响回溯的手段之一
fail—无条件失败,引起回溯

用于人工智能的Prolog语言

用于人工智能的Prolog语言
(7)如果有多个回答都满足目标,那么Prolog 将尽可能多地回答。
在示例程序中,添加有关性别的信息: Predicates
parent(symbol)
clauses parent(pam,bo
b). parent(tom,bo
b).
male(tom). male(bob). male( jim).
(3)关系的对象可以是常量 (如:tom,ann) ,也可以是变量(如:X,Y)。
(4)向系统提出问题,可由一个或多个目标组成。
(5)一个Prolog 程序由一些子句(clauses)组成。每个子句用句号结束。
(6)对一个问题的回答是肯定的或者是否定的,取决于相应的目标是否满足。 在肯定回答的情况下,说相应的目标是可满足的,而且这个目标成功了。 否则,说目标不可满足,目标失败了。
parent(Z,X), parent(Z,Y), female(X).
sister(X,pat).
改进的sister规则:
predicates
parent(symbol,symbol)
sister(symbol,symbol)
female(symbol)
male(symbol)
different(symbol,sym
R("zhsan").
4.2 家庭关系程序示例
下图是一个表示家庭关系的实例:
用Prolog 语句表示为:
Pam
Tom
).
Bob
Liz
).
Ann
Pat
Jim
parent(pam,bob
parent(tom,bob
parent(tom,liz). parent(bob,ann). parent(bob,pat).

Prolog百度百科

Prolog百度百科

PrologProlog(Programming in Logic的缩写)是一种逻辑编程语言。

它建立在逻辑学的理论基础之上,最初被运用于自然语言等研究领域。

现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。

同时它对一些通常的应用程序的编写也很有帮助。

使用它能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。

历史Prolog语言最早由Aix-Marseille大学的Alain Colmerauer与Phillipe Roussel等人于60年代末研究开发。

1972年被公认为是Prolog语言正式诞生的年份,自1972年以后,分支出多种Prolog的方言。

最主要的两种方言为Edinburgh和Aix-Marseille。

最早的Prolog解释器由Roussel建造,而第一个Prolog编译器则是David Warren 编写的。

Prolog一直在北美和欧洲被广泛使用。

日本政府曾经为了建造智能计算机而用Prolog来开发ICOT第五代计算机系统。

在早期的机器智能研究领域,Prolog曾经是主要的开发工具。

80年代Borland开发的Turbo Prolog,进一步普及了Prolog的使用。

1995年确定了ISO Prolog标准目前比较流行的实现工具包括SWI-Prolog, Yap 等prolog的几个特点:1. prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人。

从这个意义上来说,prolog程序不是真正意义上的程序。

所谓程序就是按照一定的步骤运行的计算机指令,而prolog程序的运行步骤不由人来决定。

它更像一种描述型的语言,用特定的方法描述一个问题,然后由电脑自动找到这个问题的答案。

举个极端的例子,你只需要把某个数学题目告诉它,它就会自动的找到答案,而不像使用其他的语言一样,必须人工的编制出某种算法。

下一代网络NGN及其典型故障案例分析

下一代网络NGN及其典型故障案例分析

下一代网络NGN及其典型故障案例分析随着电信技术的不断发展,传统的PSTN网络已经满足不了人们对综合型业务的需求,NGN作为一种新型网络,利用软交换技术将现有PSTN业务以及即将投入实用的多媒体融合业务承载在统一的分组核心网中,实现了语音、数据、视频等多种业务的融合,能够为用户提供工作中需要的更强大信息交流平台,能够在个人通信时提供更个性化的服务;能够在生活中提供更丰富的信息支持;目前各运营商、设备制造商对NGN的认识趋于一致,要在下一代网络的建设中取得先机,必须综合好运营商现有网络情况、运营商的业务发展方向、及用户的具体需求,提供最适合运营商的解决方案。

本文对NGN的概念、特点、协议进行了简单的介绍并结合目前NGN商用网中出现的典型故障案例进行分析,提供了故障定位、故障排除的思路和方法,希望给读者一些借鉴意义。

标签:NGN;软交换;MGW;SOFTX3000(华为软交换);UMG8900(华为综合网关)一、NGN原理1、NGN定义NGN是Next Generation Network的缩写,广义上从电信业务的角度来说下一代网络对电话网而言,指软交换体系,对移动网而言,指3G和后3G,对数据网而言,指下一代因特网和IPV6,对传输网而言,指下一代智能光网络。

狭义上讲是以软交换为控制核心,IP分组网为承载基础,将语音、视频、数据三网合一的新型电信网络;它采用综合、开放、融合的网络架构,通过业务与呼叫控制完全分离、呼叫控制与承载完全分离,实现相对独立的业务体系,使业务独立于网络,是一种业务驱动型的分组网络。

NGN主要由边缘接入、核心交换、网络控制、业务管理等四个平面组成,其网络架构(如下图所示:)2 、NGN的特点NGN具有丰富的业务提供能力,可提供语音、数据、多媒体等多种业务或融合业务。

其最大的特点就是开放、融合和基于IP。

(1)开放性;在NGN组网中开放性主要表现为分层设备间使用公共的协议进行通信,例如:软交换设备和媒体网关之间使用承载控制协议MGCP或H.248,软交换设备和多媒体终端之间采用呼叫控制协议H.323或SIP,信令网关使用SIGTRAN协议在IP网上传送PSTN/ISDN的信令协议。

Prolog语言逻辑编程课件

Prolog语言逻辑编程课件

Prolog语言逻辑编程课件Prolog语言是一种逻辑编程语言,它基于一种称为谓词逻辑的形式化语言。

本课件将为您介绍Prolog语言的基本概念、语法和应用,并提供一些实例来帮助您更好地理解和应用Prolog编程。

一、Prolog语言简介Prolog是“Programming in Logic”的缩写,它的特点是以谓词逻辑为基础,通过规则和事实之间的逻辑关系进行推理和查询。

Prolog程序由一组规则和事实构成,并通过提出查询来运行程序。

其独特的逻辑编程方式使得Prolog在人工智能、专家系统、自然语言处理等领域有着广泛的应用。

二、Prolog语法1. 数据类型:在Prolog中,有几种基本的数据类型,包括原子(atom)、数字(number)、变量(variable)和复合(compound)数据类型。

每个数据类型都有其特定的表示方法和使用规则。

2. 规则和事实:Prolog程序由一组规则和事实构成。

规则由头(head)和体(body)组成,头部是一个谓词,体部是一个查询条件。

规则描述了一个逻辑关系,当查询满足规则中的条件时,将会得到规则中定义的结果。

3. 查询:Prolog程序需要通过提出查询来运行。

查询是一个谓词,通过与规则中的条件进行匹配来得到满足查询条件的结果。

Prolog会在规则和事实中搜索匹配的项,并返回匹配的结果。

三、Prolog编程实例接下来,我们将通过几个实例来演示Prolog语言的具体应用。

1. 父子关系查询:```father(john, david).father(john, ann).father(david, mary).- father(john, X).```该查询将会返回所有满足父亲为john的人。

2. 数字求和:```sum(0, 0).sum(N, Result) :- N > 0, M is N-1, sum(M, SubResult), Result is SubResult + N.- sum(5, X).```该查询将会返回数列1到5的和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

call model
实体 话机终端
状态
Free Speak Ring Dalton Busy
意义 话机终端空闲 话机终端可以进行通话 话机终端响铃 话机终端送拨号音 话机终端忙 交换机对被叫号码进行路由分析 交换机向终端发送响铃请求 PCM链路被建立 交换机空闲
交换机
Analyze Request Connect Idle
2.3
PROLOG语言特性简介
Prolog语言是由法国马赛大学的Colmerauer和他的研究小组于1972年开发的人工智能语言,
它通过对问题的形式描述,利用已知事实和规则,向计算机描述目标。在Prolog语言中,需要建立 一个包含事实和推理规则知识库,程序根据环境和所给的输入信息以及所要解决的问题来自动决定 自己的行动。 Prolog程序逻辑性强,简洁清晰,其基本语句包括事实、规则和目标。此外,Prolog在求解问 题时采用陈述式方式,在应用开发者向它提交必要的事实和规则后,Prolog就使用内部的演绎推理 机制自动求解程序给定的目标,而不需要在程序中列出详细的求解步骤。 Prolog经历了Turbo
CCIC2008
Intemet相关业务等多种业务并存和融合的局面【2】.NGN业务与当前电信业务有两点显著不同:一 是它不局限于语音,而向数据领域扩展;二是运营商将由网络规模的竞争转向开发新业务的竞争。 此外,NGN使用开放的ParlayAPI,且能够不受限制地接入不同的业务提供者。这些冈素使得业务 特性冲突问题在NGN中日益严峻并制约着NGN中新增业务的开发。
event m orf state_to .) 和可达性规则,其中service为状态机模型描述的业务名称;event为触发事件;state from和state to
, ,
.26.
2008中国通信集成电路技术与应用研讨会论文集
CClC2008
图1简单呼叫模型的状态转移图
Fig.1 State Transition
present
in detail and two illus扭afive
cases
are
given
to
clarify the effectiveness of the
Network(NG№;feature
ቤተ መጻሕፍቲ ባይዱ
interaction;Finite State
Machine;Pmlog language
1、前言 随着NGN(卞一代网络)的演进,业务、呼叫控制和承载相互分离,电信业务市场将更加开放,
transaction描述简单呼叫模型的状态转移图。
(2)
改变某些状态的跳转,建立起Fl业务的状态机模型。
(3)
可根据状态变迁事实库自动推理检测返回结果,从而可知Fl是否成功实现。
(4) (5)
置触发优先级,建立起两业务交互的状态机模型M。
(6)
则说明两业务同时运行发生了业务冲突。可通过设置状态跳转优先级,实现其中一个目标。
Prolog、PDC
Prolog和Visual Prolog等不同版本的发展。州Visual Prolog即
可视化逻辑程序设计,是基于Prolog语言的可视化集成开发环境,具有模式匹配、递归、回溯、对 象机制、事实数据库和谓词库等强大功能。Visual Prolog是PDC推出的基于Windows环境的智能化 编程工具,它包含图形开发环境、编译器、连接器和调试器,支持模块化开发和面向对象程序设计 等构建大型应用程序所需要的特性。在本文中,将利用Visual Prolog的递归功能定义有限状态机状 态间可达性规则,使得可用Prolog的演绎推理去自动求解系统空间状态的可达性。
允许第三方提供业务。由于NGN增值业务的不断增多,电信系统也成为一个多业务并存、融合的 庞大系统,业务特性冲突问题成为制约其发展的主要瓶颈。许多专家对电信系统中的业务特性冲突 问题进行了深入的研究,其中业务特性冲突检测技术的研究最为深入和广泛,并提出诸如形式化描述 和形式化验证、仿真测试等许多业务特性冲突检测方法【l J。本文提出~种利用Prolog描述业务逻辑 并进行业务特性冲突自动检测的静态检测方法。
在此状态机模型中,各状态表示信息参照表l,各触发事件意义表示如表2所示;
表2图1状态机的触发事件
.Tab.2 Trigger events ofstate machine in Fig.I
事件
E1(E5) E2(E6)
E3
意义 话机A Dial(呼叫)话机B 交换机A响应事件,进行呼叫请求 话机B Answer(应答)话机A的呼叫 话机A或B挂机
(1)
建立简单电信呼叫模型的状态常量和触发事件信息事实库,并用状态变迁规则 根据Fl的具体业务逻辑,对简单呼叫模型的状态转移图进行修改,即用状态变迁规则 在Fl状态机内利用可达性分析规则reachable向Prolog询问状态可达目标G1,Prolog 依照步骤2,3,同理可检测业务F2是否成功实现。 根据业务F1,F2的状态机模型,提取合并共有的状态,并对共有状态的下一跳变迁设 不设置状态跳转优先级,在状态机模型M里同时触发业务F1,F2,若两目标均不可达, 在本文中,根据电信会话连接原理,使用简单的呼叫模型由交换机和话机终端组成。
on
the
Model made by Finite State Machine,their feature interactions
ale
detected by using the Visual Prolog.The
principle of the approach has been method. Key words:Next Generation
嬲中国通信集成电路技术与应用研讨会论文集
CCIC2008
基于PROLOG语言的NGN业务特性冲突自动检测
文秋梅
(华南理工大学电子与信息学院510640)
摘要:提}l{了一种用Prolog语言描述NGN中电信业务交互的静态检测方法。根据上述方法,用Visual Prolog描 述业务交互并对状态可达目标迸行求解,实现对业务之间的特性冲突检测。在描述了用该方法的原理后。通过案例 详细介绍丫对电信业务建模并检测的冲突的过程。 关键字:下一代网络;业务特性冲突检测;有限状态机:Prolog语言
E4(E7)
建立起简单呼叫模型的状态变迁事实库后,可向Visual Prolog询问状态可达目标。如想知道当 话机A和B均处于空闲状态Free时,是否存在一条路径使得两话机可建立通话,可询问: ?-reachable(POTS,state(ealling(A,Free),switch(switchA,link(Idle,A,B)),called(B,Free)), state(calling(A,Speak),switch(switchA,link(Connect,A,B)),called(B,Speak))).Visual Prolog根据状态变迁
LOTOS,UCM,SDL,MSC,UML,PetriNets及其扩展CPN和人工智能语言等。动态检测是在业务运行环
境中获取业务的必要信息(如业务特征等),再依据业务设计规范判断可能存在的业务特性冲突。国 外研究学者Tsang S.和Ma酬E.H.提出了一种引入FIM的动态检测方法14J。Marples D和Magill E.提 出了基于事务的业务冲突动态检测方法,该方法提供一种对共享和顺序触发引起的业务冲突类的动 态检测机制(51。国内方面徐九韵和杨放春等提出了基于呼叫有向图的活锁类业务冲突动态检测方法
.25.
嬲中国通信集成电路技术与应用研讨会论文集
CCIC2008
3、利用PROLOG自动检测业务特性冲突的算法 3.1检测算法 对于一些已知具体业务规范的电信业务,我们可以先根据业务逻辑建立起抽象的有限状态机模 型来表示业务流程,再利用Prolog语言来描述该模型各状态具体信息以及建立系统状态间变迁事实
2、NGN中的业务特性冲突及PROLOG语言
2.1
NGN中的业务特性冲突
业务特性冲突(feature interaction,简称FI)定义为由于不同的业务特性对同一呼叫过程的控制,
当多个增值业务部署在电信网络中时,业务特性之间可能会出现与单个业务特性运行时行为不一致 甚至相互矛盾的现象。造成业务特性冲突的根本原因是由于某一业务在执行过程中,它所需要的资源
下面将简要介绍如何建立简单电信呼叫模型的状态变迁事实库。
先在Prolog中定义各状态常量state x和触发事件常量Ex。系统空间状态由元组 state(calling.switch。called)表示,其中calling表示主叫状态信息,called表示被叫状态信息,switch 则表示交换机状态信息。然后定义系统空间状态变迁规则transaction(service,state 表示变迁的始末状态。状态间可达性规则可用递归原理定义如下: reachable(service,statex,statey):一serviceDefined(service),transaction(service,statex,event,statey); reachable(service,statex,statey):-serviceDefined(service),transaction(service,statex,event,statez),reach able(service,statez,statey); 定义完各状态与触发事件常量表示后,根据状态转移图利用变迁规则transaction可建立状态变 迁事实库。图l为话机A呼叫话机B简单呼叫模型的状态转移图。
NGN Feature Interaction Automatic Detection Based On PROLOG Lang uage
一 一
Abstract:An approach of static service interaction detection in NGN system was proposed by Proiog language.Base Call Service
相关文档
最新文档