Design and Implementation of a WEB-based non-Markovian Stochastic Petri Net Tool

合集下载

The design and implementation of programmable media gateways

The design and implementation of programmable media gateways

DESIGN AND IMPLEMENTATION OFPROGRAMMABLE MEDIA GATEW AYS Wei Tsang Ooi,Robbert van Renesse and Brian Smith Department of Computer Science,Cornell UniversityIthaca NY14853ABSTRACTTreating the network as a processor that can perform computation has several benefits.Processing at strategic lo-cations in the network may reduce bandwidth requirements. Low-powered devices that are connected to the Internet can be off-loaded as well.In this paper we present Degas,a pro-grammable media gateway system.Degas allows users to upload small programs,called deglets,into a Degas gateway tofilter,transform or mix video streams from a multicast session.We describe a declarative,event-driven program-ming model for writing deglets.We also discuss a simple mechanism used by gateways to optimize and execute the operations specified in the deglets.Finally,a method for selecting a suitable gateway to run deglets is outlined.1.INTRODUCTIONIn the traditional model of distributed computing,nodes on the edges of a network perform computation,and nodes in-side the network move data around.Recently,researchers have been studying how computation can be moved into the network itself.This shift is motivated in part by the increas-ing number of low-powered devices connected to the putationally intensive operations can be moved from these devices to nodes within the network.Performing operations on packets within the network can also improves network efficiency,(e.g.by compressing and decompress-ing data streams across a bottleneck link[17],or transcod-ing a video into a lower bandwidth within a heterogeneous network[2]).Active Networking[14]takes the idea fur-ther by making the nodes with the network programmable. Programmability allows users to extend the network with customized operations,such as application-specific retrans-mission scheme,or new routing protocols.In this paper,we present the design and implementation of a programmable,application-level media gateway called Degas.1Degas allows users to“inject”user-defined pro-This research was supported by DARPA/ONR(contract N00014-95-1-0799),and grants from the National Science Foundation,Kodak,Intel, Xerox,and Microsoft.1Named after French impressionist Edgar Degas.grams,called deglets,into a gateway to perform customized transcoding,filtering and mixing of video and audio streams of a multicast session.Transcoding allows transformation of the media streams into a different format or bit rate,thus allowing heterogeneous hosts to participate in the same ses-sion over connections with different bandwidths.Filtering allows hosts to block streams from certain sources.Mix-ing provides processing on multiple streams.For example, a gateway can merge incoming video streams into a single video stream by creating a”picture-in-picture”or a”quad-splitter”view,or a gateway can switch between different streams in a tele-conference based on who is currently talk-ing.The most significant difference between Degas and pre-vious work is the programmability that Degas provides.In-stead of providing afixed set of services,Degas allows users to upload new functionality into gateways.This simpli-fies deployment of new services,promoting user innovation. Also,it allows users to customize existingservices.Figure1:An example of a Degas system Figure1shows an example of a Degas system.Multi-ple Degas gateways are distributed across the Internet.The existence of these gateways is transparent to the various senders that multicast video streams onto their respective sessions.Such transparency allows current MBone appli-cations such as vic[7]and ivs[15]to be used with Degas without modification.A user who is interested in receiving videos from a ses-sion through Degas runs a Degas client.The client program(called degasclient),is a modified version of vic,extended with abilities to talk to the gateways and a user interface to select and use a deglet.The clientfirst requests a service from Degas.Degas selects a gateway with enough capac-ity.The client then uploads its deglet into this gateway.The gateway joins the session requested by the client and runs the deglet.The processed video stream is sent to a new multicast session,which the client is listening to.A reliable control channel is also established between the client and the gateway.This control channel allows user to interact with the deglet and the gateway,such as to reconfigure de-glet,send user interface events(for instance,mouse click) or migrate the deglet to another gateway.The gateway uses the same control channel to send error messages back to the client for debugging.Figure2shows an example output stream produced by a Degas gateway.1.1.Research ProblemsIn the design and implementation of Degas,several prob-lems arose.We briefly discuss each problem below.The first problem is related to the programming model of de-glets.A deglet must be simple to specify,yet powerful enough to perform useful operations on media streams.We could allow user to write arbitrary code and submit them to the gateway for execution(as in J-Kernel[5]),but we think that this is unnecessarily since Degas is not meant to perform arbitrary computation.We should restrict the pro-grammers to a set of API for manipulating media streams.The second problem concerns the execution of deglets. As media processing involves large amounts of data,nor-mally encoded in a complex format,it is crucial that the gateway executes a deglet efficiently.The optimum way of performing an operation is usually tied to the format of the input streams and output streams.Since the format of input streams may be different and can changed in the middle of a session,we must optimize the deglets differently for dif-ferent streams,and re-optimize when input format changes.The third problem is deciding where to run deglets,to optimize load balancing and use of network resources.Run-ning a deglet at a strategic location can reduce bandwidth consumption significantly.The dynamics of the network environment complicates the problem.Gateways may be created and removed;senders and receivers may join or leave multicast sessions;and available bandwidth of a link changes from time to time.Hence,our solution for locating a gateway must be an adaptive one.Finally,we need to ensure that the system is robust in the face of crashes and badly-behaved deglets,such as one that enters an infinite loop or allocates a huge amount of memory.Resources,including CPU,memory and network bandwidth,must be shared fairly among different deglets. Furthermore,the effect of resource controls on QoS must be minimized.As Degas is still a work in progress,it is not our inten-tion to solve all these problems in this paper.This paper focuses on the programming model and execution model of deglets.We briefly describe our solution for the gateway location problem and refer interested readers to[10]for de-tails.We are still looking at a solution for the resource man-agement problem.anizationThe rest of this paper is organized as follows.The program-ming model is described in Section2.The optimization and execution of deglets are described in Section3.The mech-anism for selecting a gateway to run a deglet is presented in Section4.We provide some performance data in Section5. Ongoing and future work is described in Section6.Finally, we provide an overview of related work in Section7and conclude in Section8.2.PROGRAMMING MODELThe main consideration in selecting a programming model for deglets is simplicity while retainingflexibility and power. We want to make deglet easy to write,so that a user can specify one in a few minutes.This consideration favors the use of scripting languages.For Degas,we chose Tcl[11]. We also chose to use a declarative model for programming deglets.A declarative model lets the user specify what to do,but not how to do it.The user should not be concern with how the deglet is going to be executed.The optimal way to perform the video operations depends heavily on the properties of the input streams,such as the encoding format and sizes.By decoupling the properties of the source media streams from the deglet specification,the same specifica-tion can be used on sources with different properties.Fur-thermore,the users do not have to worry about cases where sources change their transmission properties in the middle of a session.The underlying execution engine determines the best way to perform a task.2.1.ExamplesTo better understand how a deglet is written,we present two examples in Figure3and Figure4.We explain these two examples in detail in the rest of this section.Figure3shows a simple deglet that transcodes a video stream from host into a M-JPEG video stream of quality40.A deglet is a textfile that starts with a list of key-value pairs.The key sources specifies a list of sources we are interested in(line1)us-ing multiple host addresses or a regular expression such as *.In this case,we are only interested in one source.num of sources indicates the maximum numberFigure 2:The left window shows the output from a deglet that creates a picture-in-picture effect.The right windows show the input streams.of sources.input video session indicates the mul-ticast address and port number of the input video session.output format specifies the format of the processed video stream.In this example,we want to receive a 176144M-JPEG stream with quality 40.The remainder of the deglet specifies the operation to perform when an event happens.Line 5to 7define a call-back function to be called whenever a frame is received.The function body is defined using Tcl.We use a prede-fined API frame copy to copy the input frame inf into the output frame outf .frame copy performs the neces-sary scaling and transcoding operations to convert the out-put frames into the format specified above.The argument src id identifies the source of the input stream.Since we have only one source in this case,it is not used.We show how src id is used in our next example.1sources {}2num_of_sources {1}3input_video_session {224.4.4.4/4444}4output_format {JPEG 40QCIF}5recv_frame_callback {src_id inf outf }{6frame_copy $inf $outf 7}Figure 3:A simple deglet.Our second example reads video streams from multiple sources,and outputs a ”split”video stream that consists of video from the current speaker and previous speaker.Video from other sources are filtered.For simplicity,we assumes that the number of sources is always larger than two.We explain this deglet below.Line 1-5specify the input and output parameters.The function init callback in line 6to 12is called at the beginning of the deglet execution.Here,we split the output frame into the left half and the right half,denoted by vari-ables lf and rf respectively.We also initialize the vari-1sources {*}2num_of_sources {*}3input_video_session {224.4.4.4/4444}4input_audio_session {224.4.4.5/4444}5output_format {H261}6init_callback {outf }{7set w2[expr [frame_get_width $outf]/2]8set lf [frame_clip $outf 00$w2[frame_get_height $outf]]9set rf [frame_clip $outf 0$w2$w2[frame_get_height $outf]]10set prev 011set curr -112}13talk_start_callback {src_id}{14if {$src_id !=$curr}{15set prev $curr 16set curr $src_id 17}18}19recv_frame_callback {src_id inf outf }{20if {$src_id ==$curr}{21frame_copy $inf $rf 22}else if {$src_id ==$prev}{23frame_copy $inf $lf 24}25}26destroy_callback {}{27frame_free lf 28frame_free rf 29}Figure 4:A more elaborate deglet example.ables curr and prev that denote the source id the cur-rent speaker and the previous speaker.The function on line 13to 18(talk start callback )is called whenever a talk spurt is detected.The parameter src id indicates the source of the talk spurt.In this function,we simply update the variables curr and prev .Note that variables set inone callback is accessible from other callbacks.In line19 to25,recv frame callback checks if the input frame is from source curr or prev.If it is from either of these, we copy the frame into the left half or the right half of the output frame.Finally,line26to28define the function to call when the deglet exits.We free the memory allocated for lf and rf here.We summarize the lists of available keys,callbacks and frame operations in Table1,2,3respectively.This list is by no means complete,as we plan to add more operations to Degas.In particular,it would be interesting to add vision-related routines such as face detection and object tracking.As illustrated in the two examples above,a deglet is a high-level,declarative style specification.They are short and simple to write.Our most complicated deglet so far,is one that creates a”task bar”of incoming video streams,and let user maximizes or minimizes a video stream by click-ing on the task bar.This is written in under100lines of code.Our examples also illustrate how a user can con-struct the output stream using”frame”as an abstraction, without knowing what the input formats are.The Degas execution module is responsible for translating these spec-ifications into optimized low-level code.We describe the execution of deglets next.3.EXECUTION OF DEGLETSThe Degas execution module is responsible for parsing the deglet specification and for efficient execution of the call-backs.The execution module must recognize optimizations and translate the high-level API into appropriate low-level code.For instance,in Figure3,if the input video stream is also in M-JPEG format,then we can employ compressed domain processing techniques to scale and copy the input frames to output frames efficiently.Furthermore,if the in-put video streams are already in the format requested by the user,the execution module should simply copy the streams without decoding it.We used our low-level,high performance media pro-cessing library called Dali[9]as our target for the translator. The executing module is just a Tcl interpreter extended with Dali commands.Dali consists of a small set of abstractions suitable for representing commonly used video and audio formats.Dali is designed with high-performance in mind, often sacrificing ease of use for efficiency.It exposes inter-mediate structures of video and audio objects,such as DCT blocks,giving programmers(or in our case,the translator) theflexibility of writing highly optimized programs.Dali is also designed with predictability in mind—memory alloca-tions and I/O operations are separated from the processing—so that the programmers have full control over memory us-age and I/O.These features make Dali ideal for forming the basis of our execution module.The optimizations and executions are carried out as fol-lows.We defined a set of optimized versions of Dali sub-routines for each high-level APIs.These high-level APIs are then bound,at run-time,to one of the subroutines based on input and output formats,dimensions and color decimation. Each call to a high-level function will cause the optimized version of the function to be executed.The high-level func-tions are re-bound whenever a change in input video prop-erties is detected.4.SELECTING GATEW AYSBesides the key-values pairs described above,a deglet may contain a set of preconditions.The purpose of preconditions is to allow the user to restrict their deglets to be run on gate-ways that meet certain criteria.The user might impose some restrictions to improve quality of the output,or for security concerns.For example,a user might want to run his deglet on a low-load,high-capacity gateway in the same domain. The currently supported preconditions are as follows: address test:a regular expression that matchesthe host addresses or IP addresses of the gateways el-igible to run the deglet.latency test:the maximum latency between theclient and the gateway.This can prevent an“out-of-the-way”gateway to be assigned to the client.load test:the maximum acceptable CPU load ona gateway.An example of using preconditions is shown in Figure5. This test restricts gateways to those in domain*, or gateways that are within500ms away.Many other tests are possible in the future.For instance,the user might want to select gateways with sufficient memory,or gateways with special hardware for media processing.If the user has to pay for services on a gateway,the user may want to select gateways below a certain price.precondition{[address_test*]||[latency_test]<500}Figure5:An example of using preconditions.When a client requests for service,the preconditions are sent along with the request.A gateway that receives a re-questfirst performs the test,and offers its service only if the test succeeds.sources The sources this deglet is interested in.num of sources Maximum number of sources this deglet can process.input video session,input audio session Specify the input video and audio session respectively.output format,output size,output fps,output bps Specify the format,dimension,frame rate and bit rate of the output stream.precondition The conditions that a gateway must satisfy before it can serve this deglet.description Textual description of what this deglet does.controlling clients Clients that are allowed to control and modify this deglet.Table1:A summary of available keys in deglet specification.init callback(outf)Executed when the deglet starts.outf is the output frame.destroy callback Executed when the deglet stops.new source callback(src id,inf)Executed when a new source is detected.src id is the the source identifier.inf is the input frame.del source callback(src id)Executed when a source identified by src id leaves the session.recv frame callback(src id,inf,outf)Executed when a frame from source src id is received.inf is the received frame.outf is the output frame.mouse click callback(x,y)Executed when a mouse click is detected at coordinate(x,y)on the output window of the client. input resize callback(src id,inf)Executed when input dimension of source src id is changed.talk start callback(src id)Executed when a talk spurt is detected from source src id.talk stop callback(src id)Executed when the beginning of a silence period is detected from source src id.Table2:A summary of available callbacks in deglet specification.frame new w h Return a new frame of width w and height h.frame copy src dest Copy the content of frame src into frame dest,scale if necessary.frame clip f x y w h Create a”virtual”frame from frame f,at offset(x,y)and with dimension w h.frame free f Deallocate frame f.frame get width f Return the width of frame f.frame get height f Return the height of frame f.frame set color f r g b Set the color of the frame f to(r,g,b).Table3:A summary of available frame operations in deglet specification.We have developed a control protocol called the Adap-tive Gateway Location Protocol(AGLP)[10]for locating an appropriate gateway.AGLP optimizes network bandwidth utilization by strategically placing deglets on gateways.A deglet that transcodes to a lower bandwidth format reduces bandwidth and is best run near the source.On the other hand,if a deglet increases bandwidth consumption,it should be run close to the client.AGLP adapts to a changing envi-ronment:senders may join and leave sessions,and gateways may be added or removed.AGLP periodically evaluates the set of eligible gateways,and migrates deglets to better gate-ways when necessary.AGLP handles gateway and client crashes gracefully by only maintaining soft state.5.PERFORMANCETo better understand the overhead introduced by a Degas gateway,we ran some experiments to measure the delay caused by various components in Degas.In our experi-ments,we ran a Degas gateway on a Pentium II266MHz PC.Video streams were sent using vic from hosts connected to the gateway using an100MB Ethernet.Receivers,run-ning either vic or degasclient,were located on the same LAN.We ran NTP[8]on all hosts to get a reasonably accu-rate measurement of end-to-end delay.To verify that our execution model is efficient,we ran an experiment to measure the overhead introduced by our op-timizer and the savings caused by the optimization.In the first experiment,the sender sent a352288H261video stream at8frames per second.The client requested the gateway to transcode the stream into a Motion JPEG video stream of size176144.We measured the time spent in the Dali interpreter for each frame received.In thefirst scenario,we let the optimizer decide how to scale the frames.The optimizer detects that the output size is half the input size,and calls a specialized subrou-tine that shrinks the frame by half.The average time spent in scaling a frame was2.84ms.In the second scenario, we bypassed the optimizer,and called the optimized scal-ing routing ourselves.The average time spent in scaling is2.31ms.Finally,we turned the optimizer off,and used a general purpose scaling routine to scale the frames.The average time spent in scaling a frame increase significantly to43.8ms.This experiment confirmed our belief that the overhead in optimizing is small(1ms),while the savings are significant(about150%).We also measured the total delay introduced by the de-coder,encoder and the Dali interpreter when running dif-ferent deglets.While these measurements were performed on specific deglets only,they give some intuition about the latency introduced by Degas’s processing pipeline.A sum-mary of our measurements is listed in Table4.The ta-ble shows that the delay introduced by the decode-process-encode pipeline is reasonably small.Our next two experiments measured the total end-to-end delay between the source and the receiver.This is a mea-surement between the time a frame is captured at the source and the time the frame is rendered at the receiver.In the first experiment,we collected the data using a degasclient. The gateway was running a deglet that shrinks the size of an incoming Motion JPEG video stream by half at6frames per second(deglet2in Table4).For comparison,we col-lected the same data using vic,which received the origi-nal stream.The end-to-end delays for both experiments are shown in Figure6.The difference between the two mea-surements is small,and is about the same as the total time spent in the decode-process-encode pipeline(27.5ms).We also measured the inter-frame rendering delays in the same experiments.Figure7(a)and Figure7(b)show that Degas gateway introduces some jitter,but are within a tolerable level(within20ms).All our performance measurements shown above are done with a single client.When the gateway serves multiple clients, the jitter increases significantly to as much as200ms.There is also a difference between the QoS received by the clients. The reason is that we have not implemented any resource management in Degas yet.We discuss the current imple-mentation status and developments that we plan to do in the next section.6.IMPLEMENTATION AND FUTURE WORK Degas is implemented using C++and the Mash toolkit[6]. Although still under heavy development,a preliminary pro-totype is available.Simple frame processing API and op-timization scheme is implemented as a”proof-of-concept”. We plan to release Degas into the MBone community in near future.Several interesting problems remain to be solved. We outline some of these problems below.We are looking into how a client can submit multiple deglets that can be composed to perform interesting oper-ations.A deglet that scales down two video sources and merge them into a new video streams is best separated into two stages.Thefirst stage scales the video,and should be run near to the individual sources.The second stage com-bines the video,and should be run near the receiver.By us-ing three deglets(two for scaling and one for merging),we can achieve better bandwidth efficiency than a single deglet could have achieved.We plan to look into how Degas can control the re-sources of the gateways and allow deglets to be executed fairly.We want to prevent a malicious deglet from hogging a gateway.Currently,one can write a deglet that performs frame copy100times for each frame received.Some form of scheduling has to be added so that a gateway can distribute its resources fairly.A particularly interesting is-Operation Input 1Input 2Output %CPU Time 1Shrinking H261352288at 10fps H261176144at 10fps 14%9.76ms 2ShrinkingJPEG 320240at 6fps JPEG 160120at 6fps 18%27.5ms 3Picture-in-picture H261352288at 10fps H261176144at 10fps H261176144at 20fps 40%20.4ms 4Picture-in-picture H261352288at 10fpsH261176144at 10fpsJPEG 176144at 20fps60%32.4msTable 4:Latencies introduced by the decode-process-encode pipeline and the CPU load incurred for different deglets.2040608010012014001002003004005006007008009001000L a t e n c y (m s )Frame NumberdegasclientvicFigure 6:End-to-end Delay between the sender and the re-ceiver.5010015020001002003004005006007008009001000D e l a y (m s )Frame Number(a)5010015020001002003004005006007008009001000D e l a y (m s )Frame Number(b)Figure 7:(a)Inter-frame rendering delay using Degas.(b)Inter-frame rendering delay without Degas.sue is how a gateway can revoke resources from a running deglet when the gateway reallocates its resources.Revok-ing CPU time and bandwidth can affect the QoS received by the client.Revoking allocated memory blocks may re-quire changing the behaviour of the deglet itself.Security is another common concern in extensible archi-tectures.We believe that these concerns can be easily ad-dressed.As in Safe-Tcl [12],we can restrict the set of func-tions available to a deglet.This set can depend on the client that submitted the deglet.In this case,the client would have to sign the deglet,and include its digital certificate (e.g.,X.509[4]).7.RELATED WORKThe idea of running media processing within the network was first described by Turletti and Bolot in [16]and by Pasquale et al in [13].Turletti and Bolot suggested video gateways as a solution for solving the network heterogeneity problem.Pasquale et al proposed a filter propagation mech-anism in multicast dissemination trees.By propagating fil-ters up and down the multicast trees network efficiency may be improved.In [18],Yeadon describes a set of QoS filters that implements the idea in [13].Unfortunately,the sys-tem is not designed to be compatible with the MBone tools,and is therefore not widely deployed.Closer to our work,MeGa [2]is an application-level media gateway that per-forms transcoding on RTP media streams.An advantage of Degas over previous work is that Degas allows user-defined processing on the streams,while MeGa and Yeadon’s QoS filters only support a fixed set of operations.Active Service [3]provides clusters ,which are sets of nodes that provide certain er can request in-stantiation of an application-level service agent,such as the MeGa video gateway,on a cluster.If not available already,the agent can be uploaded.In contrast,Degas provides ex-tensibility at a finer granularity by allowing users to extend an existing service,rather than requiring an entire new ser-vice agent to be uploaded.8.SUMMARYThis paper describes a flexible and extensible media gate-way system called Degas,which allows users to request cus-tomized processing on media streams.Degas is efficient andsimple to use,while being compatible with existing popular MBone tools.Degas is also scalable in the number of gate-ways,and robust in the face of gateway and client crashes.Another contribution of this paper is the Degas program-ming model for writing media processing specification.We use a declarative style,event-driven,scripting-based syn-tax to achieve simplicity,while powerful enough to specify many commonly used operations.We presented a simple model of execution,in which high-level APIs are dynami-cally bound to optimized low-level routines,without requir-ing a full-fledged compiler or optimizer.9.REFERENCES[1]The Third ACM International Multimedia Conferenceand Exhibition(MULTIMEDIA’95),San Francisco, CA,USA,November1995.ACM Press.[2]E.Amir,S.McCanne,and Z.Hui.An applicationlevel video gateway.In Proceedings of the3rd ACM International Multimedia Conference and Exhibition (MULTIMEDIA’95)[1],pages255–266.[3]E.Amir,S.McCanne,and R.Katz.An Active Serviceframework and its application to real-time multimedia transcoding.In Proc.of ACM SIGCOMM,Vancouver, Canada,August1998.[4]C.C.I.T.T.Recommendation X.509.The Directory-Authentication Framework,1988.[5]C.Hawblitzel,C.Chang,G.Czajkowski,D.Hu,andT.von Eicken.Implementing multiple protection do-mains in java.In Proc.of the1998USENIX Annual Technical Conf,pages259–270,New Orleans,LA, 1998.[6]S.McCanne,E.Brewer,R.Katz,L.Rowe,E.Amir,Y.Chawathe,A.Coopersmith,K.Mayer-Patel,S.Ra-man,A.Schuett,D.Simpson,A.Swan,T.L.Tung,D.Wu,and B Smith.Toward a common infrastucturefor multimedia-networking middleware.In Proceed-ings of7th.Intl.Workshop on Network and Operating Systems Support for Digital Audio and Video(NOSS-DAV’97),St.Louis,Missouri,May1997.[7]S.McCanne and V.Jacobson.vic:Aflexible frame-work for packet video.In Proceedings of the3rd ACM International Multimedia Conference and Exhibition (MULTIMEDIA’95)[1].[8]ls.RFC1305:Network time protocol(ver-sion3)specification,implementation,March1992. [9]W.T.Ooi and B.Smith.Dali:A multimedia softwarelibrary.In Proceedings of Multimedia Computing and Networking,San Jose,CA,January1998.[10]W.T.Ooi and R.van Rennese.An adaptive proto-col for locating media gateways.Technical Report submitted to ACMMM2000,Department of Computer Science,Cornell University,2000.[11]J.K.Ousterhout.Tcl and the Tk Toolkit.Addison-Wesley,Reading,MA,USA,1994.[12]J.K.Ousterhout,J.Levy,and B.Welch.The Safe-Tcl security model.Technical Report TR-97-60,Sun Microsystems Laboratories,March1997.[13]J.C.Pasquale,G.C.Polyzos,E.W.Anderson,andV.P.Kompella.Filter propagation in dissemination trees:Trading off bandwidth and processing in con-tinuous media networks.Lecture Notes in Computer Science,846:259–269,1994.[14]D.Tennenhouse,J.Smith,W.Sincoskie,D.Wetherall,and G.Minden.A survey of active network research.IEEE Communications Magazine,pages80–86,Jan-uary1997.[15]T.Turletti.The INRIA videoconferencing system.ConneXions-The Interoperability Report Journal, 8(10):20–24,October1994.[16]T.Turletti and J.Bolot.Issues with multicast videodistribution in heterogeneous packet networks.In Packet Video Workshop,pages F3.1–3.4,Portland, Oregon,September1994.[17]M.Yarvis,A.A.Wang,A.Rudenko,P.Reiher,,and G.J.Popek.Conductor:Distributed adaptation for complex networks.Technical Report CSD-TR-990042,University of California,Los Angeles,Los Angeles,CA,August1999.[18]N.Yeadon,A.Mauthe,D.Hutchison,and F.Garcia.QoSfilters:Addressing the heterogeneity gap.Lecture Notes in Computer Science,1045:227–244,1996.。

