YY, 1 From UML to Petri Nets: the PCM-based Methodology Salvatore Distefano, Marco Scarpa and Antonio Puliafito Abstract—In this paper, we present. Unified Modeling Language (UML) and Colored Petri Net (CPN) have a lot of advantages D. SalvatoreFrom UML to Petri Nets: The PCM-Based Methodology. Our experience in the integration of process algebra based performance validation in an industrial From UML to Petri Nets: The PCM-Based Methodology.
|Published (Last):||26 January 2011|
|PDF File Size:||4.90 Mb|
|ePub File Size:||15.10 Mb|
|Price:||Free* [*Free Regsitration Required]|
Skip to main content. Log In Sign Up. The proposed approach is based on open and well-known standards: The intermediate model is translated into a performance model subsequently evaluated. The paper is focused on the mapping from the PCM to the performance domain. More specifically, we adopt Petri nets as mehodology domain, specifying a mapping process based on a compositional approach we have entirely implemented into ppetri ArgoPerformance tool.
All the rules to derive a Petri net from a PCM and the performance measures assessable from the former are carefully detailed. To validate the proposed technique we provide an in depth analysis of a web application for music streaming. The methodology splits the translation from the UML domain growing interest during the last decade. The former approach , , performance properties of a software step maps the UML model into pcm-hased PCM, subsequently architecture should be analyzed and evaluated before it is mapped into the corresponding performance model the implemented.
In this way, bugs or unsatisfactory perfor- latter step. The idea of an intermediate model offers the mances can be identified in the design phase, reducing time advantage of being independent from both the particular and implementation costs through a careful comparison UML representation and the adopted analysis formalism.
The work made by OMG The intermediate model approach provides flexibility to the Object Management Groupin particular the specification methodology allowing to use different analysis techniques of UML Unified Modeling Language , and its sudden for evaluating the performance of a software architecture.
We implemented our methodology into the ArgoPerfor- mantics, that can be extended and merged with various mance tool , , a performance plug-in integrated in the application domains. In the last years, pcm-baswd works have been proposed Since the software activities cannot always be mod- to automatically map UML-SPT models into performance eled by exponential distributions, we chose non-Markovian models such as Petri nets , , , , queueing networks Stochastic Petri Nets NMSPN as performance model.
Dif- , , , or simulation . Scarpa are with the University of Messina, Contrada pdf, the mapping we specify in the following produces di Dio, Messina, Italy.
Another valuable The remainder of the paper is organized as follows: Section 5 discusses how target performance models of layered queueing network performance measures can be derived. In section 6 an type. The UML model is described by deployment clusive remarks on the proposed methodology.
The software architecture nwts description is UML models and labeled generalized stochastic Petri nets implemented by higher level use case diagrams, detailed LGSPN in two steps: They propose a UML perfor- diagram, composing the software architecture behavioral mance simulator which transforms the UML software ar- UML description, is independently converted into the cor- chitecture model into a discrete-event simulation model.
An extension of this methodology is pro- Some other interesting works related to the Jethodology topic, posed in , , where UML state machines and activity updated toare summarized in . The final PN model is obtained The technique developed in the ArgoPerformance tool, exploiting compositional technique. A limit of such ap- implements the translation from the SPT-annotated UML proach lies in the assumption of infinite resources, namely model to the PN by exploiting an intermediate model, the by disregarding the hardware influence.
Moreover, the use performance context model PCM. Several other techniques of UML-SPT is marginal, only concerning the performance , , , ,  are based on intermediate models annotation of sequence diagrams, state machine diagrams for translating UML ghe into performance mod- and activity diagrams. This represents the software archi- the software architecture and viceversa, merging different tecture computing system structure by using deployment workloads into a unique ul the capability to de- diagrams, associating software architecture modules to fine specific access policies regulating both the capacity components.
The specific access management policy scheduler, buffer policy, CSM is based on the SPT profile and can be mapped into etc. A similar approach is specified in , into GSPN. In  Petriu and Shen propose to adopt the layered thf 3. The The approach we proposed in ,  splits the transition transformation from UML is divided into two sequential from the UML design domain to the performance domain steps: YY, 3 use case, activity, statechart, and interaction SPT-annotated ular decomposition of the software architecture under diagrams, while the architecture of the computing system exam.
Each scenario is executed by a job class or user elaborating the methodloogy is represented by a deployment dia- class with a given load intensity WorkLoad objectand gram step 1. Each component of the deployment diagram these classes are either open or closed. An open workload can be further specified by detailed sub-component dia- OpenWorkload has a stream of requests that arrives grams hierarchically nested. Performance requirements and at a given rate in some predetermined patterns such as specifications are expressed by SPT tags, tagged values and Poisson arrivals occurencePatternwhile a closed stereotypes extended and adapted to our technique , workload ClosedWorkload has a fixed number of active .
Once a UML-PCM compliant-model is specified, it is or potential users or jobs that cycle between executing the mapped into the corresponding PCM step 2and succes- scenario population and spending an external delay sively translated into the selected performance model step period externalDelay outside the system during the 3. The step 4 is devoted to analyze the performance model.
The results of such analysis are then compared against As introduced in section 2, one of the main contribu- the performance requirements, and a correction action is tion of the work is to allow to probabilistically associate eventually taken in the following step 5 Re-Engineering workloads to scenarios.
The link between WorkLoad and with the supervision of the modeler. The process is iterated PScenario is realized by a PTransitionStep object until the performance requirements are satisfied. A step ArgoPerformance automatically evaluates its performance may be an elementary operation at the finest granularity or and give back the results obtained.
The required measures it may be defined as a sub-scenario, at any level of nesting. Therefore, only steps 1 methodollogy 5 need the interaction to characterize specific constructs.
The elementary steps are: The PForkStep the step 3 of this technique: The PDeciderStep represents a introduction of the PCM elements, attributes and associ- choice, a condition, among mutually exclusive successors ations is necessary.
It is always followed the elements and the information necessary to evaluate by a PMergeStep that collects all the branches incom- the performance of the selected independent part of the ing from the matching PDeciderStep. Similarly to the software architecture. PerformanceContext has two at- workloads, PTransitionStep objects are also used to tributes: The former indicates characterize the PDeciderStep outputs with the prob- the maximum number of users simultaneously accepted abilities that the corresponding choices are performed.
They can latter specifies how many users can be concurrently served. Anyway, such attributes are optional, if The former model computing units jml. CPU, network, they are unspecified no limitations on the access to the server offering their services according to a fixed policy considered software part or module are represented, al- specified in the schedulingPolicy attribute, and have lowing to not limit the number of manageable requests service times.
The latter model resources acquired and and the degree of concurrency of the system resources. In corresponding deployment diagram.
YY, 4 PerformanceContext pc name: The from the original UML model. The edges represent and measures evaluated in the performance analysis are fed highlight the flow of the steps. The PTimedStep objects in back to the pcm-bwsed by the utilization and throughput Fig.
There was a problem providing the content you requested
It In this section, we intend to describe the phases and the set describes a simple website application, in which a flow of of rules to map a PCM model into a Petri net. The proposed users, distinguished as Anonymous open workload and mapping algorithm is composed of two phases. In the first Registered closed workloadrequest web pages to the phase each PCM element is mapped into the corresponding application running into a Server node.
The com- the user Sending Banner while processing the incoming position operation we adopt is a simplified version of that request. If the request is well-formed, the website sends detailed in , exclusively applied on places. The BLPN are back the requested webpage decomposed into three distinct composed by assigning identical labels to corresponding parts framesby iterating three times the Sending content places.
Conflicts, and problems on labels may arise if two action. Otherwise the application sends a Bad request or more PCM objects have the same names, since this can message, as shown in the activity diagram of Fig.
From UML to Petri Nets: The PCM-Based Methodology – Semantic Scholar
In particular, by these we name. The object diagram ted to the website application, three of them are concur- describes a specific instance of the PCM meta-model de- rently processed and, at most, other two are buffered, while picted in the Fig. Starting from such object diagram, the the exceeding ones are refused by the system. Some- model mapping the original UML hets, is reported in Fig.
The website application example: If both contain tokens, MT1 and MT2 are concurrently enabled. When the winner neets 4.
From UML to Petri Nets: The PCM-Based Methodology
The two attributes characterizing processed and therefore such user is ready to submit a new access policies, capacity and concurrent, are mapped into request. In the specific of the example depicted in Fig. The access policy of the Website scenario is in the following. Our example contains two workloads: Once a job is scenario Website, as reported in the use case diagram of performed, the corresponding user comes back to the initial Fig. The Access Policy the system.
An OpenWorkLoad instead methodloogy a stream hte, AUExample and ExampleAU places for the of requests virtually infinite whose inter-arrival times open workload, respectively.
The Website scenario is in- are distributed according to the o. Scenario m Scenario This methdology b and 4 c respectively, are almost the same, the only characterization has allowed to use the compositional ap- differences are in the attribute of transition DT and in the proach. Such BLPN are composed generic step, it would be really hard to specify the cor- of two blocks: Therefore, in the following, the mapping is implemented Fig. RUExample and Exam- 4. All the possible relations of o with the other the open workload OW of the logical example described in PCM objects of M are depicted in the object diagram of the subsection 3.
A PTimedStep o is associated to a predecessor is similar to that of the Fig.
A resource associated U: The ;cm-based models a simple generic wl successor 3 WT4 timed step, while the latter represents a generic timed W: PVertexStep ARstart step with repetition.
For PCM of Fig. SC, composing their input place ARstart. YY, 8 4. The labeling ensures that all the steps involved cor- ARFork1 rectly matches.