模型复制(精选7篇)
模型复制 篇1
水中毒 (water intoxication) 是指由于机体内水过量引起的低钠血症,故又称为稀释性低钠血症或高容量性低钠血症。其特点是细胞外液量增多,血钠浓度降低,细胞外液低渗[1]。自1922年由Wier等报道人的水中毒以来,相继出现了关于动物和人水中毒的报道,水中毒的试验病例见于兔、鼠、猫、犬等,自然发病的病例可见于牛、马、猪、鸡、鹅等[2]。当正常情况下,动物不会因摄入水分过多而引起水中毒,因为机体可通过调节排出过多的水分。但在下列情况下,可发生水中毒:(1)抗利尿素 (ADH) 分泌过多,见于胰腺癌等恶性肿瘤,脑脓肿、脑炎等中枢神经系统疾病,肺结核、肺炎等肺疾患及其它疾病;(2)肾功能不全导致的肾的稀释功能受到损伤,排水能力降低;(3)肾上腺皮质机能减退时,使对下丘脑分泌ADH有抑制作用的糖皮质激素量减少,再加上摄水 (或输水) 过量而引起[3,4]。在严重缺水后的大量饮水,水源、水质的突然改变,气温过高、水温过低等应激因素均可促进本病的发生[5]。
1 材料与方法
1.1 试验材料
1.1.1 器材
2ml注射器、100ml注射器、比容管、红细胞计数板、手动计数器、沙里氏比色管、离心机、骨钳、显微镜、体重计。
1.1.2 药品
消毒蒸馏水、垂体后叶素、1%肝素、生理盐水、1%盐酸。
1.1.3 动物家兔2只。
1.2 试验方法
(1)将2只家兔随机分为试验组与对照组2组,然后分别称重记录。试验组家兔耳缘静脉采血 (肝素抗凝) 1~2ml,作红细胞比容,红细胞计数和血红蛋白的测定,并计算红细胞平均容积 (MCV) 和红细胞平均血红蛋白浓度 (MCHC) 。计算方法为:
(2)对试验组家兔腹腔注射消毒蒸馏水,注射量按体重的10%计算,同时注射垂体后叶素3~4个IU。注射后放回笼内,供给充足饮水和饲料并注意观察家兔的状态。
(3)第1次注水后2~3h,再用上述剂量对试验组家兔腹腔注射蒸馏水和垂体后叶素。注射后放回笼内,供给充足饮水和饲料并注意观察家兔的状态。
(4)当试验组家兔出现抑制、抽搐、痉挛等神经症状时,称其体重,从耳缘静脉采血1~2ml,肝素抗凝,作红细胞比容,红细胞计数和和血红蛋白的测定,并计算红细胞平均容积 (MCV) 和红细胞平均血红蛋白浓度 (MCHC) (计算方法同上) 。
(5)继续观察试验组家兔的症状至死亡。死后,将兔脑完整地取出。观察脑的肉眼变化。
(6)将对照组兔称重后,气栓致死。按上述方法取脑。与上述兔脑结果进行比较。
2 结果
2.1 试验组家兔的观察指标的测定(见表1)
2.2 试验组家兔与对照组家兔脑的比较
同对照组家兔的脑相比试验组家兔的脑的沟回几乎完全消失,脑受颅骨的挤压,肿胀轻微。
3 讨论
本试验通过增加水分的大量摄入,并抑制水分的大量排出,而复制了水中毒的典型症状的模型。细胞外液容量增多和渗透压下降是水中毒的关键表现。通过分析结果,主要病理表现为:(1)细胞内水肿:细胞外液低渗,使水自细胞外转入细胞内,一方面可使细胞外液容量得到恢复;另一方面可使细胞内水肿,引起脑细胞水肿和颅内压增高,从而出现中枢神经系统症状。而细胞外液容量的增加则可通过压力感受器和容量感受器的调节使肾脏排水增加,对细胞外液容量和渗透压的恢复都有一定的作用。(2)血液学变化:表现为稀血症,血浆蛋白和血红蛋白浓度降低,单位体积血液中红细胞数减少,红细胞压积通常降低,但红细胞体积增大,严重的急性水中毒,可发生溶血。(3)在早期表现为尿量增加。
虽然水中毒能发生于多种动物,但可以查出其发生的病因,通过临床症状和血常规的检测,易于做出诊断,因此可防可控。水中毒的防治原则主要为:(1)防治原发病,在肾功能衰竭、应激等情况下,要对水的摄入进行严格的控制,预防水中毒发生;(2)当症状轻微时,只要做到“早发现、早确诊、早限水”,数日后一般可自行恢复;(3)当症状严重时,除需严格控制水的摄入外,还应给予高渗盐水 (即3%~5%NaCl溶液) ,以迅速纠正脑细胞水肿,同时还需应用利尿剂促进水分排出。
摘要:本试验通过给家兔注入一定量的蒸馏水和抗利尿素, 造成家兔的水中毒。观察在水中毒情况下, 家兔的临床表现、典型病理及血液学值的变化, 结果表明, 第2次给家兔注水后, 出现呼吸困难、抽搐、痉挛等神经症状;脑的沟回几乎消失, 脑受颅骨挤压, 轻微肿胀。
关键词:水中毒,稀释性低钠血症,高容量性低钠血症,模型,复制
参考文献
[1]张书霞.兽医病理生理学[M].第3版.北京:中国农业出版社, 2008 (1) :133-134.
[2]谭学诗.家畜水中毒综合症的研究进展[J].中国兽医科技, 1988 (3) :53-54.
[3]陈国伟.现代急诊内科学[M].第2版.广州:广东科技出版社, 1995:417-418.
[4]黄微.低钠血症 (讲座) [J].滨州医学院学报, 1984 (1) :89-93.
[5]员灿圣, 员铮.奶犊牛水中毒的病理分析[J].当代畜牧, 2001 (06) :19.
模型复制 篇2
随着3D技术的不断发展普及, 一种新型的复制模式将会对现有的著作权法制度造成强烈的冲击。CAD模型能否受到著作权法保护?其法律定性是什么?未经许可使用CAD模型进行3D打印是否构成对复制权的侵犯?这些伴随技术创新而来的法律问题, 都是3D时代下亟需解决的难题。
一、3D打印的技术原理
3D打印技术, 是一种以数字模型文件为基础, 运用粉末状金属或塑料等可粘合材料, 通过逐层打印的方式来构造物体的技术。[3]它与普通打印机工作原理基本相同。如今这一技术在多个领域得到应用。
作为3D打印的基础———CAD模型 (Computer Aided Design) , 是一种计算机辅助设计, 指运用计算机软件制作并模拟实物设计, 展现新开发商品的外型、结构、色彩、质感等特色的过程。[4]CAD模型的基本表达方式是用点、线、面等几何元素通过拓扑关系共同构成的空间几何结构。其中形状特征描述零件CAD模型的结构和外型, 装配特征描述CAD模型的装配结构关系。[5]正是基于CAD模型, 3D打印机才可以确定打印产品的外形、结构以及装配关系, 让3D打印机在一个平面上将“打印材料”打印出一层, 然后再对这些可载合的打印层分层加工、叠加成型, 通过每一层不同图形的累积, 最后就形成了一个三维物体。由此可见, 较之现有的平面设计图, CAD模型将外型的设计与结构、装配关系结合到了一起, 既具有美术作品的外型美感, 又具有图形作品的科学之美。正是因为其具有的双重属性, 使得其在著作权法上的定性变得异常复杂。因此, 本文将首先对CAD模型进行法律上的定性。
二、CAD模型的法律定性
虽然计算机辅助设计被俗称为CAD模型, 但其与著作权法上的模型作品毫无关系。我国著作权法上所称的模型作品必须为立体实物。虽然CAD模型也为立体, 但其只是利用3D模型软件制作而成, 是一种数字文档并非实体的存在, 因此不能将CAD模型划分为模型作品。
此外, 尽管CAD模型是一种数字文档, 但此处的文档与我国计算机软件中所规定的文档也有所不同。根据我国《计算机软件保护条例》, 受著作权法保护的文档是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等。[6]但CAD模型是指运用计算机软件创建的产品设计图或工程设计图。因此两个“文档”在此处具有不同的意义, 计算机文档所描述的是程序, 而CAD模型描述的是产品。
根据上文对CAD模型的介绍, 笔者认为其应当被划归为图形作品。从技术层面来看, CAD模型是用点、线、面等几何元素通过拓扑关系描述产品空间几何构造的3D设计图。外型、空间结构和装配关系的设计[7]都是3D设计图中不可分割的部分。若离开了外型设计, 打印出的三维物体只是毫无美感的连接组合物;若离开了结构关系设计, 外型设计也将无法实现。因此, 不能将外型设计和空间构造设计相分离, 孤立地将外型设计作为美术作品保护, 结构关系设计作为图形作品保护。
从法律层面来看, CAD模型所包含的点、线、面和各种几何图形的组合, 属于科学领域内的智力成果。[8]同时CAD模型又是“为了生产绘制的产品设计图”, [9]所以应当作为图形作品受到著作权法的保护。下文也将从图形作品的逻辑起点出发, 对CAD模型的立体复制进行深入研究。
三、CAD模型的立体复制
“平面到立体”的复制一直是著作权法领域内争议较大的一个问题。我国著作权法并未规定复制的具体类型, 仅是从复制形式上规定“以印刷、复印、拓印、录音、录像、翻录、翻拍等方式”制作作品属于复制[10]。从法条文义上看, “平面到立体”的复制是否是著作权法意义上的复制, 并不明确。
在著作权法立法初期, 大部分学者认为我国著作权法保护还处于初级阶段, 没有必要对于作品提供高水平的保护。但随着复制技术的发展, 越来越多的“平面到立体”的复制现象出现。因此, 大部分学者逐渐转变观点, 认为平面美术作品的独创性表现为具有美感艺术的造型, 根据该平面美术作品制作的立体产品以三维方式体现了相同的艺术造型。[11]该立体产品仅是原平面美术作品的不同表现形式, 这种将平面作品转换成立体作品的行为也是复制。
虽然美术作品“平面到立体”的复制在我国得到了肯定和明确, 但在工业设计图上的认识还存在着较大分歧。一种观点认为, 著作权法只能禁止他人未经许可对工业设计图进行“平面到平面”的复制。著作权法不能限制他人根据工业设计图建造或制造与之相对应的工程或工业品, 否则将使著作权法沦为保护技术方案的工具。[12]另一种观点认为不应将对工业设计图的保护局限于“平面到平面”的复制, 而应拓展至“平面到立体”的复制。因为, 工业设计的使用价值既不在于复制工业设计图形, 而在于完成工程建设和批量生产工业品。[13]将根据产品设计图制造产品的“三维复制”排除在著作权侵权范围之外, 导致对产品设计图纸的著作权保护有很大的局限性, 实际上得不到充分保护。[14]
将该问题延伸到3D打印技术领域, 似乎将会变得更加复杂。因为CAD模型同时包含了对产品外型和内部结构关系的设计。一方面, 产品内部结构关系属于产品设计图的要素;而富有审美意义的产品外型, 属于美术作品。此时, 是否应当将CAD模型的复制限制为“平面到平面”的复制, 还是为了保护CAD模型的使用价值, 将“复制”进行广义的理解?本文将从对CAD模型外型的复制和结构关系的复制两个方面进行分析。
(一) 对CAD模型外型的复制
对于外型设计具有独创性和审美价值的CAD模型, 应当保护其“平面到立体”的复制。即未经CAD模型制作者的许可, 他人不得利用3D打印机将其具有独创性外型设计的CAD模型“打印”成三维产品。若某些物品既具有实用功能, 又具有艺术美感, 只要其中的艺术成分能够在物理上或观念上独立于实用功能而存在时, 就应当作为“实用艺术品”对其艺术成分加以著作权法保护。[15]将该理论应用于3D打印领域, CAD模型对外型的描述具有了美术作品的属性, 虽然对结构关系的描述基于不保护功能性的原则不能受到著作权法的保护, 但两者具有整体上的统一性。对两者同时进行复制时, 只要对外型的立体复制属于复制行为, 那么此时对整体的复制就侵犯了CAD模型制作者的复制权。以制作“变形金刚”为例, CAD模型制作者利用3D绘图软件绘制出“变形金刚”的CAD模型。若非用于个人欣赏等用途, 他人未经许可将不能利用该CAD模型直接打印出具有相同外型的产品。此种情况下, 图形作品就突破了原有的限制, 保护了其“平面到立体”的复制。[16]
(二) 对CAD模型结构关系的复制
对于外型设计无美感考量的CAD模型, 如普通的产品零部件、配件等, 只能保护其“平面到平面”的复制。例如, 某人未经权利人许可从网上下载了CAD模型并打印出了三维产品, 此时只能认为下载行为侵犯了CAD模型的复制权, 而打印行为不侵犯权利人的著作权。根据著作权法不保护技术功能的原则, 按照产品设计图制造的本身不受著作权法保护的工业产品不属于侵犯复制权的行为。
综上所述, 若CAD模型描绘的产品外型具有独创性和审美价值, 那么对该CAD模型整体的立体打印就属于侵犯作者复制权的行为;若CAD模型的外型设计毫无美感或所包含的艺术成分无法与其实用功能相分离, 无论其内部结构和装配关系设计得如何精确和巧妙, 都仅限于“平面到平面”的复制, 即对图纸的平面复制。
四、结语
模型复制 篇3
目前在电力市场中运用博弈论进行研究的问题有很多[1],但大都应用于发电侧电力市场,从博弈方完全理性出发,在信息充分的前提下找到博弈的均衡解,国内外有关发电公司竞价的研究文献很多[2~5]。但对现实中的决策行为者来说,完全理性是很难的。当社会经济环境和决策问题较复杂时,人的理性局限非常明显,要保证博弈分析的理论和应用价值,必须对有限理性博弈方之间的博弈进行分析。而演化博弈论从这一点出发,认为博弈方在多数情况下并不能对环境的变化做出最优反应,其决策一般来自于博弈历史而非理性的计算结果,这种分析方法与发电企业竞价行为更加接近,结果也更加接近于现实情况。在目前我国尚未成熟的电力市场中,纳什均衡点不一定能够出现,这就给传统博弈论的应用造成了不便,而基于生物进化理论的演化博弈论则对市场成熟阶段和市场发展初期都适用,具有重要的研究价值。
1 发电企业竞价过程的演化博弈原理
为使发电侧电力市场运营良好,必须研究作为市场主体之一的发电企业行为及其竞价策略。目前一些电力市场中,采用报价制确定上网电价,即发电企业在不同时段向交易中心报价,交易中心根据电力负荷预测和这些报价,采用低价先调的原则选择各发电企业上网电量。
由于发电企业的竞价过程是在一个具有不确定性和有限理性的系统里进行,同时,发电企业之间的策略又是相互影响的,因此运用演化博弈模型来分析发电企业竞价过程中竞价策略[6~9]的自发形成过程。自发演化而来的一个竞价策略对应于演化博弈模型的一个演化稳定策略(ESS)。
1.1 多群体复制动态模型[10,11]
Selten引入角色限制行为而把群体分为单群体与多群体,不同群体根据个体可供选择的纯策略集不同来划分。多群体时,不同群体中的个体有不同纯策略集、不同群体平均支付及不同群体演化速度。由于多群体模仿者动态公式推导比较复杂[12,13],下面直接给出多群体模仿者动态方程:
其中:上标j(j=1,2,…,K)表示第j个群体,其中K表示有K个群体;xji表示第j个群体中选择第i(i=1,2,…,K)个纯策略的个体数占该群体总数的百分比;xj表示群体j在某时刻所处的状态,x-j表示第j个群体以外的其他群体在t时刻所处的状态;sji表示群体j中个体行为集中的第i个纯策略;x表示混合群体的混合策略组合,f(sji,x)表示混合群体状态为x时群体j中个体选择纯策略sij时所能得到的期望支付;f(xj,x-j)表示混合群体的平均支付。
多群体模型并不是对单群体模型的简单改进,由单群体到多群体涉及到一系列的如均衡及稳定性等问题的变化。Selten证明了“在多群体博弈中演化稳定均衡都是严格纳什均衡”的结论,这就说明在多群体博弈中,传统的演化稳定均衡概念就显示出其局限性了。
1.2 发电商竞价行为的演化博弈模型
为说明问题简单起见,本文将电力市场中参与竞价的机组根据机组性能分成两类(可以拓展到两种以上类型的情况。只是增加了数学模型的分析难度[14]),每一类作为一个群体与其他群体进行博弈,即考虑的为2×2非合作重复博弈,其阶段博弈的矩阵式表述如表1。其中,p和1-p分别表示发电商A在一次博弈中采取策略A1和A2的概率,q和1-q分别表示发电商B采取策略B1和B2的概率(其中:概率也可以解释为群体博弈中选取该策略的发电商比例)。
其中:aij(i,j=1,2)表示为发电商A中的个体支付;bij(i,j=1,2)表示为发电商B中的个体支付;由于博弈是非对称的,有aij≠bij(i,j=1,2)。
值得注意的是,这里并不需要假设阶段博弈的支付参数a11,a12,a21,a22,b11,b12,b21,b22对两个发电商构成共同知识。实际上,发电商甚至可以不知道自己的支付参数,他们只需对既往的对局结果加以统计便可以得到上述各种平均支付水平的有关信息。因此这里的博弈参数仅供研究者用来做比较静态分析以及对经济行为进行预测时使用。
假设发电商的理性层次较低、学习速度较慢,他们只是简单地依据过去多次博弈之所得而调整各自对两种策略的选择概率,这种动态调节机制类似于生物进化中生物性状和行为特征的动态演化过程的“复制动态”。如果统计结果表明某一特定策略的平均支付高于混合策略的平均支付,则他将倾向于更多地使用这种策略,假设其使用频率的相对调整速度与其支付超过平均支付的幅度成正比,则A、B对p和q的调整方程为:
令a1=a12-a22,a2=a21-a11,b1=b21-b22,b2=b12-b11,将式(2)和式(3)化简,则得到如式(4)所示的动态系统:
一般地,我们称其为动态复制系统。
1.3 发电商竞价过程的演化稳定性分析
显然,对任意的初始点(p(0),q(0))∈[0,1]×[0,1],有(p(t),q(t))∈[0,1]×[0,1],因此动态复制系统的解曲线上任意一点(p,q)均对应着演化博弈的一个混合策略偶((1-p)⊕p,q⊕(1-q))。很显然这个动态系统有五个均衡点,即:
该动态系统的雅可比行列式如下:
依次分析上述5个局部平衡点对应的雅可比矩阵特性,若该平衡点是稳定的,即为系统的演化稳定策略,判别标准为[15]:(1)局部平衡点对应的雅可比矩阵的行列式大于零且其迹小于零时,该局部平衡点是渐进收敛的;(2)当该矩阵的行列式大于零,且矩阵的迹等于零时为焦点;(3)当该矩阵的行列式小于零时,则为鞍点。
2 算例分析
设区域电力市场中有6个有限理性的火力发电商,容量不同的两类发电机组进行竞价。设市场中交易电价的上限价格为300元/MWh,下限价格为100元/MWh,发电商上网报价最多允许5段,中标的发电商按照其报价进行结算。机组i的报价策略可以转化成求收益最大化的问题:
目标函数:max Ui=R·Pi-Ci(Pi)
式中:Ui为机组i的收益函数;R为市场出清价格(单位:元);Pi为发电厂i的出力或发电量(单位:MW);Ci(Pi)为发电厂i的成本函数(单位:元/h)。
约束条件:Bi(Si,Pi)=R且
式中:Bi(Si,Pi)为每个发电商向交易中心提供的报价曲线函数;Si为机组i的报价策略向量;Q为市场需求(单位:MW)。
设第一类发电机组竞价容量段为[200 MW,500 MW],发电成本函数为:
此时,发电商采取方案A和方案B两种报价方案,如表2所示(单位:容量段/MW,价格/(元/h))。
设第二类发电机组竞价容量段为[80 MW,220 MW],发电成本函数为:
此时,发电商采取方案C和方案D两种报价方案,如表3所示(单位:容量段/MW,价格/(元/h))。
根据以上报价方案构造如表4所示竞价收益矩阵。
值得注意的是,这里并不需要假设上述收益矩阵中的结果对各发电商构成共同知识。实际上发电商甚至可以不知道自己的收益参数,他们只需对既往的价格结果加以统计便可以得到上述各平均收益水平的有关信息。
设第一类发电商中采用报价方案A的机组比例为p,则采用报价方案B的机组比例为1-p;设第二类发电商中采用报价方案C的机组比例为q,则采用报价方案D的机组比例为1-q。
对于第一类发电商来说,在采用两种不同报价方案的发电商期望得益u11,u12及第一类发电商的平均得益u1为:
于是可知第一类发电商的复制动态方程为:
对于式(9)来说,当q=0.082时,复制动态方程始终为0,即博弈处于稳定状态。而当q≠0.082时,有p=0和p=1两个稳定状态,其中:当q<0.082时,有F′(0)<0,F′(1)>0,即p=0是演化稳定策略;当q>0.082时,有F′(0)>0,F′(1)<0,即p=1是演化稳定策略。图1中的三个相位图分别给出了上述三种情况下p的动态趋势及稳定性。
同理可得第二类发电商的复制动态方程为:
对于式(10)来说,当p=0.269时,复制动态方程始终为零。即博弈处于稳定状态;而当p≠0.269时,有q=0和q=1两个稳定状态,其中:当p<0.269时,有F′(0)>0,F′(1)<0,即q=1是演化稳定策略;当p>0.269时,有F′(0)<0,F′(1)>0,即q=0是演化稳定策略。图2中的三个相位图分别给出了上述三种情况下q的动态趋势及稳定性。
进一步对于上述两类发电商群体类型比例变化的复制动态关系用一个坐标平面图表示,如图3所示。由图3的箭头方向可以看出,(p=0.269,q=0)和(p=0.269,q=1)分别是此博弈的演化稳定策略,当初始情况位于A、B区的时候博弈会收敛至(p=0.269q=1);当初始情况位于C、D区的时候博弈会收敛至(p=0.269,q=0)。
由本算例的结果可知,发电商采用多群体复制动态演化博弈模型进行分析,通过对竞价历史数据的统计分析处理,可以定量地计算出市场中的竞争对手的策略走向,从而可以调整本身的报价策略以寻求最大利益。
3 结束语
模型复制 篇4
鸡对有机磷具有较强的敏感性, 如果鸡驱虫时选择使用有机磷农药, 则极易导致鸡中毒;如果鸡误食含有有机磷农药的种子或作物的量过多时, 也可发生中毒现象。为了呈现典型的动物有机磷中毒模型[1], 并完全了解与其相关的临床表现和诊疗过程, 为有机磷农药中毒对机体某些生理生化指标的影响提供依据, 特进行了该试验。现将其总结如下。
1材料与方法
1.1试验材料
供试试剂:AchE试剂盒由南京建成生物医药有限公司提供;LDH (乳酸脱氢酶) 试剂盒由中生北控生物科技股份有限公司提供;30%敌百虫由河北新丰农药化工股份有限公司提供, 使用时用花生油稀释至10%敌百虫混悬液;解磷定注射液由上海旭东海普药业有限公司提供;硫酸阿托品注射液由天津药业集团新郑股份有限公司提供;生理盐水。供试仪器:全自动生化分析仪及其他实验室常规仪器。供试动物为三黄肉鸡母鸡12只。
1.2试验方法
选取临床健康的体质量为 (0.80±0.05) kg的母鸡, 分为对照组和试验组, 每组各6只。提供正常的饮食饮水, 待试验动物适应实验室环境2 d后进行试验。动物模型建立:首先为胆碱酯酶活力测定[2]做好准备, 于接毒之前采集鸡翼静脉血。试验组的鸡只处理为经口灌服10%敌百虫混悬液, 用量为2 mL/kg体重, 对照组的鸡只处理为经口灌服生理盐水, 用量为2 mL/kg体重。处理后, 及时监测鸡只的体温、呼吸、心率、精神状况、可视黏膜色泽、瞳孔大小、肌肉震颤、流涎、排粪等内容。等鸡只表现出症状后, 再次采集鸡翼静脉血, 测定胆碱酯酶活力。当病理模型复制成功后给予阿托品和解磷定进行抢救, 针对鸡只的不同表现做好记录。数据表示方法为平均值±标准差 (±SD) , 各组间的差异显著性利用SPSS统计分析软件进行比较。
2结果与分析
试验组在投服敌百虫混悬液13 min后, 鸡只出现活动减少、精神沉郁的症状;18 min后, 出现共济失调, 全身肌肉震颤, 步态凌乱, 身体不能保持平衡, 俯地不动, 没有食欲, 吞咽频繁, 口角有大量液体流出, 心跳加快, 呼吸次数变多, 且开始困难, 腹泻较重, 粪便中含血, 有些腿关节水肿等症状;26 min后, 出现惊厥和呼吸麻痹症状。试验组与对照组鸡的呼吸、心率指标呈极显著差异水平 (P<0.01) , 体温升高, 但差异不显著 (P>0.05) ;试验组与对照组的鸡全血胆碱酯酶呈极显著差异水平 (P<0.01) (表1) 。
注:同列上标不同小写字母表示组间差异显著 (P<0.05) 。
3结论与讨论
试验结果表明:鸡有机磷中毒主要表现为精神沉郁, 共济失调, 口角大量流涎, 呼吸困难, 严重腹泻和粪便带血等临床症状。检测到试验组胆碱酯酶活性显著低于对照组, 但乳酸脱氢酶活性值升高。有机磷农药进入体内后, 其中的磷元素与胆碱酯酶的酯解部位的丝氨酸的羟基以共价键形式进行结合, 形成磷酰化胆碱酯酶, 且无法还原为胆碱酯酶, 导致乙酰胆碱无法分解, 使其在体内不断蓄积。虽然试验鸡只产生的症状及程度存在很大的差异, 但基本上都是因为胆碱能神经被乙酰胆碱过度刺激, 从而表现出的过度兴奋现象。临床上将其分为毒蕈碱样症状、烟碱样症状、中枢神经系统症状等3类症候群, 其中毒蕈碱样症状包括食欲差、流涎、呕吐、腹痛、多汗、腹泻、尿失禁、瞳孔变小、呼吸存在问题、可视黏膜苍白、支气管分泌增多和肺水肿等现象, 烟碱样症状包括肌纤维颤抖、血压升高、肌紧张度变弱和脉博频数等[3]现象, 中枢神经系统症状包括病畜精神不稳、体温上升和抽搐, 甚至昏睡等现象。本试验鸡在攻毒之后, 其体内胆碱酯酶活性的正常水平的活性都迅速下降, 出现了明显的变化。因此, 传统上一般利用胆碱酯酶的活性作为有机磷农药中毒的判断依据, 中毒早期就可表现为很快下降而且恢复慢[4]。发生有机磷中毒的鸡不能够站立, 这主要是受碱性磷酸酶的活性下降而导致的神经毒性作用的影响所致。在发现有出现机磷中毒样症状后, 宜及早进行特效解毒, 以及时除去未被吸收的毒物胆碱酯酶复活剂:一是选择使用解磷定、氯磷定, 用量以10~30 mg/kg体重为宜, 使用方法是用生理盐水配成2.5%~5.0%溶液缓慢地进行静注, 每2~3 h注射1次, 剂量减半。二是选择双复磷、双解磷, 用量以减半为宜, 使用方法相同。三是选择乙酰胆碱拮抗剂, 硫酸阿托品。四是中毒严重的鸡只, 选择用其1/3的量加入葡萄糖盐水内进行缓慢静注, 另2/3的量以皮下或肌肉注射方式进行, 如果症状在用药后1~2 h未好转, 可减少用量再次使用[5,6]。鸡只注射硫酸阿托品后, 要提供充足的饮水。
摘要:通过给试验用鸡喂入敌百虫, 造成其有机磷中毒, 并观察在有机磷中毒情况下, 试验用鸡的临床表现、典型病理及生理指标的变化。试验结果表明:鸡有机磷中毒主要表现为精神沉郁, 共济失调, 口角大量流涎, 呼吸困难, 严重腹泻和粪便带血等临床症状。检测到试验组胆碱酯酶活性显著低于对照组, 但乳酸脱氢酶活性值升高。
关键词:鸡,有机磷中毒,模型,复制,生理指标
参考文献
[1]沈伽弟.胆碱酯酶的基础与临床研究进展[J].军事医学科学院院刊, 2000, 24 (4) :295-301.
[2]夏成, 李欣, 刘佳明.鸡有机磷农药中毒试验的研究[J].黑龙江八一农垦大学学报, 2002, 14 (4) :45-47.
[3]何凤生.我国杀虫剂中毒防治研究的进展和展望[J].中华劳动卫生职业病杂志, 2001 (4) :241-242.
[4]许冬梅, 李昆, 迟兆富.有机磷中毒后迟发性神经病的临床及CT观察一例报告[J].中华神经科杂志, 2002 (4) :223.
[5]刘艳卉, 杨君宁, 傅童生.鸡实验性急性有机磷中毒血清酶活性变化分析[J].畜牧兽医杂志, 2005, 24 (4) :1-2.
模型复制 篇5
1 去势骨质疏松动物模型的复制
去势造模方法可分为雌性切卵和雄性去势两种。
1.1 雌性切卵模型的复制
该模型是Saville[1]于1969年首先建立,现在已经成为研究原发性骨质疏松症的常用模型。常用的动物有大鼠、小鼠、兔、羊等。
实验用大鼠多为远交系SD、Wistar大鼠,有研究者用3月龄雌性SD大鼠,行双侧卵巢切除术,术后2个月[2]、3个月[3]、4个月[4]取材检测,结果都出现了骨量丢失。6月龄雌性SD大鼠,切卵3个月后也出现高转换型骨质疏松[5,6]。SD大鼠3~6月龄骨骼处于缓慢增长阶段,变化较小,6~12月龄时骨密度与骨钙含量变化最小,到12月龄(骨密度变化不明显)骨代谢指标达到坪值水平[7],但也有用14月龄雌性SD大鼠切卵复制骨质疏松模型的报道[8]。12月龄以后,因其骨密度变化不明显加之大鼠趋于老龄,故不宜用于复制绝经后骨质疏松模型。SD大鼠在3月龄时性腺及内分泌系统才完全发育成熟,肌肉骨骼基本成型,故作者认为选用3~6月龄作为模型复制的起始年龄较为适合。
3月龄Wistar大鼠切卵56天后骨密度差异明显,8月龄切卵28天后差异明显[9]。鲍加荣等[10]发现4月龄切卵11周骨密度差异明显。6月龄[11]、9月龄[12]、12月龄[13]的雌性Wistar大鼠分别在切卵后2个月、3个月,4个月后出现骨质疏松,但Wistar大鼠前3个月骨矿含量、骨密度增长迅速,3个月后增长缓慢,至8个月基本稳定,故选用3~8月龄Wistar大鼠更为适宜。
用小鼠复制绝经后骨质疏松症动物模型的报道较少,有研究[14]选用30~35g雌性昆明小鼠,切卵后4个月复制成骨质疏松模型。新西兰雌性大白兔也可通过切除双侧卵巢,来复制绝经后骨质疏松模型,实验中多采用5月龄大白兔[15,16],此时兔相当于人的生长发育成熟期,骨骼等已发育成熟。山羊常被用作复制骨质疏松动物模型的大型动物,有报道用1.5岁左右雌性成都山羊切卵,术后2个月即出现轻度骨小梁减少,4月到6月呈典型的骨量减少病理学改变[17]。李亚男等[18]以5岁和7岁雌性绵羊各一只(均为生育哺乳期后)行卵巢切除术,6个月后腰椎骨密度下降,血碱性磷酸酶、钙、骨钙素升高。由于该模型的报道较少,且样本量过小,尚不能确定复制模型的最佳时机和模型复制成功所需的时间。
在选择雌性动物做卵巢切除术时,应注意是否孕产过,已产仔动物因其在孕期和哺乳期对钙的过度需求,抑制了骨骼的正常发育,多伴有骨骼生长发育迟缓,大鼠在10~12个月时才达到峰值骨量,其它动物骨峰值具体时间虽未见报道,但与未经孕产相比差异较大。
模型形成机制:雌激素对骨代谢的作用主要表现为抑制骨吸收,雌激素可抑制成骨细胞产生白介素-1、白介素-6、肿瘤坏死因子等刺激破骨细胞增殖、分化和活化的细胞因子。卵巢切除后,由于雌激素水平迅速下降,使其促成骨细胞成熟作用减弱,成骨细胞生物活性降低,凋亡加速;致使对破骨的抑制作用减弱,破骨细胞功能活跃,将骨组织不断从骨小梁表面降解、吸收,由成骨细胞形成的新骨数量难以弥补破骨细胞所形成的骨陷窝;骨转化率增快,骨吸收、骨形成皆增加,最终出现高转换型骨质疏松[19]。
1.2 雄性去势模型的复制
许多动物(如小鼠、豚鼠、大鼠、兔、狗)睾丸切除后均会导致骨量减少,男性骨质疏松的动物模型主要采用雄性去势大鼠。
黄洪等[20,21]将15周龄雄性SD大鼠切除双侧睾丸,5个月后其骨代谢呈现出低骨形成合并高骨吸收的特征,而14月龄雄性SD大鼠去势4个月后出现高转换性骨质疏松[22],可见睾丸切除对生长期(3月龄左右)及成熟期(6~12月龄以后)大鼠骨骼的影响不同,生长期大鼠睾丸切除后骨量减少主要是由于峰值骨量的积累减弱,而成熟期大鼠术后则出现骨量的净丢失增加[23]。梁晓萍等[24]将雄性SD大鼠分为基础对照组(3.5月龄)、年龄对照组(6.5月龄)和去睾丸组(6.5月龄),3个月后处死取材,得出基础对照组(6.5月龄)与年龄对照组(9.5月龄)大鼠骨密度无差异,与上述结论一致。此外老龄雄鼠去势后造成的骨量减少涵盖了增龄和去势的双重作用,在选择模型时应根据具体情况取舍。
对雄性Wistar大鼠去势研究也较多,有采用3~4月龄雄性Wistar大鼠[25],也有用5~6月龄雄性Wistar大鼠[26],睾丸切除术3.5~4.5个月后均可出现骨质疏松的改变。在手术时应注意勿损伤附睾,并在睾丸取出后将附睾放回阴囊。
模型形成机制:雄激素的缺乏可影响调控骨代谢的细胞因子的平衡,导致骨形成降低和骨量丢失。雄激素作用于骨有两种方式:①直接刺激成骨细胞上的雄激素受体,抑制骨髓腔中破骨细胞的分化和生成,并促进皮质骨内膜下成骨;②雄激素经芳香化酶作用转变为雌二醇,然后与破骨细胞内的雌激素受体结合,从而抑制骨吸收[27]。雄激素的不足亦可减少降钙素的分泌,从而导致破骨细胞活性增加[28]。长期雄激素缺乏能诱导骨质疏松症可能与其减少对成骨样细胞的直接作用和降钙素间接影响破骨细胞有关。
有研究者在去势(切卵)后加其它处理如:低钙饮食、限制食量、药物干涉(如肌注皮质激素)等,这样复制的模型虽然会较早出现骨质疏松症状,但病因复杂对研究工作不利,故不提倡使用。
2 自然衰老模型的复制
自然衰老动物与老年性骨质疏松形成机理类似,但因其动物较难购买,而且在饲养过程中死亡率高,故较少被使用。张玉辉等[29]采用18月龄雄性SD大鼠,以6月龄大鼠为对照组,药物治疗12周后取材,血清ALP、骨钙蛋白增高,尿羟脯氨酸∕Cr、尿Ca∕Cr、P∕Cr升高。大鼠寿命为2.5~3年,1.7年左右才进入老年期,人类老年性骨质疏松症多在70岁左右发生,从模型的形成机理上讲,与老年性骨质疏松较接近。
Senescence-accelerated mouse prone 6(SAMP6,简称P6)为自发老年性骨质疏松模型[30],是目前仅有的一种能证明增龄性骨脆性骨折的动物,具有低峰值骨量、低骨密度及随增龄表现出骨量减少伴成骨细胞形成减少等特点。P6与其它同源近交系鼠一样,骨随生长发育而逐步成熟,在4月龄达到峰值骨量,但峰值骨量较其他品系低;以后骨量逐渐丢失,骨强度降低,硬度加大,抗变形能力及抗骨折能力差。这些特点与老年性骨质疏松患者低骨密度、低骨强度的病理表现非常相似。
与其它诱发各种骨质疏松模型动物相比,P6具有明显的优势:属近交系,遗传背景稳定均一,骨解剖和生理机能变异较小;繁殖快,可进行较大量重复实验;骨生物学特性与人类非常近似;有关P6生理、生化、形态及药理学等方面的实验资料比较丰富,有利于进行研究和比较以阐明骨质疏松的病理机制。
模型形成机制:P6的低骨量是由于成骨细胞生成减少所致,而骨髓中的肥大细胞在老年性骨质疏松发病中起重要作用。激活蛋白-1(AP-1)活性减少及由此引发的白细胞介素(IL)-11表达下降,可能是P6骨形成减弱的原因之一[30]。
复制原发性骨质疏松动物模型在研究其发病机理、探讨防治措施和开发新药中均有重要作用。无论选择何种动物复制模型,首先要考虑动物的年龄和它的平均生存期,其次考虑成本和其它因素,如已经发表的组织形态学正常值、生殖生理、营养饮食情况和胃肠道吸收情况等。
利用模型动物对治疗药物进行疗效评价时,治疗时间长短要考虑动物的骨重建周期,人骨重建周期为3~4个月,因此治疗骨质疏松症的药物至少以3个月为1个疗程,但成年大鼠骨重建周期为30~40天。理论上在确定模型复制成功后进行1个月的药物干预即可,因药物干预又分为预防和治疗两种方法,所以选择恰当的干预时间点更有利于药效的讨论。
模型复制 篇6
1 材料和方法
1.1 动物及分组
健康Wistar雄性大鼠100只,清洁级,体重140~170g。浙江中医药大学动物实验中心提供。按随机数字法分为正常对照组、单纯CAG组、脾虚CAG组、肝郁CAG组和湿热CAG组5组,每组20只。
1.2 主要仪器和试剂
GNP-9080型隔水式恒温培养箱:中国上海。润华VN-88型超声雾化器:武汉自动化仪器厂。TMWS-B1型电子湿温度表:天津市天马仪器厂。N-甲-N-硝基-亚硝基胍(MNNG):上海化学试剂公司。无水乙醇:分析纯,临用时按比例稀释到浓度为40%的溶液。生大黄:杭州胡庆余堂。肾上腺素:1mg/ml,武汉制药集团股份有限公司。
1.3 干预用药
药物干预用药参考2003年中国中西医结合学会消化系统疾病专业委员会制订的《慢性胃炎的中西医结合诊治方案(草案)》[1]的协定处方。各号中药处方均由浙江省中医院制剂室制备,浓度为1g/ml,灭菌封装,4℃冰箱保存备用。
1.4 CAG证病结合模型的制作
具体方法参考文献[2,3,4],并加以改进。
1.4.1 MNNG饮液的配备
每3天用电子分析天平称取MNNG2g,以蒸馏水2000ml稀释配成浓度1mg/ml的保存液,4℃冰箱避光保存。每日把保存液稀释浓度为100μg/ml作为各CAG模型组大鼠的饮水。
1.4.2 单纯CAG模型的建立
各组大鼠适应性饲养1周,除正常对照组正常饮水外,其余各组大鼠自由饮用上述MNNG的稀释液,饮水瓶外用黑色漆漆过以避光,每日更换此饮液,共10周。同时用40%的乙醇灌胃,2ml/只,每周1、4各灌胃1次,共10周。
1.4.3 证病结合CAG模型的建立
在CAG模型复制的同时,脾虚CAG组第7周开始采用苦寒泻下加饥饱失常法建立脾虚证候模型。大鼠每天灌胃生大黄煎剂,浓度为1g/ml,20ml/kg·d-1,1次/d;同时采取单日禁食,双日足量喂食,连续4周。肝郁CAG组第7周开始采用钳子夹大鼠尾部,使之保持激怒、打斗状态,30min/次·d-1;同时每7天0.1%肾上腺素腹侧皮下注射1次,0.1ml/只·次-1(含肾上腺素0.1mg),共4次,造模4周。湿热CAG组第7周开始撤除普通饲料,换用高糖高脂饲料(10%猪油、20%蔗糖、2%胆固醇、1%胆酸钠、67%普通饲料)喂养大鼠;同时每天将大鼠置入造模箱内(恒温干燥箱内置超声雾化器和湿温度表),调节箱内温度(33±2)℃,相对湿度(95±3)%,2h/次·d-1。造模4周。
1.5 药物干预
造模10周后,各组处死1/2大鼠,余下大鼠在继续采用造模方法刺激的基础上,采用相应中药灌胃[1](2ml/100g大鼠体重灌胃,1次/天),疗程4周。疗程结束后处死全部大鼠。
1.6 标本的采集和处理
分别于造模10周时和药物干预后,各组取10只大鼠,剖取胃组织。将整个胃组织投入到4%多聚甲醛磷酸盐缓冲液中固定24小时。常规脱水,石蜡包埋,4μm厚度连续切片,苏木素-伊红(HE)染色。
1.7 观测指标及测定方法
1.7.1 一般情况和体重变化
观察大鼠饲养过程中的精神状况、活动情况、毛发、食欲及大小便性状等。同时观察大鼠饲养过程中的体重变化。
1.7.2 胃标本大体观察
观察胃黏膜的色泽、弹性、皱襞、黏液多少等大体情况。
1.7.3 病理组织学观察
胃黏膜炎症情况:慢性炎症根据慢性炎症细胞的密集程度和浸润深度分级,分度标准参考文献[1]。胃黏膜厚度:借助显微镜下测微器,在每张HE染色切片取5个高倍视野,计算胃黏膜厚度的平均数。
1.8 统计学处理
计量资料以均数标准差(s)表示,多组之间比较采用单因素方差分析,多组之间两两比较采用q检验,配对资料采用t检验。计数资料用Ridit分析。
2 结果
2.1 各组大鼠的一般状况
正常组大鼠精神好,行动敏捷有力,刺激其反应灵敏,摄食良好,被毛密集有光泽,紧贴身体,肌肉发达健壮富有弹性,大便干燥成颗粒。单纯CAG组大鼠精神状态较差,刺激其反应较迟钝,行动懒散,食量减少,被毛光泽度较差。脾虚CAG组大鼠精神萎靡不振,倦怠乏力,喜眯眼,喜扎堆,喜静卧,刺激其反应极差,行动迟缓,食欲明显减退,形体瘦小,骨骼显露,毛发疏松枯黄无光泽,并易脱落,肛门污秽,大便稀溏;肝郁CAG组大鼠精神亢奋,易激惹,稍加刺激前肢离地站立,缩尾反应,夹其尾部,鼠站立呈对峙状,甚者相互撕咬,大便时溏,5天后随着刺激次数增加,大鼠间剧烈撕咬减弱,饮水食量减少,身倦,毛发变暗,枯黄;湿热CAG组大鼠精神不振,疲乏无力,行动懒散,喜扎堆,被毛蓬松发黄,形体消瘦,食欲减退,大便时溏时结,小便量少,色黄。单纯CAG组随着造模时间的延长,食量愈来愈少,精神状态更差,行动迟缓,倦怠无力,毛发杂乱无光泽。各证病结合CAG模型组大鼠经药物干预后食欲明显增加,活动增加,灵敏性均较干预前明显改善,毛发光泽度明显增强。
2.2 各组大鼠体重变化的比较
见表1。
与正常对照组比较*P<0.05,**P<0.01;与脾虚CAG组比较▲P<0.05,▲▲P<0.01;与药物干预前比较★P<0.05,★★P<0.01(下同)
2.3 各组大鼠胃黏膜的病理形态学观察
2.3.1 肉眼所见
正常对照组大鼠胃黏膜呈粉红色,有光泽,被覆较多黏液,黏膜皱襞表面光滑,走向规则,胃壁弹性良好;单纯CAG组、脾虚CAG组、肝郁CAG组、湿热CAG组大鼠胃壁弹力减弱,黏膜菲薄,色泽苍白,表面黏液少,皱襞平坦或走向紊乱,部分标本胃窦可见程度不同的黏膜点状或灶状糜烂,但未见明显颗粒样增生结节。
2.3.2 光镜所见
正常对照组大鼠胃黏膜上皮除偶见炎性细胞浸润固有层外,细胞排列整齐,腺体形态规则,大小一致。造模10周时,各模型组大鼠胃黏膜固有层有不同程度的淋巴细胞和浆细胞浸润,腺上皮萎缩,腺体变小,腺体数量减少,胃黏膜厚度变薄。造模14周时,单纯CAG组黏膜固有层有大量淋巴细胞和浆细胞浸润,腺上皮萎缩较10周时更重,腺体变小,腺上皮中杂有不少杯状细胞。药物干预后,证病结合组大鼠胃黏膜固有层淋巴细胞和浆细胞浸润有不同程度的减轻,萎缩程度亦有明显改善。
2.3.3 各组大鼠胃黏膜细胞炎症程度的比较
见表2。
2.3.4 各组大鼠胃黏度厚度的比较
见表3。
3 讨论
国内已有少数学者对在单纯CAG疾病模型的基础上,对CAG大鼠进行了证病结合模型制作的研究[5,6,7,8]。本文在复制CAG证病结合模型时,基本上也分为两个层面,一是CAG疾病模型的复制,二是中医证候模型的复制,二者有机的结合,尽可能使CAG证病结合模型符合临床实际。
3.1 大鼠CAG疾病模型的评价
本实验以化学致癌剂MNNG作为工具药,主要是模拟人不当摄入硝酸盐在胃内转化为亚硝酸胺等致癌物质。刘卫等[9]研究发现,MNNG可能是通过损伤DNA诱发脂质过氧化或导致Ras、p21而诱导胃黏膜上皮细胞恶性转化。酒精是常用的辅助促发胃癌前期病变的药物。王炳元[10]等用乙醇直接灌胃造模结果发现,长期持续乙醇刺激胃黏膜可发生腺体萎缩,同时炎性细胞浸润的种类随时间的推移有明显不同。本实验采用MNNG和酒精两种因素成功地复制了大鼠CAG疾病模型。病理检查发现:各模型组大鼠胃黏膜腺体排列紊乱、稀疏,腺体数目和厚度降低,固有膜中各种炎症细胞浸润(主要是淋巴细胞和浆细胞),胃黏膜厚度变薄,黏膜肌层增厚,病理表现完全符合萎缩性胃炎诊断标准。
3.2 大鼠CAG证病结合模型中医证候学的评价
苦寒泻下法是最常用和经典的脾虚证造模方法,根据中药苦寒伤脾胃的理论而制作。夹尾加肾上腺素注射法兼备情绪刺激和药物两方面因素,是较为理想的肝郁证造模方法。高脂高糖饮食加人工气候模拟是目前常用的脾虚湿热造模方法。以上方法复制的脾虚、肝郁和湿热证CAG模型的表现,与临床各证的表现基本相符。
本研究还发现,不同证型的慢性萎缩性胃炎大鼠胃黏膜炎症和萎缩程度存在差异。脾虚CAG组大鼠胃黏膜炎症和萎缩程度明显重于肝郁CAG组和湿热CAG组大鼠,肝郁CAG组和湿热CAG组大鼠胃黏膜炎症和萎缩程度差异无显著性,说明CAG大鼠胃黏膜炎症和萎缩程度与GAG证候有一定的相关性。经过药物干预后,各证病结合模型组大鼠胃黏膜炎症和萎缩程度都有明显的改善,这也从另外一个角度反证了证病结合模型的成功建立。
参考文献
[1]中国中西医结合学会消化系统疾病专业委员会.慢性胃炎的中西医结合诊治方案草案.中国中西医结合杂志,2005,(2):172.
[2]谢晶日,王海强,王静滨.胃炎冲剂对慢性萎缩性胃炎大鼠胃黏膜影响的实验研究.中国中医药科技,2006.13(5):311.
[3]崔儒涛,蔡淦,杨秋泓,等.养胃冲剂治疗慢性萎缩性胃炎的实验研究.中国医药学报,1998,13(6):32.
[4]赵霞,潘华峰,鞠晓云,等.胃痞消对慢性萎缩性胃炎脾虚证大鼠胃黏膜上皮细胞增殖及调控蛋白CyclinE影响的研究.中国中医药科技,2006,13(1):9.
[5]陈爽白,常淑枫,肖照岑,等.湿热证大鼠模型的复制及三仁汤对其影响的实验观察.天津中医,2002,19(2):38.
[6]须惠仁.肝郁证的动物实验研究-激怒刺激对大白鼠血液流变学的影响.中医杂志,1991,32(6):44.
[7]范英昌,张斌,胡利明,等.大鼠脾气虚型慢性萎缩性胃炎动物模型的实验研究.天津医药,1994,22(2):86.
[8]陈小野,邹世洁.大鼠CAG证病结合模型的造模方法和思路.实验动物科学与管理,2002,19(3):35.
[9]刘卫,房殿春,梁后杰,等.甲基硝基亚硝基胍诱导人胃黏膜上皮细胞恶性转化的观察.第三军医大学学报,1996,18(4):330.
模型复制 篇7
JPF的基本工作原理是从被检测对象中筛选出少量的状态等价于原系统,然后交给JVM检测,再对不符合系统性质的检测结果,JPF可以用不同的方式显示错误路径及性质违例。JPF有三种不同的输出方式:分别是JPF报告系统(Reporting System)、JPF日志和应用输出。
JPF中的整个设计重点基本是JVM和Search对象,JVM的功能相当于状态生成器,在执行过程中,首先JVM生成模型检测使用的程序状态,同时JVM中的三个重要的方法:Forward()表示下一个状态、Backtrack()存储回溯栈中的上一个状态和Restore State()存储一个任意状态,控制程序状态;Search的功能相当于是JVM的驱动,筛选出供JVM处理的状态,告诉JPF虚拟机在状态空间中是前进还是后退,同时具有性质验证器的功能。
2 JPF的关键技术
在检测过程中,JAVA程序状态一般包括三部分,分别是对象的动态变量、类的静态变量和每个线程的信息。由此可见,JAVA程序的状态数量一般都是很大,在解决严重的状态爆炸问题方面,JPF使用了启发式路径选择生成器、on-the-fly偏序规约、主机VM执行、状态抽象、静态分析、对称规约和符号执行等一系列的解决方案。
偏序规约(Partial Order Reduction)方法是利用行为的独立性(Independence)来减少并行系统模型检测中的状态空间爆炸问题。因此,在算法中只需要考虑其中的一种状态而忽略另一种状态,状态S通过这种方式可以转换成比较小的另一个状态S',在执行状态空间遍历时,只需要选择合适并具有代表性的状态集代替全部状态集,从而达到减少状态数量。
近年来,在模型检测中经常用对称(Symmetry)方法来避免状态爆炸问题,对称方法主要是利用了系统中的对称结构来进行状态精简的。在JPF中,把对称方法和偏序规约技术结合形成对称规约技术,它的基本思想是,在模型检测过程中对系统中需要进行性质验证的状态形成等价状态,只需要检测这些等价状态中的一个就可以了。假设一个并行系统中,行为集A={xi,yi,zi,ni},状态集S={Ni,Ti,Ci}。形成的完整系统状态转移如图1所示。注意到,图1中存在明显的对称关系,使用对称规约可以得到如图2所示的新的状态转移图。同时,行为y、z是独立的,可以使用偏序规约对系统作进一步的状态精简,从而得到与原系统等价的状态较少的状态空间,如图3所示。
3 基于JPF的Eclipse模型检测平台实现
JPF不仅可以实现对Java程序的模型检测功能,它还提供了很强的程序扩展功能。本文使用JPF的Eclipse的PDE来进行JPF插件的开发,使用PDE提供工程向导,新建一个Eclipse Plug-in项目。
3.1 分析插件要实现的功能,标识需要进行添加的扩展点
plugin.xml是插件和Eclipse内核的接口,它提供的扩展点非常多,常见的扩展点有透视图(perspectives)、视图(views)、编辑器(editors)、首选项(preference Pages)、帮助(toc)和上下文帮助(context)。需要为每个class关联一个配置文件(后缀为.cjp),通过读取cjp文件的配置信息,使用JPF来检测目标class文件。首先在工具栏中设计一个按钮来启动插件的配置对话框,用于配置和管理被检测类的配置文件,然后还需要专门的面板来并显示检测的结果。
3.2 根据扩展点的规范来实现这些扩展
新建一个类MyJpfButtonAction,实现接口IWorkbench Window Action Delegate,然后在run()方法中添加实现打开配置对话框的代码。
然后,需要定义两个视图,一个用于管理配置需要验证的文件,另一个用来显示验证的结果。作为view的扩展,它必须继承ViewPart类,将它们分别命名为OutputView和TopicView。让他们重载父类的create Part Control()方法,来设计各自的面板内容。在OutputView中,设计一个列表来显示线程选择信息,当用户点击某个线程时,在右边显示线程检测的详细信息,为了实现此功能,让OutputView类实现JFace的一个视图UI接口ISelectionChangedListener。
添加一个右键菜单项,新建两个类JavaClass LaunchAction和RunJpfAction,实现接口IObject Action Delegate。在Java Class Launch Action的run()方法中使用IProject和IFile来为class文件创建配置文件,并初始化配置文件的内容。在Run Jpf Action的run()方法中调用JPF来完成指定文件的检测工作。
3.3 编辑plugin.xml文件
PDE为插件清单文件plugin.xml提供了专门的插件清单编辑器。PDE中的插件编辑器为多页编辑器,其中包括概述、依赖项、运行时、扩展、扩展点、编译、MANIFEST.MF、plugin.xml和build.properties等,可在每个配置页面中为其定制相关的属性。为每一个扩展点添加一个
调用JPF来执行检测功能,需要设计一个专门的类来完成此项工作。新建一个类VerifyJob,继承Eclipse的核心类Job,该类包含4个主要属性:IFile变量来存储配置文件信息,Config变量来自JPF的配置类,布尔型变量step指示是否单步执行,PrintStream变量用于输出。根据默认的配置文件和用户自定义的配置文件,生成JPF的Config对象,然后在Verify Job的run()方法中使用Config对象构造一个JPF对象,最后执行JPF的run()方法。自定义一个监听器,用于检测并输出JPF的检测结果,然后通过调用JPF的add Search Listener()和addVMListener()方法,将该监听器添加到当前的JPF对象中去。
3.4 插件测试、打包与发布
PDE提供了很方面的测试、调试手段。每添加一次代码,就可以通过在插件项目上点击鼠标右键,选择”Run As Eclipse Application”来测试新插件的功能效果。当然,最终的测试,需要将打包发行后的插件安装到Eclipse中来观察插件的工作情况。
插件项目在打包时,仅将src源文件对应的编译文件打成一个jar包。其它文件如xml、图像文件等都需要手工复制到打包目录下。可使用Eclipse导出功能,或Ant来打包插件。
Eclipse还可以通过新建一个Update Site项目的方法,将新的插件以网页的形式发布出去。利用建立Update Site项目向导,最终会形成一个web目录,该目录下包含了你要发布的plugins和features文件夹,另外还有一个site.xml文件和一个index.html文件。site.xml中定义了改更新站点可以提供的插件的下载路径,这样用户可以通过Eclipse的UpdateManager来在线安装插件。
4 实例应用分析
为测试JPF的死锁检测功能,首先创建一个存在死锁问题的Java类Deadlock,该类实现Runnable接口,在mian()函数中启动两个Deadlock对象,并用synchronized控制对象本身的访问。考虑这样一种情况:1)线程T1在对象t1上同步,然后调用对象t2的foo方法,允许被抢先执行。2)另一个线程T2开始执行,在对性t2上同步。3)T2获得t2,继续执行,企图获得t1,调用t1的foo方法。但获取失败,因为T1占有t1。于是,T2阻塞,等待T1释放t1。4)轮到T1继续执行,T1试图获得t2,但不能成功,因为t2已经被T2占有了。至此,T1和T2都被阻塞,程序死锁。配置JPF,实现死锁检测。
在运行D e a d l o c k类后,由于配置了Not Deadlocked Property属性,JPF可以很快发现程序中的死锁问题,并输出导致死锁的程序执行路径。JPF的出现,为Java程序模型检测注入了新的力量,它在许多方面都得到了实际应用,包括航天软件的研制、实时系统验证和网络协议验证[等。Eclipse是Java程序员比较常用的一种Java编辑工具,利用JPF在其基础上开发一款Java模型检测工具是非常有意义的,可以使得程序员在编写程序的同时检测程序代码的逻辑正确性。
摘要:JPF(Java Pathfinder)是一种精确的Java字节码状态模型检测工具,为Java程序的模型检测提供了很好的实现方法,对并行程序中存在的死锁和数据竞争等问题,都可以有效地进行模型检测。本文实现了基于Eclipse的Java模型检测平台,使得程序员可以在编写代码的同时实时检测自己的代码。
关键词:JPF,状态空间爆炸,模型检测
参考文献
[1]杨明远,罗贵明.一种大规模并行程序模型的检测方法[J].计算机工程,2008,34,(13):72-74.