FIDIC银皮书(中英文对照)

FIDIC银皮书(中英文对照)

CONTENTS目录1General Provisions一般规定 (5)1.1Definitions定义 (5)1.2Interpretation解释 (10)1.3Communications通信交流 (11)1.4Law and Language法律和语言 (12)1.5Priority of Document文件优先次序 (12)1.6Contract Agreement合同协议书 (12)1.7Assignment权益转让 (13)1.8Care and Supply of Document文件的照管和提供 (13)1.9Confidentiality保密性 (14)1.10Employer’s Use of Contractor’s Doc uments雇主使用承包商文件 (14)1.11Contractor’s Use of Employer’s Documents承包商使用雇主文件 (15)1.12Confidential Details保密事项 (15)1.13Compliance with Laws遵守法律 (15)1.14Joint and Several Liability共同的和各自的责任 (16)2The Employer雇主 (16)2.1Right of Access to the Site现场进入权 (16)2.2Permits, Licences or Approves许可、执照或批准 (17)2.3Employer’s personnel雇主人员 (18)2.4Employer’s Financial Arrangements雇主的资金安排 (18)2.5Employer’s Claims雇主的索赔 (18)3The Employer’s Administration雇主的管理 (19)3.1The Employer’s Representative雇主代表 (19)3.2The Employer’s personnel其他雇主人员 (20)3.3Delegated Persons受托人员 (20)3.4Instructions指示 (21)3.5Determinations确定 (21)4The Contractor承包商 (21)4.1The Contractor’s General Obligations承包商的一般义务 (22)4.2Performance security履约担保 (22)4.3Contractor’s Representative承包商代表 (23)4.4Subcontractors分包商 (24)4.5Nominated Subcontractors指定的分包商 (25)4.6Co-operation合作 (25)4.7Setting out放线 (26)4.8Safety procedures安全程序 (26)4.9Quality Assurance质量保证 (27)4.10Site Data现场数据 (27)4.11Sufficiency of the Contract Price合同价格 (28)4.12Unforeseeable Difficulties不可预见的困难 (28)4.13Rights of way and Facilities道路通行权于设施 (28)4.14Avoidance of Interference避免干扰 (29)4.15Access Route进场通路 (29)4.16Transport of Goods货物运输 (30)4.17Contractor’s Equipment承包商设备 (30)4.18Protection of the Environment环境保护 (30)4.19Electricity, Water and Gas电、水和燃气 (31)4.20Employer’s Equipment and Free-Issue Material雇主设备和免费供应的材料 (31)4.21Progress Reports进度报告 (32)4.22Security of the Site现场保安 (33)4.23Contractor’s Operations on Site承包商的现场作业 (34)4.24Fossils化石 (34)5Design设计 (35)5.1General Design Obligations设计义务一般要求 (35)5.2Contractor’s Documents承包商文件 (36)5.3Contractor’s Undertaking承包商的承诺 (37)5.4Technical Standards and Regulations技术标准和法规 (37)5.5Training培训 (38)5.6As-Built Documents竣工文件 (38)5.7Operation and Maintenance Manuals操作和维修手册 (39)5.8Design Error设计错误 (39)6Staff and Labour员工 (39)6.1Engagement of Staff and Labour员工的雇用 (40)6.2Rates of Wages and Conditions of Labour工资标准和劳动条件 (40)6.3Persons in the Service of Employer为雇主服务的人员 (40)6.4Labour Laws劳动法 (40)6.5Working Hours工作时间 (41)6.6Facilities for Staff and Labour为员工提供设施 (41)6.7Health and Safety健康和安全 (41)6.8Contractor’s Superintendence承包商的监督 (42)6.9Contractor’s Personnel承包商人员 (42)6.10Records of contractor’s Personnel and Equipment承包商人员和设备的记录 (43)6.11Disorderly Conduct无序行为 (43)7Plant, Materials and Workmanship生产设备、材料和工艺 (43)7.1Manner of Execution实施方法 (43)7.2Samples样品 (44)7.3Inspection检验 (44)7.4Testing试验 (45)7.5Rejection拒收 (46)7.6Remedial Work修补工作 (46)7.7Ownership of Plant and Materials生产设备和材料的所有权 (47)7.8Royalties土地(矿区)使用费 (47)8Commencement,Delays and Suspension开工、延误和暂停 (48)8.1Commencement of Works工程的开工 (48)8.2Time for Completion竣工时间 (48)8.3Programme进度计划 (49)8.4Extension of Time for Completion竣工时间延长 (50)8.5Delays Caused by Authorities当局造成的延误 (50)8.6Rate of Progress工程进度 (51)8.7Delay Damages误期损害赔偿费 (51)8.8Suspension of Work暂时停工 (52)8.9Consequences of Suspension暂停的后果 (52)8.10Payment for Plant and Materials in Event of Suspension暂停时对生产设备和材料的付款 (53)8.11Prolonged Suspension托长的暂停 (53)8.12Resumption of Work复工 (53)9Tests on Completion竣工试验 (54)9.1Contractor’s Obligations承包商的义务 (54)9.2Delayed Tests延误的试验 (55)9.3Retesting重新试验 (55)9.4Failure to Pass Tests on Completion未能通过竣工试验 (56)10Employer’s Taking Over雇主的接收 (56)10.1Taking Over of the Works and Sections工程和分项工程的接收 (56)10.2Taking Over of Parts of the Works部分工程的接收 (57)10.3Interference with Tests on Completion对竣工试验的干扰 (57)11Defects Liability缺陷责任 (58)11.1Completion of Outstanding Work and Remedying Defects完成扫尾工作和修补缺陷 (58)11.2Cost of Remedying Defects修补缺陷的费用 (59)11.3Extension of Defects Notification Period缺陷通知期的延长 (59)11.4Failure to Remedy Defects未能修补的缺陷 (60)11.5Removal of Defective Work移出有缺陷的工程 (60)11.6Further Tests进一步试验 (61)11.7Right of Access进入权 (61)11.8Contractor to Search承包商调查 (61)11.9Performance Certificate履约证书 (62)11.10Unfulfilled Obligations未履行的义务 (62)11.11Clearance of Site现场清理 (62)12Tests after Completion竣工后试验 (63)12.1Procedure for Tests after Completion竣工后试验的程序 (63)12.2Delayed Tests延误的试验 (64)12.3Retesting重新试验 (64)12.4Failure to Pass Tests after Completion未能通过的竣工后试验 (65)13Variations and Adjustments变更和调整 (66)13.1Right to Vary变更权 (66)13.2Value Engineering价值工程 (66)13.3Variation Procedure变更程序 (66)13.4Payment in Applicable Currencies以适用货币支付 (67)13.5Provisional Sums暂列金额 (67)13.6Daywork计日工作 (68)13.7Adjustments for Changes in Legislation因法律改变的调整 (69)13.8Adjustments for Changes in Cost因成本改变的调整 (70)14Contract price and Payment合同价格和支付 (70)14.1The Contract Price合同价格 (70)14.2Advance payment预付款 (70)14.3Application for Interim Payments期中付款的申请 (72)14.4Schedule of Payments付款价格表 (73)14.5Plant and Materials intended for the Works拟用于工程的生产设备和材料 (73)14.6Interim Payments期中付款 (74)14.7Timing of Payments付款的时间安排 (74)14.8Delayed Payment延误的付款 (75)14.9Payment of Retention Money保留金支付 (75)14.10Statement at Completion施工报表 (76)14.11Application for Final Payment最终付款的申请 (76)14.12Discharge结清证明 (77)14.13Final Payment最终付款 (77)14.14Ce ssation of Employer’s Liability雇主责任的中止 (78)14.15Currencies of Payment支付的货币 (78)15Termination by Employer由雇主终止 (79)15.1Notice to Correct通知改正 (79)15.2Termination by Employer由雇主终止 (79)15.3Valuation at Date of Termination终止日期时的估价 (81)15.4Payment after Termination终止后的付款 (81)15.5Employer’s Entitlement to Termination雇主终止的权利 (82)16Suspension and termination by Contractor由承包商暂停和终止 (82)16.1Contractor’s Entitlement to Suspend Work承包商暂停工作的权利 (82)16.2Termination by Contractor由承包商终止 (83)16.3Cessation of Work and Removal of Contractor’s Equipment停止工作和承包商设备的撤离 (84)16.4Payment on Termination终止时的付款 (84)17Risk and Responsibility风险和职责 (85)17.1Indemnities保障 (85)17.2Contractor’s Care of the Works承包商对工程的照管 (86)17.3Employer’s Risks雇主的风险 (87)17.4Consequence of Employer’s Risks雇主风险的后果 (87)17.5Intellectual and Industrial Property Rights知识产权和工业产权 (88)17.6Limitation of Liability责任限度 (89)18Insurance保险 (89)18.1General Requirements for Insurances有关保险的一般要求 (89)18.2Insurance for Works and Contractor’s Equipment工程和承包商设备的保险 (91)18.3Insurance against Injury to Persons and Damage to Property人身伤害和财产损害险 (93)18.4Insurance for Contractor’s Personnel承包商人员的保险 (94)19Force Majeure不可抗力 (94)19.1Definition of Force Majeure不可抗力的定义 (95)19.2Notice of Force Majeure不可抗力的通知 (96)19.3Duty to Minimise Delay将延误减至最小的义务 (96)19.4Consequences of Force Majeure不可抗力的后果 (96)19.5Force Majeure Affecting Subcontractor不可抗力影响分包商 (97)19.6Optional Termination, Payment and Release自主选择终止、支付和解除 (97)19.7Release from Performance under the Law根据法律解除履约 (98)20Claims, Disputes and Arbitration索赔、争端和仲裁 (98)20.1Contractor’s Claims承包商的索赔 (99)20.2Appointment of the Dispute Adjudication Board争端裁决委员会的任命 (100)20.3Failure to Agreement Dispute Adjudication Board对争端裁决委员会未能取得一致时 (102)20.4Obtaining Dispute Adjudication Board’s Decision取得争端裁决委员会的决定 (102)20.5Amicable Settlement友好解决 (103)20.6Arbitration仲裁 (104)20.7Failure to Comply with Dispute Adjudication Board’s Decision未能遵守争端裁决委员会的决定 (105)20.8Expiry o f Dispute Adjudication Board’s Appointment争端裁决委员会任命期满 (105)1General Provisions一般规定1.1Definitions定义In the Conditions of Contract (“these Conditions”), which include Particular Conditions and these General Conditions, the following words and expressions shall have the meaning stated. Words indicating persons or parties include corporation and other legal entities, except where the context requires otherwise.在合同条件(“本条件”),包括专用条件和通用条件中,下列词语和措辞应具有以下所述的含义.除上下文另有要求外,文中人员或当事各方等词语包括公司和其他合法实体.1.1.1The Contract合同1.1.1.1“Contract” means the Contract Agreement, these Conditions, the Employer’s Requirement,the Tender, and further document (if any) which are listed in the Contract Agreement.“合同”系指合同协议书、本条件、雇主要求、投标书和合同协议书列出的其他文件(如果有).1.1.1.2“Contract Agreement”means the contract agreement referred to in Sub-Clause 1.6[Contract Agreement], including any annexed memoranda.“合同协议书”系指第1.6款[合同协议书]中所述的合同协议书及所附各项备忘录.1.1.1.3“Employer’s requirements”means the document entitled employer’s requirements, asincluded in the Contract, and any additions and modifications to such document in accordance with the Contract. Such document specifies the purpose, scope, and/or design and/or other technical criteria, for the Works.“雇主要求”系指合同中包括的,题为雇主要求的文件,其中列明工程的目标、范围、和(或)设计和(或)其他技术标准,以及按合同对此项文件所作的任何补充和修改.1.1.1.4“Tender” means the Contractor’s signed offer for the Works and all other documents whichthe Contractor submitted therewith (other than these Conditions and Employer’s Requirements, if so submitted), as included in the Contract.“投标书”系指包含在合同中的由承包商提交的为完成工程签署的报价,以及随同提交的所有其他文件(本条件和雇主要求除外,如同时提交).1.1.1.5“Performance Guarantees” and “Schedule of payments” mean the documents so named(if any), as included in the Contract.“履约保证”和“付款计划表”系指合同中包括的具有上述名称的文件(如果有).1.1.2Parties and Persons各方和人员1.1.2.1“Party” means the Employer or the Contractor, as the context requires.“当事方(或一方)”根据上下文需要,或指雇主,或指承包商。

