Derivation of Petri net performance models from UML specifications of communications softwa
- 格式:pdf
- 大小:243.68 KB
- 文档页数:15
2020年在nature catalysis上发表重要成果
2020年,在《Nature Catalysis》杂志上发表了一项重要成果,该成果由某科研团队经过多年努力终于成功研发出一种新型的催化剂,能够有效地将废弃塑料转化为高附加值的产品。
这项成果的研发背景是,随着人类对塑料的依赖程度不断加深,废弃塑料的污染问题日益严重,给生态环境带来了巨大的压力。
因此,科研团队一直在寻找一种能够有效处理废弃塑料的方法。
该科研团队通过多年的研究,成功研发出这种新型催化剂。
该催化剂能够在常温常压下将废弃塑料中的聚乙烯和聚丙烯等塑料成分转化为燃料和化学品等高附加值的产品。
这种转化过程不仅能够有效处理废弃塑料,而且能够产生经济效益,具有很高的应用价值。
该成果的发表引起了广泛关注。
在《Nature Catalysis》杂志上,该论文被选为封面文章,并得到了编辑部的特别推荐。
该论文的发表不仅证明了该科研团队在催化剂研究方面的实力,也标志着人类在解决废弃塑料污染问题方面取得了重要进展。
未来,该科研团队将继续优化这种新型催化剂的制备工艺和应用范围,希望能够为解决全球废弃塑料污染问题做出更大的贡献。
同时,他们也希望通过与产业界的合作,将这种技术应用于实际生产中,为人类创造更加美好的生态环境和可持续发展未来。
基于Petri网的产品开发过程建模及系统性能分析的开题报告一、研究背景及意义Petri 网作为描述并发系统的一种重要工具,在许多领域得到广泛的应用,如工程、自动化、计算机科学、制造业、生产等领域。
Petri 网在产品开发过程中的应用,可以描述产品从设计到投产全过程的各项任务,包括项目进度、任务分配、资源分配、任务优先级等等,能够较好地模拟产品开发过程的各类情景,是实现产品开发过程管理的重要手段。
因此,基于Petri网的产品开发过程的建模及系统性能分析研究有着广泛的实际意义和工程应用价值。
二、研究内容及目标本研究的主要内容是基于Petri网的产品开发过程的建模及系统性能分析,从以下三个方面展开研究:1.产品开发模型的建模:从Petri网模型及工程应用的实际需求出发,建立相应的产品开发模型,通过定义Petri网的元素与参数进行模型描述,从而实现对产品开发中的各个环节的精细化描述;2.产品开发过程的性能分析:基于Petri网的性能分析方法研究产品开发过程的性能分析,通过建立性能评价指标体系对产品开发过程进行综合评价,以期提高产品开发过程的效率和质量,并为效果优化提供理论依据;3.应用实例分析:通过应用实例分析,验证基于Petri网的产品开发过程的建模及系统性能分析方法的可行性和实用性,同时通过案例研究探索基于Petri网的产品开发过程的应用场景与展望。
三、研究方法及技术路线1.文献调研:了解Petri网及产品开发模型的相关研究现状,了解Petri网模型在产品开发领域的应用及现状。
2.模型建立:对产品开发过程进行建模,采用Petri网模型的相关理论知识和方法,建立基于Petri网的产品开发过程的模型。
3.性能分析:基于Petri网的性能分析方法对产品开发过程的性能进行分析,建立性能评价指标体系,探讨产品开发过程的性能优化方法。
4.应用实例分析:以真实企业的产品开发过程为研究对象进行基于Petri网的产品开发过程建模,并进行性能分析,来验证基于Petri网的产品开发过程的建模及系统性能分析方法的可行性和实用性,同时通过案例研究探索基于Petri网的产品开发过程的应用场景与展望。
Vol. 13 ,No.2March 2021第13卷第2期2021年3月环境监控与预警Environmental Monitoring and Forewarning !监测技术!DOI : 10. 3969/j. issn. 167^6732. 2021.02. 005超高效液相色谱-串联质谱法测定水中拟除虫菊酯 和有机磷农药残留杨敏娜,秦兴秀,王来梁(江苏省地质调查研究院自然资源部国土(耕地)生态监测与修复工程技术创新中心,江苏 南京210018 %摘 要:采用直接进样法和萃取浓缩法2种前处理方式,通过超高效液相色谱-串联质谱法对水中20种拟除虫菊酯类和 有机磷类农药进行了测定,并对仪器条件的选择和前处理条件的优化进行了探讨$结果表明,20种农药的线性关系良好,相关系数均〉0.999,直接进样法检出限为0.21 -2.47 'g/L ,回收率为81.0% -119%,相对标准偏差<10% $萃取浓缩法检出限为0.002 2 -0.004 3 'g/L ,回收率为71.5% -115%,相对标准偏差<15% $该方法简便、快捷,精密度和准确度较高,可满足水中拟除虫菊酯类和有机磷类农药的检测要求$关键词:超高效液相色谱-串联质谱法;拟除虫菊酯类农药;有机磷类农药中图分类号:X832 ;O657.63文献标志码:B文章编号:1674 -6732 (2021) 02 -0024 -05Determination of Pyrethriod Pesticide and Organic Phosphorus Pesticide Residues in Water by Ultra Performance Liquid Chromatography 一 Tandem Mass SpectrometryYANG Min-na , QIN Xing-xiu , WANG Lai-liang% Cultivated Land Ecological Monitoring and Restoration Engineering Technology Innovation Center of Ministry ofNatural Resourcet , Geological Survey of Jiangsu Provinco , Nanjing , Jiangsu 210018 , China )Abstract : A method for determination of 20 organic phosphorus and pyrethriod pesticides in wateo was established by using ultroperformance liquid chromatography - tandem mass spectrometiy after direci injection or after extraction and concentrated. Theinstrumeni ccnditions and pretreetment ccnditions were optimized. The regression equation of 20 kinds of pesticides showed goodlinear relationship , the ccrrelation coefficients were all greater than 0. 999. The detection limitr were in the range from 0. 21 te2.47 'g/L foe direct injection, and the average reccvvries ranged from 81. 0% to 119% with the relativv standard deviations lessthan 10% . For extraction and ccnccntration method , the method detection limitr of the target ccmpounds were in the range from 0.002 2 to 0.004 3 'g/L, and the average recoveries ranged from 71.5% to 115% with the relative standard deviations less than15% . This method is simple and fast, and itr precision and accuracy can meet the demands of determination of pyrethriod prsticideand oraanic phosphorus pesticide in water.Key words : UPLC-MS/MS ; Pyrethriod pesticide ; Oraanic phosphorous pesticide农药在现代化农业中必不可少,有机磷、拟除 虫菊酯和氨基甲酸酯类农药是目前使用量最大的 3类农药,它们普遍具有高效、广谱、低毒、低残留等特点'1(,在农业生产中被广泛应用'_3(。
猪表皮生长因子的生物学活性及其临床应用研究的开题报
告
猪表皮生长因子(Pig epidermal growth factor,PEGF)是一种分子量为6.2kDa 的小分子肽类生物活性物质,广泛存在于哺乳动物的唾液、组织中,并且在加速细胞增殖、移动、分化、修复等方面具有重要生物学意义。
本研究旨在探究猪表皮生长因子的生物学活性及其在临床中的应用。
具体内容包括以下几个方面:
一、猪表皮生长因子的生物学活性
通过文献调研和实验验证,探究PEGF与皮肤细胞增殖、细胞迁移、蛋白合成等方面的关系,以及在创面愈合、皮肤再生等方面的作用机制。
二、PEGF在伤口愈合中的应用
通过对近期文献的梳理,探究PEGF在创面愈合、烧伤后残留瘢痕预防、慢性创面治疗等方面的应用情况,并结合相关临床案例进行分析。
三、PEGF在美容领域的应用
PEGF作为一种活性肽类物质,已经逐渐在美容领域得到了应用。
通过分析PEGF 在皮肤修复、皮肤抗老化等方面的作用,探究PEGF在美容领域的应用前景。
四、研发PEGF产品
PEGF作为一种良好的生物材料,在临床应用中已经得到广泛的认可。
本研究旨在通过研发PEGF产品,进一步推广其在临床应用中的广泛应用。
综上所述,本研究将围绕PEGF的生物学活性及其在临床应用中的作用机制展开深入研究,以期能够为其在医学和美容领域的应用提供理论依据和实践参考。
Derivation of Petri Net Performance Modelsfrom UML Specificationsof Communications SoftwarePeter King and Rob PooleyDepartment of Computing and Electrical EngineeringHeriot-Watt UniversityEdinburgh EH144ASpjbk or rjp@Abstract.As hardware becomes faster and bandwidth greater,the de-termination of the performance of software based systems during de-sign,known as Software Performance Engineering(SPE),is a growingconcern.A recent seminar of experts at Dagstuhl and the First Interna-tional Workshop on Software and Performance have both highlighted theneed to bring performance evaluation into the software design process.The Unified Modelling Language(UML)has emerged in the last twoyears as a widely accepted standard notation for software design and itis an attractive vehicle for SPE.In this paper UML’s Collaboration andStatechart diagrams are shown to allow systematic generation of Gener-alised Stochastic Petri Net(GSPN)models,which can be solved tofindtheir throughput and other performance ing the exampleof communication via the alternating bit protocol,such a mapping isdemonstrated and the resulting GSPN solved using the SPNP package.The basis of a usable methodology for SPE is explored.1IntroductionThe hardware in computers and communication networks is becoming faster and its offered bandwidth continues to increase.As a result the software is increas-ingly seen as the bottleneck in such systems.It is widely accepted that at least eighty percent of the performance of a system is determined by its general ar-chitecture and that this is as true of software as it is of hardware.This makes it essential that performance can be analysed from the earliest stages in a design.In the last two years,the software design community has embraced a move to-wards a new design notation,intended to provide a common vocabulary for soft-ware based systems.This Unified Modelling Language(UML)[14,18,3]is gaining widespread acceptance and this has made it possible to focus on a single nota-tion.Since the notation includes both static and dynamic aspects of systems it is very well suited to generating performance results,although additional infor-mation on timings and branching probabilities is needed.Here we consider an example of using UML to generate Petri net models for performance prediction in a communication network.B.R.Haverkort et al.(Eds.):TOOLS2000,LNCS1786,pp.262–276,2000.c Springer-Verlag Berlin Heidelberg2000Derivation of Petri Net Performance Models from UML Specifications263 The rest of this paper is structured as follows.Section2describes the ap-plication modelled–a simple network using the alternating bit protocol(ABP) and considers how to model this application in UML.Section3looks briefly at how UML models have been used in performance analysis to date.Section4 uses the UML model to generate a Generalised Stochastic Petri Net(GSPN)[12] model of the alternating bit protocol and its solution using SPNP[2].Section5 summarises the numerical results,with graphs of throughput against timeout interval.Finally section7draws conclusions from this work and suggests the way forward.2Modelling ABP in the Unified Modelling Language2.1The Alternating Bit ProtocolThe alternating bit protocol(ABP)[1]is the simplest known protocol for reliable communication between two nodes.It usesflow control with a window size of one,which can be encoded as a single bit in any packet.A transmitterfirst sends a packet with the sequence bit set to zero.It then waits until either it receives a corresponding ack packet from the receiver or until the defined timeout period has been exceeded,when it assumes the packet is lost and retransmits.Once an ack is received the transmitter can send its next packet,with the bit set to one.It again awaits the corresponding ack,retransmitting after each timeout period.This continues,with the sequence bit alternating on successive packets.This protocol has been formally verified,for instance by Milner[13].Its performance has been studied several times,including by the use of the TIPP stochastic process algebra[6].2.2The Unified Modelling LanguageThe Unified Modelling Language(UML)[14,18,3]is a graphically based notation, which is being developed by the Object Management Group as a standard means of describing software oriented designs.It contains several different types of diagram,which allow different aspects and properties of a system design to be expressed.Diagrams must be supplemented by textual and other descriptions to produce complete models.For example,a use case is really the description of what lies inside the ovals of a use case diagram,rather than just the diagram itself.More recently there has been interest in exploiting at least some parts of the UML for real time and embedded systems design and hardware design.These have focussed on the interaction and statechart views within the notation.We have found,similarly,that these views are most appropriate to the modelling of communications protocols,but we also believe that use case models are impor-tant when considering how such protocols will be used to meet user needs and in defining the workloads to be expected by systems.264P.King and R.PooleyUse Case Models.In recent years the most radical addition to the first gener-ation of object oriented modelling approaches is use case modelling .This shows a system in terms of the external users of the system,known as actors and usually shown as “stick people”.An actor may be a system,not necessarily a person.Each actor is shown as participating in one or more use cases,shown as ovals linked to the participating actors.A use case is some high level activity or capability of the e case diagrams are significant in showing external systems and users that initiate functions.ServerTransfer fileTelnet commandClient e case diagram for nodes communicating Figure 1is an example of a use case diagram showing a communications net-work from the user perspective.Each use case represents one class of application which uses the underlying protocols to communicate.For simplicity we assume only point to point communication is required.The Classes Used.For the purposes of this paper,we assume that classes and objects exist as the fundamental units of description within a design.In particular,classes encapsulate behaviour,which can be described by a state machine description.In the ABP example we identify the classes shown in Figure 2.Node is the basic component which handles communications to and from one point in the network.It has a Sender and a Receiver,which are shown as permanent components within it.Channel is the logical communications medium.Each channel is associated with one sender and one receiver.It supports the operation send .ActiveProcess is a generalisation of Sender and Receiver.It requires all its subclasses to provide an operation receive .Its specialisations differ in the rest of their behaviour.They support the operations pSend for Sender and forward for Receiver.Sender is the sending process in a node.It is shown as aDerivation of Petri Net Performance Models from UML Specifications265Fig.2.Class diagram for nodes communicating specialisation of ActiveProcess.Receiver is the receiving process of a Node.It too is shown as a specialisation of ActiveProcess.Sequence diagrams.Sequence diagrams are based on message sequence charts[7].Objects are shown as boxes with dashed lines extending vertically below them.As these lines move down the page,they represent the passing of time.Arrows across the page show the sequences of messages passed be-tween objects as time passes.Periods of activity by an object may be shown as a bar,called an activation,overlying its dashed life line.Each sequence diagram represents one or more routes through the unfolding of a use case(high level)or of an operation in a class(low level).If a single route is shown,one particular set of conditions is being assumed.Such a set of conditions is termed a scenario.The example in Figure3shows a successful transmission scenario with the sequence bit set to zero and no timeouts.The messages are all asynchronous. Collaboration diagrams.Here time is not represented implicitly.Instead mes-sages are numbered explicitly and the visual emphasis is on showing which objects communicate with which others.Messages are numbered to show the order in which they should happen.Causal nesting can be shown as a266P.King and R.Pooleys:SenderoutChan:Channel backChan:Channel r:Receiver user:Clientprovider:ServerpSend(aPacket)send(aPacket,0)send(acq,0)receive(aPacket,0)receive(acq,0)forward(aPacket)Fig.3.A sequence diagram showing a scenario in the ABPdecimal numbering scheme.Partial orders,representing concurrency,can be shown by using names instead of numbers at the appropriate level.s:Sender r:ReceiveroutChan:Channel backChan:Channel user:Clientprovider:ServerpSend(aPacket)send(aPacket,0)send(acq,0)receive(aPacket,0)receive(acq,0)forward(aPacket)Fig.4.The ABP modelled in a UML collaborationThe example in Figure 4shows the same scenario as the sequence in Figure 3.State and Activity Diagrams.UML defines state diagrams,which allow a class to be defined in terms of the states it can be in and the events which cause it to move between states.Derivation of Petri Net Performance Models from UML Specifications 267They are essentially HarelStatecharts[4].These derive from conventional state transition diagrams,with the additional features that:–a state may indicate that the object is engaged in some activity;–transitions between states can be due to messages or to changes in certain conditions or to a combination of these;–states can be nested within super-states.Harel Statecharts predate UML and form a very rich modelling formalism in themselves.We have only explored a simple subset of their features so far in our work.This example illustrates the most straightforward possibilities.Fig.5.A state diagramThe example in Figure 5shows the internal behaviour of a Sender.This should correspond to the behaviour of all interactions involving instances of this class.The transitions shown are triggered either by incoming messages,such as the deliver(ack,1)message which triggers the transition from state Sent 1to state Can Send 0,or by the passing of time,such as the after(t)indicating the timeout which triggers transitions from both Sent 0and Sent 1to themselves.268P.King and R.PooleyThe self transitions,where a transition is shown leaving a state and returning to itself,are used to show the actions which result at this point,as with the need to resend the packet after a timeout,or to indicate that certain messages can be accepted and are ignored,such as the arrival of a duplicate ack in the states Can Send1and Can Send0.3Using UML for Performance ModellingIn this section we survey existing ideas for exploiting UML designs for perfor-mance modelling.These now include both simulation methods and queueing network modelling approaches.We start by considering each form of description in turn.We then consider an approach combining different approaches.3.1Exploiting Implementation DiagramsImplementation diagrams,which we have not considered here,provide afinal mapping of collaborations(components)onto computing and storage devices. The overall system can be modelled as an open queueing network.This approach was used by Pooley and King[17]to model a simple autoteller machine system.3.2Direct Simulation of Sequence DiagramsSeveral previous papers have identified sequence diagrams as having the potential to generate and display useful information relating to performance.Smith and Williams have published a number of case studies[21,19]where they show how an object oriented design can be modelled,starting from the class diagram and appropriate scenarios expressed as sequence diagrams.Timing information can be added by labelling messages with relative timing constraints,using nested numbering of messages to describe exact orderings.In a prototype simulation tool Kabajunga and Pooley[8,9]encoded the information about time intervals between messages,along with object names,in a driverfile.Permabase.In a project sponsored by BT,a group at the University of Kent at Canterbury have built a system for modelling distributed object systems by automatically generating simulation models from UML use case and interaction models[20].Pooley and Hargreaves[5]defined and built a Java class library for simulation of combined statecharts and collaborations.Numerical solution of these models was introduced by King and Pooley[11]using a database example.4Deriving a Petri Net Model of ABPThe task of performance modelling requires insight and skill.This will always be true.We can,however,reduce the number of mechanical tasks needed in this process.In particular,we can define and implement mappings from UMLDerivation of Petri Net Performance Models from UML Specifications269 designs into appropriate performance modelling formalisms.In this section we develop a detailed model using Petri nets,exploring the automatic mapping from combined collaboration and statechart models.4.1Petri NetsPetri nets are a formalism which has been developed to describe the concur-rent behaviour of interacting systems.A system is represented graphically us-ing places,transitions,arcs,and tokens.Places,graphically represented by circles,stand for the sub-states that parts of the system can be in.A token, indicated by a spot,is present whenever that part of the system is in the corre-sponding sub-state.The place is said to be marked.Transitions are represented by solid bars.Transitions have input arcs which link places to transitions,and output arcs which link transitions to places.There are no arcs directly from one place to another or from one transition to another.A transition is enabled if all of the places attached to its input arcs have a token present.A transition which is enabled mayfire,causing one token to be removed from each of its input places,and one token to be added to each of its output places.Traditional Petri nets are used to investigate such issues as mutual exclusion and freedom from deadlock.Deadlock occurs if the net can ever reach a state in which no transition canfire.Mutual exclusion can be demonstrated by proving that two places in different components are never simultaneously occupied by a token.Peterson[15]is an excellent introductory text on Petri nets that shows how to use Petri nets for these problems.Traditional Petri nets do not measure time in any way.A number of exten-sions have added timing information,sometimes to allow more powerful theo-rems to be proved about the set of states that can be reached.The most popular timed extension is to specify stochastic Petri nets,in which some transitionsfire a randomly distributed time after they become enabled.These are usually rep-resented by an open bar.If the distribution of time until an enabled transition fires is exponential,then the set of states that the Petri net can enter forms a Markov process,and its transition matrix can be generated,and performance metrics can be calculated from the steady state solution.4.2Use Case and WorkloadsThe actors in use case diagrams should represent all external stimuli to the system being modelled.There is considerable disagreement about which external systems should be shown here,but at least all initiators of activities within the system should be represented.It seems logical,therefore,to use actors as the basis for defining workloads in the system.Each actor does not correspond to a single person or system,but rather to a(set of)rˆo le(s)played by one or more people or systems.Thus each actor may represent just one part of the workload for one part of a system.270P.King and R.PooleySimilarly,each use case represents one class of requests.In the ABP model, we have shown three use cases,which might well represent different packet length and arrival rate distributions.4.3A UML Combined State and Collaboration ModelThe diagram in Figure6shows the collaboration from our UML model of ABP, with the statecharts of all the objects embedded within them.If this is a correct model,all possible behaviours of the model are captured.Each object can be in any of the states within its statechart.The current state of the whole system is represented by the combination of the states of the individual objects.The number of possible combinations may be greater than the number of combinations which the system can actually evolve into.This will depend on the initial combination of states and the behaviours of the objects.The scenarios which the system can execute should correspond to the overall behaviour of this model and the resulting states form the reachable subset of overall states.4.4The Corresponding GSPN ModelTranslation of the state diagram representing each object into a corresponding stochastic Petri net is straightforward.Each state in the state diagram is rep-resented by a place in the Petri net.A token is present in a place if the state machine is in the corresponding state.The transitions in the state machine are also mapped into transitions in the Petri net.The input place to the Petri net transition corresponds to the state at the start of the state chart transition, and the output place from the Petri net transition represents the target state of the statechart transition.In simple,single threaded objects,these Petri net transitions all have one input and one output place.Statecharts representing objects with internal concurrency can also be represented without difficulty.It is possible that a single transition in the state machine can be represented by several different transitions in the Petri net.Such transitions all have the same input and output place,and are known as competing transitions.When the state chart is considered in isolation from the other state charts in the model,which of the competing transitionsfires is unimportant.Transitions in the state chart may be internal,with no interaction with other objects;they may be timed, corresponding to the use of the after(t)construct;or they may be associated with messages received from or sent to other objects.Consider the sender process in the alternating bit protocol;it has four states, two corresponding to sequence number0for the packet and two corresponding to sequence number1.It cycles between CanSend0,Sent0,CanSend1,and Sent1, in that order.It moves from CanSend i to Sent i when a new packet becomes available,and is transmitted on the forwards channel.Likewise,when the ac-knowledgment of packet i arrives,the state of the sender process changes from Sent i to CanSend i+1.When the sender is in state Sent i it periodically times out and sends a further copy of the packet with sequence number i.This transition isDerivation of Petri Net Performance Models from UML Specifications271Fig. 6.The alternating bit protocol modelled as a UML collaboration with embedded statechartsa self loop and does not change the state of the process.The after(t)labelling on the transition in the state diagram is captured by using a timed transition in the Petri net.The Petri net corresponding to this state diagram is shown in Figure7.The transitions corresponding to the receipt of an acknowledgment and to the occurrence of a time out and its subsequent retransmission are competing.Likewise,the Petri net corresponding to the state diagram for the Receiver process is a direct translation which can be seen in Figure8.The channel will deliver packets.When the receiver is in state Waitfor0,a packet with sequence number1will cause a transition to the same state,a self loop.When sequence number0arrives,the receiver moves to state Waitfor1,and subsequent recep-tions of sequence number0cause transitions which do not change state.Each transition also causes the transmission of an acknowledgment with the same sequence number as the packet.The channels are modelled using a Petri net shown in Figure9,one net for each direction of transmission.The channel is initially idle,and makes the tran-sition to Sent when a packet is transmitted.A timed transition corresponds toTimeOut0TimeOut1InitSend0InitSend1ReceiveAck0ReceiveAck1CanSend0Sent0CanSend1Sent1Fig.7.Petri net corresponding to Sender Duplicate0Receive0Receive1Duplicate1Waitfor0Waitfor1Fig.8.Petri net corresponding to Receiverthe after(d)guard on the transition to Succeed or Fail state,where probabili-ties are attached to the transitions OK and Loss to represent the probability of transmission error.If an error occurred,the Loss transition occurs and the chan-nel becomes idle again.If no error occurs,then the channel enters the Arrived state,until the packet can be delivered,when it reverts to the idle state again.The Petri net shown for the channel is a slight simplification,since separate Sent,SucceedorFail and Arrived places are needed to represent the two possibilities for sequence numbers.It is noticeable that each Petri net has a straightforward invariant:the num-ber of marked places is always identically 1.This phenomenon occurs because there is no concurrency within the UML objects.With this observation,we can combine the Petri nets corresponding to the various state diagrams by identify-ing transitions in the separate Petri nets with one another.The identification is made on the basis of the messages transmitted or received in the corresponding statechart.In particular,the Accept transition of the forward channel is identi-fied with the InitSend i and TimeOut i transitions in Sender.The Idle place in the channel becomes an input place to those transitions,and the Send i place becomes an output place.Likewise,the Deliver transition in the channel is identified with the Receive i and Duplicate i transitions in the Receiver.For the reverse channel,ArrivedOKLossTransmit Accept DeliverSent SucceedOrFail IdleFig.9.Petri net corresponding to Channelwhich carries the acknowledgments,the Accept transition in the Petri net is identified with Receive i and Duplicate i transitions in Receiver.Figure 10shows the part of the complete Petri net model corresponding to the transmission and reception of packets with sequence number 0.The arcs and places relating to the reverse channel carrying acknowledgments and for the forward channel carrying packet with sequence number 1are not shown.Note that the Idle place for the forward channel is not duplicated,only the places corresponding to the presence of a packet.InitSend0ReceiveAck0Arrived OK LossTransmit TimeOut0Receive1Duplicate1Receive0Duplicate0CanSend0Sent0CanSend1Sent SucceedOrFail IdleWaitfor0Waitfor1bined Petri net (partial)5Numerical ResultsIn order to confirm the correctness of the model that we have constructed,we have compared our numerical results with those calculated by Hermanns et al.[6] using their TIPP system.This is a stochastic process algebra which allows the development of numerical solution.Our stochastic Petri net solution was encoded using Trivedi’s SPNP pack-age,and solutions evaluated for differing arrival rates,time out intervals,and probabilities of transmission error.No attempt was made to model the effect of the non exponential nature of time outs or packet transmissions.1All our exper-iments used a mean transmission rate of10packets per second.This means that the maximum throughput that can be expected of the system is5packets per second,since acknowledgments take similar transmission time to packets.The probability of a transmission error was chosen to be either0.01,0.05or0.1,and the mean time out interval ranged from0.02seconds to2.5seconds.Maximum throughput when the transmission error probability is0.01is4.37 packets per second,and occurs when the time out interval is0.5seconds.When the error probability is0.1,the maximum throughput obtained is3.37packets per second,and occurs when the time out interval is0.1seconds.The graph in Figure11shows the maximum throughput as a function of the time out interval.It can be seen that when the time out interval is very long,the throughput is low,because any packets which are lost because of transmission errors have a long wait before they are retransmitted.As the interval reduces,the throughput increases.A maximum throughput is reached,and then the through-put decreases slightly,because time outs are occurring too frequently,even when the packet has not been lost,and the retransmission of correctly received packets is impeding the use of the channel by the subsequent packet.6Current WorkThe example used is perhaps the simplest that could be used with any appeal to usefulness.These remain a number of tasks that might broaden the usefulness of the approach.The most significant is to automate the mapping from the UML description to the performance model.This involves both the exploration of a wider variety of models and consideration of alternatives to GSPNs as a target.Some early attempts have allowed a cautious optimism that a wider concept of state,shown in UML by inclusion of conditional behaviour based on variables, and concurrency within objects,also allowed in Statecharts,can be accommo-dated.The problems are apparently those inherent in GSPNs themselves.At the same time,it appears that both alternative mappings,for instance onto stochastic process algebras(SPAs),and direct generation of the underlying 1The TIPPfigures simulated a constant timeout interval by using an Erlang-k distri-bution for the time out.There is no reason other than coding convenience that sucha technique was not used in our system.11.522.533.544.500.51 1.52 2.5Timeout Intervalp =0.050.010.1Throughput Fig.11.Maximum Throughput as a Function of Time Out Intervalcontinuous time Markov chain (CTMC)without an intermediate representa-tion have possibilities.Very early results in both of these are reported by us in [16],while there have been recent developments in solving collaboration diagram models using iteratively solved queueing networks[10].7ConclusionsWe have demonstrated that,for suitably constrained models,UML specifications of interacting software processes can be transformed into stochastic Petri nets.Numerical evaluation of these Petri nets can give estimates of the performance of the software.This provides a straightforward link between an existing popular design notation,and performance models of the system being designed.Further work is being undertaken to automate the translation from UML state diagram to Petri net,to explore alternatives to Petri nets,to understand alternatives developed elsewhere and to build performance evaluation capability into a CASE tool.The ultimate aim is to produce a tool in which performance problems can be identified early in the design cycle and tracked throughout software development.References1.K.Bartlett,R.Scantlebury,and W.Wilkinson.A note on reliable full-duplex transmission over half-duplex munications of the ACM ,12(5):260–261,1969.2.G.Ciardo,J.Muppala,and K.Trivedi.SPNP:Stochastic petri net package.In Proceedings of 3rd International Workshop on Petri Nets and Performance ,pages 142–151,Kyoto,Japan,1989.3.Martin Fowler with Kendall Scott.UML Distilled.Addison-Wesley,1997.4. D.Harel.Statecharts:A visual formalism for complex systems.Science of Com-puter Programming,8:231–274,1987.5.Steven Hargreaves.Simulating UML models.Master’s thesis,University of Edin-burgh,1998.6.H.Hermanns,V.Mertsiotakis,and M.Rettelbach.Performance analysis of dis-tributed systems using TIPP-a case study.In Jane Hillston,Rob Pooley,and Peter King,editors,UKPEW’94,pages131–144,Edinburgh University,September Performance Engineering Workshop.7.ITU.ITU-TS Recommendation Z.120:Message Sequence Chart(MSC).ITU-TS,Geneva,1996.8.Carina Kabajunga.Support for the unified modelling language design paradigm.Master’s thesis,Computer Science,University of Edinburgh,1997.9.Carina Kabajunga and Rob Pooley.Simulating UML sequence diagrams.In RobPooley and Nigel Thomas,editors,UK PEW1998,pages198– Performance Engineering Workshop,July1998.10.P.K¨a hkipuro.UML based performance modelling framework for object-orienteddistributed systems.In UML’99—The Unified Modeling Language:Beyond the Standard,1999.11.Peter King and Rob ing UML to derive stochastic Petri net models.InN.Davies and J.Bradley,editors,UKPEW’99,University of Bristol,July1999.UK Performance Engineering Workshop.12.M.Ajmone Marsan,G.Balbo,and G.Conte.A class of generalised stochasticPetri nets for the performance evaluation of multi-processor systems.ACM Trans.Comp.Systems,C-31(9):913–917,September1984.13.Robin munication and Concurrency.International Series in ComputerScience.Prentice Hall,1989.14.OMG./uml/documentation.html.15.J.L.Peterson.Petri Net Theory and the Modeling of Systems.Prentice-Hall,1981.16.Rob ing uml to derive stochastic process algebra models.In N.Daviesand J.Bradley,editors,UKPEW’99,Proceedings of the Fifteenth UK Performance Engineering Workshop,pages23–33,Bristol,PEW.17.Rob Pooley and Peter King.The unified modeling language and performanceengineering.IEE Proceedings-Software,1999.18.Rob Pooley and Perdita ponent Based Software Engineering withUML.Addison-Wesley,November1998.19.Connie U.Smith and Lloyd G.Williams.Performance engineering evaluationof object oriented systems with SPE·ED.In R.Marie et al.,editor,Computer Performance Evaluation-Modelling Techniques and Tools,9th Int.Conf.on Mod-elling Techniques and Tools for Computer Performance Evaluation,number1245 in LNCS.Springer,1997.St Malo.20.G.Waters,P.Linington,D.Akehurst,and munications softwareperformance prediction.In Demetres Kouvatsos,editor,13th UK Workshop on Performance Engineering of Computer and Telecommunication Systems,pages 38/1–38/9,Ilkley,West Yorkshire,July1997.BCS Performance Engineering Spe-cialist Group.21.Lloyd G.Williams and Connie rmation requirements for softwareperformance engineering.In H.Beilner and F.Bause,editors,Computer Perfor-mance Evaluation-Modelling Techniques and Tools,8th Int.Conf.on Modelling Techniques and Tools for Computer Performance Evaluation,number977in LNCS, pages86–101.Springer,1995.Heidelberg.。