艾德莱斯设计英语作文

艾德莱斯设计英语作文

艾德莱斯设计英语作文When it comes to architecture and design, the name Eduardo Souto de Moura immediately comes to mind. The Portuguese architect, better known as Souto de Moura, is widely celebrated for his innovative and timeless designs that blend traditional and contemporary elements seamlessly. His work, which often reflects a deep understanding of the surrounding environment and a strong sense of place, has earned him numerous awards and accolades throughout his career.One of Souto de Moura's most notable projects is the Braga Municipal Stadium in Braga, Portugal. Completed in 2004, this stadium is a striking example of his architectural prowess. The design of the stadium, with its unique elliptical shape and undulating roof, is both functional and elegant. The use of concrete and steel in the construction of the stadium gives it a modern and sleek appearance, while the incorporation of local materials such as granite helps to root the building in its surroundings.Another key aspect of Souto de Moura's design philosophy is his attention to detail. He believes that every element of a building should serve a purpose and contribute to the overall design. This is evident in his meticulous approach to materialselection, proportions, and spatial relationships. In the Braga Municipal Stadium, for example, the carefully designed seating arrangement and the use of natural light create a comfortable and welcoming atmosphere for spectators.In addition to his architectural projects, Souto de Moura is also known for his thoughtful urban planning and landscaping designs. His ability to create harmonious environments that seamlessly blend with their surroundings is evident in projects such as the Burgo Tower in Porto and the Paula Rego Museum in Cascais. In these projects, Souto de Moura's careful consideration of the site's topography, vegetation, and context results in buildings that feel like a natural extension of the landscape.Overall, Souto de Moura's design philosophy can best be described as a harmonious balance between tradition and innovation, functionality and beauty. His ability to create buildings that are not only visually striking but also functional and sustainable has earned him a reputation as one of the most influential architects of his generation. As he continues to push the boundaries of design and explore new possibilities, it is clear that Souto de Moura's legacy will endure for years to come.。

网页设计与制作外文翻译文献中英文

网页设计与制作外文翻译文献中英文

外文文献翻译(含:英文原文及中文译文)文献出处:Computer Knowledge & Technology, 2013,12(1):31-41英文原文Web design and productionM SiegelAbstractThe paper will study and discuss methods and tools for personal web page design and production. Based on the introduction of web design and production language, we focused on using JavaScript as a tool language for actual web page design and production. We used object-based JavaScript language, the use of internal object systems, and WEB page information interaction—window and framework. Describe it in detail and use specific examples for verification.Keywords: web page production, web design, software, html1 IntroductionWith the advent of the 21st century, people feel more and more deeply that the role of computers in life and work is more and more important. More and more professions need computer application skills. Mastering the need for computers is a career, but also the need for career development. Web design and production is a concrete manifestation of computer capabilities. This chapter mainly introduces related knowledgeof web design.1.1 Web Design OverviewA website is a way for companies to provide information (including products and services) to users and netizens. It is an infrastructure and information platform for companies to develop e-commerce. It is impossible to leave e-commerce (or just use a third-party website) to talk about e-commerce. . The company's web site is called the “Internet Trademark” and is also part of the company's intangible assets. The website is an important window on the Internet to promote and reflect corporate image and culture.1.2 Elements of Web DesignThe two major elements of web design are: overall style and color matching. First, determine the overall style of the siteChapter 2 Application of HTML Web Design Technology2.1 HTML language introductionHTML (HyperText Mark-up Language) is a hypertext markup language or hypertext markup language. It is the most widely used language on the Internet and the main language constituting webpage documents.HTML text is descriptive text composed of HTML commands. HTML commands can describe text, graphics, animations, sounds, forms, links, and so on. The structure of HTML includes two parts: the head andthe body. The head describes the information needed by the browser, and the body contains the specific content to be explained.2.1.1 Features of HTML LanguageHTML document production is not very complicated and powerful. It supports the inlaying of files in different data formats. This is one of the reasons for the popularity of the WWW. The features of the HTML language are as follows:1. Simplicity: The HTML version upgrade adopts a superset method, which is more flexible and convenient.2. Extensibility: The extensive use of HTML language has brought about enhanced functions, increased identifiers, and other requirements. HTML takes the form of sub-elements to provide guarantees for system expansion.3, platform independence. Although PCs are popular, there are plenty of other machines using MAC and so on. HTML can be used on a wide range of platforms, which is another reason why WWW is prevalent.2.1.2 HTML language editing softwareWrite it, too. However, use .htm or .html as an extension when saving, so that the browser can interpret it.2. Semi-WYSIWYG software, this software can greatly improve the development efficiency, it can enable you to make Homepage in a veryshort time, and you can learn HTML, this type of software mainly has HOTDOG, as well as domestic Software webpage workshop.3, WYSIWYG software, using the most extensive editor, you can completely do not know HTML knowledge to make web pages.2.2.3 JavaScript Technology Used in Web DesignOne, JavaScript OverviewJavaScript is an object-based and event-driven scripting language with safe performance. The purpose of using it is to implement linking multiple objects in a Web page together with HTML hypertext markup language and Java scripting language (Java applets) to interact with Web clients. This allows you to develop client applications and more. It is implemented by embedding or loading in the standard HTML language. Its appearance has made up for the shortcomings of the HTML language. It is a compromise between Java and HTML. It has the following basic features:1, is a scripting languageJavaScript is a scripting language that uses small blocks to program. Like other scripting languages, JavaScript is also an interpreted language that provides an easy development process.Its basic structure is very similar to that of C, C++, VB, and Delphi. But unlike these languages, it needs to be compiled first, but it is interpreted line by line during the execution of the program. It iscombined with HTML tags to make it easier for users to use.2, based on the language of the object.JavaScript is an object-based language that can be viewed as an object-oriented one. This means it can use the objects that it has already created. Therefore, many functions can come from the interaction of methods and scripts in the script environment.3, simplicityThe essence of HTML is text, which requires the interpretation of the browser. The HTML editor can be roughly divided into three types: 1. The basic editing software, which can be written using WINDOWS's own notebook or writing, of course, if you use WPS The simplicity of compiling JavaScript is mainly reflected in: First, it is a simple and compact design based on Java basic statements and control flow, which is a very good transition for learning Java. Second, its variable types are weakly typed and do not use strict data types.4, securityJavaScript is a security language. It does not allow access to the local hard disk. It does not store data on the server. It does not allow the modification or deletion of web documents. Information browsing or dynamic interaction can only be achieved through the browser. This effectively prevents data loss.5, dynamicJavaScript is dynamic. It can respond directly to user or customer input without going through a Web service program. It responds to the user's response in an event-driven manner. The so-called event-driven refers to an action that is performed by performing an operation in a Home Page. It is called an "Event". For example, pressing a mouse, moving a window, selecting a menu, etc. can all be considered events. When an incident occurs, it may cause a corresponding event response.6, cross-platformJavaScript is dependent on the browser itself, regardless of the operating environment, as long as it can run the browser's computer, and the JavaScript browser can be executed correctly. In order to achieve the "write once, travel the world" dream. In fact, the most outstanding thing about JavaScript is that you can do a lot of things with very small programs. Without high-performance computers, the software requires only a word processing software and a browser. It does not require a WEB server channel and can do everything through its own computer.In short, JavaScript is a new description language that can be tethered to HTML documents. The JavaScript language can respond to user's demand events (such as form input) without using any network to transfer data back and forth, so when a user enters a data, it does not pass it to the server (server). ) Processing, and then returned to the process, and can be directly handled by the client's application.The third chapter WEB page information interaction - form and frameTo realize the dynamic interaction of web pages, you must master more complex knowledge about form objects and frame objects.3.1 Form BasicsThe form object allows the designer to interact with the client user using different elements in the form, but without having to first perform data input, the behavior of the Web document can be changed dynamically.3.1.1 Form objectForm: It forms the basic element of a Web page. Usually a Web page has a form or several windows, using the Forms[] array to access different forms.3.1.2 Form Object MethodsThere is only one --submit() method for the form object. The main function of this method is to submit the form information. 3.1.3 Form Object PropertiesThe attributes of the window object mainly include the following: elements name action target encoding method. In addition to Elements, several others reflect the state of the corresponding attribute in the identity of the form, which is usually a single form identifier; elements are often an array of values for multiple form elements.3.1.4 Accessing a Form ObjectAccessing a form object in JavaScript can be implemented in two ways: (1) by accessing the formIn the properties of the form object, you must first specify the name of the form, and then you can access the form with the following ID: document.Mytable().(2) access the form through an arrayIn addition to using the form name to access the form, you can use the array of form objects to access the form object. However, it should be noted that because the form object is provided by the browser environment, the array index provided by the browser environment is from 0 to n.3.1.5 Prerequisites for Reference FormsThe condition for reference to a form in JavaScript is that the form must be created on the page with an identifier and the defined form part is placed before the reference.3.2 The basic elements in the formThe basic elements in the form consist of buttons, radio buttons, check buttons, submit buttons, reset buttons, text boxes, and so on. To access these basic elements in JavaScript, you must implement an array subscript or window element name that corresponds to a specific form element. Each element is primarily referenced by its attributes ormethods.3.3 FrameworkThe main function of the Frames Frames is the "split" window, so that each "small window" can display different HTM L files. Different frames can interact with each other. This means that different frames can exchange messages and data. For example: Suppose you have opened two frames. The first frame shows the book's directory. The second frame shows the chapter's specific content.The framework can divide the screen into different areas. Each area has its own URL. Frames[] array objects can be used to access different frameworks. In fact, the frame object itself is also a kind of window, which inherits all the features of the window object and possesses all the attributes and methods. The use of the framework of the specific instructions3.4 Framework AccessEarlier we introduced using document.forms[] to access different elements in a single form. To access different elements of a multiframe in a frame, you must use the Frames property in the window object. The Frames property is also an array. It has one item for each sub-frame in the parent frameset.3.5 Summary of this chapterThis chapter mainly introduces the main functions and uses of thebasic elements in the framework. The use of JavaScript scripts can be very convenient and flexible to implement more complex information interaction of Web pages. This is not what the HTML markup language can provide. Y ou can see from it that JavaScript is a good tool for the Web to involve people.中文译文网页设计与制作作者M Siegel摘要本文将对个人网页设计与制作的方法、工具等展开研究和探讨。

设计创新与创业课程教学大纲

设计创新与创业课程教学大纲
[2]Myrah, Kyleen. A study of public post-secondary entrepreneurship education in British Columbia: The possibilities and challenges of an integrated approach.[D].The University of British Columbia (Canada), ProQuest, UMI Dissertations Publishing, 2003. NQ90237.
课程简介
设计类大学生创新+创业在我国还是新生事物,时间不长,实践中成功的不多,理论上的成果更少,设计创业教育在我国刚刚起步。因此,加强我国在校大学生的创业理念教育和创业技能培养,已是一项重要和紧迫的任务。本课程正是基于这一大背景下,探索基于我国国情的设计类大学生设计与创业一体化培养模式及方法,主要内容有听取设计界成功专家的设计与创业经验;基于自己所熟悉的专业知识寻找、发现某个问题或者市场机会进行专项调研;针对该问题进行设计创新并给出合理的设计解决方案;为自己的设计方案写出创业计划书;熟习淘宝众筹、京东众筹等平台上关于创业计划书的格式及相关要求并写出自己的众筹方案。
[4]Mushipe, Zuvarashe Judith. Entrepreneurship Education --- An Alternative Route to Alleviating Unemployment and the Influence of Gender: An Analysis of University Level Students' Entrepreneurial Business Ideas.[J].International Journal of Business Administration4.2 (Mar 2013): n/a.

网页设计专业毕业设计外文翻译

网页设计专业毕业设计外文翻译

Produce the design of the tool and realize automaticallyon the basis of JSP webpageIt is an important respect that Internet uses that Web develops technology, and JSP is the most advanced technology that Web is developed , it is present Web developer's first-selected technology. But because JSP has relatively high expectations for Web developer, a lot of general Web developers can not use this advanced technology . The discussion produces the design of the tool and realizes automatically on the basis of JSP webpage of the template and label storehouse, put forward concrete design philosophy and implementation method .With the popularization of WWW (World Wide Web ), the technology of the dynamic webpage is developed rapidly too. From original CGI (Common Gateway In-terface ) to ASP (Active Server Page ), have met the webpage developer to the demand for developing technology of the dynamic webpage to a certain extent. But no matter CGI or ASP have certain limitation, for instance, consuming to resources of the server of CGI, ASP can only be used etc. with Microsoft IIS, all these have limited scope of application of the technology, have hindered their popularization greatly. The vast page developers all look forward to a kind of unified page and develop technology earnestly, characteristic that this technology there should be:①Have nothing to do with the operating platform, can run on any Web or the application program server ;②Show the logic and page of application program that separates ; ③Offer codes to put in an position, simplify and develop the course based on interactive application program of Web.JSP (Java Server Page ) technology is designed and used for responding to the request that like this. JSP is developed technology by the new webpage that Sun MicroSystem Company put out in June of 1999, it is that Web based on Java Serv-let and the whole Java system develops technology, and Servlet2. Expansion of 1API. Utilize this technology, can set up advancedly , safely and stepping dynamic websites of the platform .Java is the future mainstream to develop technology , have a lot of advantages . JSP is Java important application technology on Internet/Intranet Web , get extensive support and admit, it can conbine with various kinds of Java technology together intactly , thus realize very complicated application.As a kind of technology of development based on text , taking showing as centre, JSP has offered all advantages of Java Servlet. Logic function in order to make sure and showing the function was separated , JSP can already work with JavaBeans , Enterprise JavaBeans (EJB ) and Servlet . The developer of JSP can finish the work that majority and website's logic are correlated with through using JavaBeans , EJB and Servlet , and only assign the work shown to JSP page to finish. Content and show advantage that logic separate lie in , upgrade person , page of appearanceneedn't understand Java code , the personnel upgrading Javas needn't be experts who design webpage either. This can define Web template in JSP page with Javas , in order to set up websites made up of a page with similar appearance. Java completion data offer, have Java code among template, this mean template these can write by one HTML person is it maintain to come.JSP develops technology as the webpage of the mainstream at present, has the following characteristics:(1) Separate the formulation and showing of the content : Using JSP technology, the page developer of Web can use HTML or XML identification to design and format the final page . Use JSP identification or bound foot turn into dynamic content of page actually (whether content according to is it come change to ask). Produce logic of content of the identification and JavaBeans package , truss up of the little script encapsulation, all scripts run in the end of the server. If key logic among identification and JavaBeans, then other people, such as Web administrative staff and page designer encapsulation, can edit and use JSP page , and does not influence the formulation of the content .(2) Emphasize the reusable package : Most JSP pages depend on the reusable one, the package stepping the platform finish more complicated treatment with required application program. Benefitting from the independence of operating platform of Java, the developer can be very convenient to share and exchange and carry out the ordinary package that operated, or make these packages used by more users. The method based on package has accelerated the total development course, the efficiency of improving the project and developing wholly greatly.Though JSP is powerful, it requires the webpage developer should be quite familiar with Java. There are still relatively few Java programmers now, for general webpage developer, the grammar of JSP is more difficult to grasp . So, need a kind of webpage developing instrument and offer commonly used JSP application to general webpage developer, is it understand general page develop developer of technology (HTML ) can use strong function of JSP too only to let.Systematic design object and main technology of use:(1)Design objectSystem this design object for understand but HTML understand general webpage developer of JSP offer a webpage developing instrument at all only, enable them to follow the systematic file, use the daily function of JSP through the label, produce one finally and only include static HTML and dynamic JSP webpage of JSP label.(2)Main technologyThis system is in the design, consider using the technology of the template and JSP label to realize mainly.1、Technology of the templateThe technology of the template is widely applied to various kinds of development and application system. It produces some commonly used frame structure in advance , uses the family to choose the template from the template storehouse conveniently according to the needs of one's own one, is it is it put up to go again by oneself to need , save construction period in user , facilitate use of user. In this system , classify the page according to the function type , sum up the commonly used page type, produce the template storehouse.2、Storehouse technology of the labelIn JSP, movements can create and visit the language target of the procedure and influence the element exported and flowed. JSP has defined six standard movements. Except six standard movement these, user can define own movement finish the specific function. These movements are known as the customer movement, they are the reusable procedure module . Through movement these, programmer can some encapsulation stand up too display function of page in JSP page, make the whole page more succinct and easier to maintain. In a JSP page, movements were transfered through the customer label in these customers. And the label storehouse (Tag Library ) is the set of the customer label.JSP label storehouse is that one kind produces the method based on script of XML through JavaBeans. It is one of the greatest characteristics of JSP. Through the label storehouse , can expand JSP application unrestrictedly , finish any complicated application demand.JSP label storehouse has the following characteristic:①Easy to use: The labels in JSP and general HTML marks are totally the same in appearance, it is as convenient as ordinary HTML mark to use.②The easy code is paid most attention to: Every label in the label storehouse can finish certain function . Define ready to eat one label storehouse , is it pack one Jar file the label storehouse to need only, then only need use this label storehouse in other systems afterwards, needn't develop codes again , has raised the system and developed efficiency greatly, have reduced the development cost.③The easy code is safeguarded: All application logic is encapsulated in label processor and JavaBeans, all labels concentrate on a label storehouse. If need to upgrade codes or need to revise the function on a webpage, only need to revise the corresponding label. Maintain way in unison through this kind , it is unnecessary in each webpage is it is it fix to act as to get onning, have reduce the work load safeguarded greatly, has economized the cost of safeguarding.④The easy system is expanded : If need to add the new function to the system , only need to define a new label to finish this function, do not need to do any change to other respects of thesystem. Can inherit JSP normal characteristics of various fields in the label storehouse. Can expand and increase the function of JSP unrestrictedly like this, and does not need to wait for the appearance of the next edition JSP .Systematic composition and realizing:(1)The system making upThis system is made up of four parts mainly:1、The database joins some: This system supports several daily databases , including Oracle, Sybase, MSSQLServer, MySQL and DB2, use JDBC and database to link to each other according to database type and database name , user name , password that users offer that users choose.2、The basic form of system produces some: After joining with the database , produce the basic form TC-Tables and TC-Columns of two systems according to the user name linking to each other with the database , TC-Tables form includes English name , Chinese name and some attribute of form belonging to this user in this database , for instance can revise , can inquire about ; The Chinese and English name of the row and some other attribute that TC-Columns form includes belonging to all forms of this user's in this database . For instance can show , can inquire about . Basic information of the database that these basic forms of two systems provide to user's institute for use in the course of development of the whole system.3、The template is chosen to produce some with the webpage: This part is a key part of a system. It includes two pieces of sub module .①The template is chosen some: The system offers the template to user and chooses the interface, let users choose the templates used from the template storehouse according to the need.②The template is dealt with some: According to template that user choose, system transfer designated template deal with module is it punish to go on to these template. When dealing with the label that the procedure meets in the template, offer the mutual interface to user, let user input parameter for designated label , prove system validity of label that user input. Finished the formulation of JSP page systematically finally.Webpage preview is with revising some: After the webpage was produced out, the system has offered a webpage preview window and code to user and looked over that revises the window. Through this preview window, users can look at the result of JSP page produced out in advance . If user static result of respect in page very satisfied, user can through code look over revise window revise HTML code of code. If users have further demands for the static result of the page, the system has also offered a piece of interface which transfers DreamWeaver editing machine to user, users can use it to carry on further modification and perfection to the static result of JSP page that is produced out .(2)Systematic realization1、Realization of the template storehouse and label storehouseThe planning and design of the label storehouse are essential in the whole system design, efficiency that the degree and system that are put in an position have operated that its relation has reached codes. Its planning should follow the following principle .(1) Should try one's best little including static HTML among label. To general user, the label is transparent. Users can not look over and revise labels . If include too many static HT-ML sentence in the label , will influence the modification and perfection of user's static result to the page, limit the use of the label.(2) Try one's best to raise the paying most attention to degree of the code. Is it is it is it is it is it is it get to JSP public JSP out to withdraw to use to try one's best to classify to go on to use, form labels. Do not use and realize this application repeatedly in each label . While revising and perfecting to using like this , only need to revise this label, maintenance of the easy code.(3) Facilitate users' use. While designing the label storehouse , should fully consider users' operating position , it can very easy and understanding and using labels conveniently to use the family.①Definition of the label storehouse: Define a label storehouse, must define a label storehouse and describe the file (TLD ) at first . This is a file of script based on XML, have defined the edition of XML in this file , codes used, the edition , name and definition and parameter of all labels included in this storehouse of the label storehouse of the edition of the label storehouse , JSP used describe, including the name of the label, corresponding Javas of label, description information of the label ,etc..②Realization of the label: One label first special Java type, this each must inherit TagSupports , this each is in javax. servlet. jsp. Define in tagext bag . In the labels, the parameter which includes this label initializes the subject treatment method (Handler ) of method (Set/Get ) , label and method available for making the first class label to adjust,etc..③Realization of the template : A template is that one contains JSP file that labels quoted . In order to quote the labels defined in the template , must introduce the label storehouse at first .<%@taglib uri=“tag.tld”prefix=“ctag”%>Among them uri appoints the label storehouse to describe the route of the file ; Prefixes used when prefix appoints to quote labels.While quoting the designated label in the template , use the designated prefix while introducing the label storehouse, appoint the name of the label; It is the parameter assignment of the label.2、Systematic development environmentWhat this systematic subject procedure making is used is JBuilder 6 of Borland Company. 0, it is Front-Page2000 of Microsoft Company that the template is developed and used, what the label storehouse is developed and used is UltraEdit editing machine, what JDK is adopted is JDK1.4. The system testing environment is JRun3. 0.Java future mainstream to develop language, and Java using JSP will become major technology that Web will be developed in the future too mainly at Web. This system has adopted the label storehouse , one of the biggest characteristics of JSP, enable the general Web developer to use JSP strong dynamic page function conveniently too, develop JSP dynamic Web page of the modern techniques. Because this system adopts Java to develop, can run under the operating system of any support graphic interface , have realized complete having nothing to do with the platform. This system is easy to expand and perfect. Can consider offering the interface to user afterwards , will use the family to expand the template storehouse and label storehouse by oneself, strengthen the systematic function further.List of references:[1] Cay S. Horstmann,Gary Cornell. Java 2 key technology (CoreJava 2 ) [M ]. Beijing: Publishing house of the mechanical industry.[2] Bruce Eckel. Java programming thought (Thinking in Java ) [M ]. Beijing: Publishing house of the mechanical industry.[3] Joseph L. Weber. Java 2 programming is explained in detail (Using Java 2) [M ]. Beijing: Electronic Industry Press.[4] Borland Company. Building Applications with JBuilder.基于JSP网页自动生成工具的设计与实现Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术。

scm供应链管理-DS供应链管理 精品

scm供应链管理-DS供应链管理 精品
• Visibility
All partners have real time information about status and performance of each element in the supply chain from customers to suppliers.
• Optimization
• Collaborative Supply Planning CSUP • Collaborative Production Planning • Capable to Promise CTP • e-Procurement (auctioning, bidding) • Internet-based Tendering • Internet-based Kanban • e-Fulfillment
Material/Service Supplier Integration
• Fusion • Financial Linkage • Strategic Alignment • Operational Supplier Relationship Management
High Achievers:
10:00 - 11:00 - e-Procurement Overview
11:00 - 11:15 -
Break
11:15 - 12:00 - c-Manufacturing
12:00 - 1:00 -
Lunch
1:00 - 2:30 - Workshop
2:30 - 3:00 - Implementation Considerations, Case Studies
– Develop interlocking programs and activities – Commit to shared responsibility with suppliers – Place employees at customer/supplier business facilities – Enter into long-term agreements – Include suppliers’ suppliers in planning

A web-based multimedia virtual experiment

A web-based multimedia virtual experiment
Abstract – A physical experiment from the undergraduate thermo-fluids laboratory titled “Venturimeter as a Flow Measuring Device” has been chosen for its mapping into the virtual domain, as a computer-based experiment. The virtual experiment described in the present study, combines three unique aspects simultaneously: use of computer generated (virtual) data to recreate the physical phenomenon, virtual experimentation and measurement on a computer screen, and coupling of the virtual experiment with the LabVIEW software to introduce students to digital data acquisition and analysis. The proposed multi-media module has three submodules namely, the physical sub-module, the experimental details sub-module, and the virtual experiment sub-module, for introducing students to physical system configuration, experimental procedure, and detailed instructions for conducting virtual experimentation, data acquisition and analysis. The proposed module is expected to impact the development of virtual engineering laboratories for webbased distance learning undergraduate engineering programs Index Terms – Virtual experiment, web-based laboratories, interactive experimentation, e-devices. University’s TELETECHNET distance learning network. Live televised courses are beamed to several receiving sites in Virginia and across the country. Laboratory courses are offered through creation of videotapes and CD-ROMS of all experiments for viewing by distance students [2-3]. However, the videotape or CD-ROM based delivery methods fail to incorporate two critical aspects of laboratory experiments. First, the distance students are a passive audience, not actively participating or exercising control generally afforded by a real-life experimental set-up. Second, there is also absence of teamwork and communication among students – critical ingredients of an engineering education – in the video or CD-ROM based laboratory instruction. The Old Dominion University engineering technology programs have also used in past a mobile thermo -fluids laboratory for providing access to distance students at remote locations. However, this approach has been abandoned in favor of the CD-ROM and video-based laboratory instruction due to difficulty of serving many centers with one mobile laboratory.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Design and Implementation of a WEB-based non-Markovian Stochastic Petri Net Tool
A. Horvath y, A. Pulia to *, M. Scarpa x, M. Telek y, O. Tomarchio *
* Istituto di Informatica e Telecomunicazioni Universita di Catania, 95125 Catania, Italy Dipartimento di Informatica Universita di Torino, 10149Introduction
The analytical approach to the evaluation of systems is being increasingly viewed as an integral part of the process of design, analysis and tuning of computer systems. Analytical models give results whose accuracy depends on the designer's ability and on the level of detail of the model employed. Furthermore, once the model has been developed, its solution is generally very quick, so an accurate analysis of the system can be made with the variation of all the model parameters.
2 Special model speci cation techniques are needed that help analysts to describe their systems in such a way that the models can be understood at the level of the system designer, rather than at the mathematical level. Software environments that support these speci cation techniques for analytical models are needed. Such environments (tools) should allow for the easy speci cation and e cient solution of the models. Furthermore, they should allow for the control of the numerical solution of the models as well as for a suitable presentation of the results. Petri nets are commonly viewed as a valid tool for the qualitative and quantitative study of systems. Many Petri nets modeling tools have been proposed or developed recently (e.g. ESP 7], GSPN 4], SPNP 5], DSPNExpress 14], TimeNet 10], UltraSAN 6]). Some of the above tools have also implemented the possibility of including some non-Markovian features thus extending the range of applicability of PNs. Their main limitations regard the kind and number of generally distributed (GEN) transitions and their associated preemption policy. A very limited number of simultaneously enabled GEN transitions is allowed. And usually it reduces to only one. Further, the preemptive repeat di erent (prd) policy is the only adopted. The preemptive resume (prs) and the recently proposed preemptive repeat identical (pri) policies 2], although very powerful, are not yet implemented. The rst restriction can be relaxed by the analytical results available for the analysis of PN with non-overlapping prs general transitions 3], and there is an active research to nd the proper way to analyze PN with concurrently active general transitions 14, 15]. Some analytical results for the analysis of non-Markovian PNs have been recently presented which make use of Markov regenerative theory but, as far as we know, an automatic procedure based on this approach has not been produced yet. The only possible approach for the analysis of PN models, with prs and prd general transitions, is the Phase type (PH) approximation. With this technique, the marking process of the non-Markovian SPN is approximated by an expanded Markov chain. The main drawback of the PH approximation consists in the very large state space of the expanded Markov chain, mainly if the random ring times have a low coe cient of variation. The pri policy is not captured with the (PH) approximation. In this paper we present a new modeling tool for the analysis of non-Markovian stochastic Petri nets that relax some of the restrictions present in currently available modeling packages. This tool, called WebSPN, provides a discrete time approximation of the stochastic behaviour of the marking process which results in the possibility to analyze a wider class of Petri net models with prd, prs and pri concurrently enabled generally distributed transitions. A Web-centered view has been adopted in its development in order to make it easily accessible from any node connected with the Internet as long as it possesses a Java-enabled Web browser. WebSPN also provides sophisticated security mechanisms to regulate the accesses which are based on the use of public and private electronic keys. The rest of the paper is organized as follows: in Section 2 we will review the main concepts of non-Markovian stochastic Petri nets and introduce the prd, prs and pri preemption policies. Section 3 brie y outlines the proposed discretization approach. Section 4 shows how it is possible to use the Java technology for the Web sharing of
x
Department of Telecommunications Technical University of Budapest, 1521 Budapest, Hungary
相关文档
最新文档