This application is a National Stage Entry of PCT/JP2012/003644 filed on Jun. 4, 2012, which claims priority from Japanese Patent Application 2011-132377 filed on Jun. 14, 2011, the contents of all of which are incorporated herein by reference, in their entirety.
The present invention relates to an evaluation model generation device, an evaluation model generation method, and an evaluation model generation program capable of reducing the number of man-hours required for describing evaluation models.
Upon design of an IT system, it is necessary to evaluate and verify whether the design satisfies functional and non-functional requirements (performance, availability, etc.). The methods and techniques for modeling the target system to be evaluated and implementing its functions and non-functions have long been studied. Recently, there have been proposed methods for describing the configuration and behavior of a system in UML (Unified Modeling Language), SysML (Systems Modeling Language) or like modeling language and evaluating the non-functional requirements (NFR) of the system. Because UML adopts drawings as the way of describing models, the language is easy for system engineers (SE) to understand and is appreciably conducive to being used in modeling. SysML is an extended language of UML for system modeling.
There exist methods (e.g., see Patent Literature 1, 2, 3) which, based on the system behavior described by sequence charts and activity charts in UML, automatically generate a queuing model for example. There are also methods (e.g., Patent Literature 4) of simulating the operation of an SoC (System on a Chip) by carrying out performance evaluation using an automatically generated performance evaluation model.
Where an IT system is to be modeled, it is preferred that the hardware configuration (called the server model hereunder) and the software configuration and behavior (called the process model hereunder) be defined separately. That is because the process model and the server model can be designed independently of each other. In fact, the server model and the process model are frequently defined separately. Also, when the server model and the process model are handled separately, the system model is modularized into the server model and the process model so that each model can be managed with ease.
The server model represents the hardware configuration and specifications of the servers involved and the connection relations between the servers on a network, among others. Sometimes, the OS and middleware running on the servers may be included in the server model. The process model describes the behavior between processes such as data exchanges, in addition to the connection relations between the processes. Information indicating which process is executed on which server is described in the form of correspondence relations (called allocations hereunder) between the elements in the process model and those in the server model.
The method of describing the server model and process model separately as outlined above has been practiced with MARIE (Modeling and Analysis of Real-Time and Embedded Systems) (see Non-Patent Document 1) and in AADL (Architecture Analysis and Design Language) (see Non-Patent Document 2), among others. This description method is also adopted by the technique described in Patent Document 3. MARIE is defined as the extended attributes (profile) of UML for evaluating the non-functional requirements of performance, for example. AADL is a modeling language having the function of evaluating non-functional requirements. As with UML, AADL is capable of modeling the system in an easily understandable manner using drawings.
Non-Patent Literature 1:
Where the server model and the process model are described separately, the description of allocations can be troublesome.
In describing allocations during modeling with MARIE as shown in
It is therefore an object of the present invention to provide an evaluation model generation device, an evaluation model generation method, and an evaluation model generation program capable of reducing the amount of the allocations described when a system is modeled hierarchically into a server model and a process model using UML or like modeling language.
According to the present invention, there is provided an evaluation model generation device for generating an evaluation model which evaluates the function or non-function of an IT system based on a system model including a process model which describes processing between processes on the IT system, a server model which describes a physical system configuration of the IT system, and allocations which represent correspondence relations between the elements in the process model and those in the server model, the evaluation model generation device including: path enumeration means which extracts a process path between processes in the process model, and a server path corresponding to the process path and located on the server model; allocation estimation means which estimates the allocation based on the process path and the server path; and model conversion means which converts the system model into the evaluation model using the process paths, the server paths, and the estimated allocations.
According to the present invention, there is also provided an evaluation model generation method for generating an evaluation model which evaluates the function or non-function of an IT system based on a system model including a process model which describes processing between processes on the IT system, a server model which describes a physical system configuration of the IT system, and allocations which represent correspondence relations between the elements in the process model and those in the server model, the evaluation model generation method including the steps of: extracting a process path between processes in the process model, and a server path corresponding to the process path and located on the server model; estimating the allocation based on the process path and the server path; and converting the system model into the evaluation model using the process paths, the server paths, and the estimated allocations.
According to the present invention, there is also provided an evaluation model generation program for generating an evaluation model which evaluates the function or non-function of an IT system based on a system model including a process model which describes processing between processes on the IT system, a server model which describes a physical system configuration of the IT system, and allocations which represent correspondence relations between the elements in the process model and those in the server model, the evaluation model generation program causing a computer to execute a procedure including the processes of: extracting a process path between processes in the process model, and a server path corresponding to the process path and located on the server model; estimating the allocation based on the process path and the server path; and converting the system model into the evaluation model using the process paths, the server paths, and the estimated allocations.
According to the present invention, when a system is modeled hierarchically into a server model and a process model using UML or like modeling language, the amount of described allocations can be reduced, and errors in the allocation description can be diminished.
The first exemplary embodiment of the present invention is explained below in reference to the accompanying drawings.
As shown in
As information processing equipment, the evaluation model generation device 100 reads a system model in which the design information about an IT system is modeled, and outputs an evaluation model for evaluating the performance and other aspects of the system in question.
The system model includes a process model representative of the configuration and behavior of software, a server model indicative of the configuration of hardware, and allocations denoting the correspondence relations between the process model and the server model. The system model may be stored either in storage means (not shown) provided in the evaluation model generation device 100 or in a storage device external to the evaluation model generation device 100.
The path enumeration means 110 extracts the paths described in the process model and server model included in the system model.
The allocation estimation means 120 estimates allocations based on the path information extracted by the path enumeration means 110.
The model conversion means 130 converts the system model into the evaluation model based on the information about the system model and on the allocations estimated by the allocation estimation means 120.
As shown in
A filled circle shown in
The lozenge “branch” 203 indicates that the process “db” 2004 is performed only if the branch condition is met and that otherwise the process “db” 204 is skipped. A description “A→B” in the process model shows that A is a parent of B or B is a child of A.
The process model can be described using a sequence chart such as one shown in
“CLIENT” 401 shown in
The allocation table shown in
The details shown in
The operation of this exemplary embodiment is explained next.
Initially, the evaluation model generation device 100 extracts process paths from the server model by using the path enumeration means 110.
The path enumeration means 110 first extracts the paths between elements acting as sources of allocation (called process paths hereunder) from the process model (step S601). In the example shown in
Next, the path enumeration means 110 replaces the elements in the process paths according to the allocation table (step S602). The paths following the replacement are called post-allocation paths. For example, the elements “client” and “www” included in the process path “client→m1→www” are replaced with “CLIENT” and “WEBSV” based on the allocation table in
Lastly, the path enumeration means 110 searches for the shortest path between the paired elements on the server model in each post-allocation replacement path, and replaces the paired elements with the shortest path detected (step S603). The path following the replacement is called a server path. For example, the post-allocation path “CLIENT→WEBSV” includes “CLIENT” paired with “WEBSV.” And the shortest path between these paired elements on the server model is “CLIENT→ROUTER→SW→WEBSV.” The search for the shortest path can be implemented using a known breadth-first search algorithm for graphs.
Next, the evaluation model generation device 100 causes the allocation estimation means 120 to estimate allocations not explicitly designated in the allocation table. The allocation estimation means 120 compares each process path with the corresponding server path to determine which of the elements in the server path corresponds to those elements in the process path not found in the allocation table.
In the example of
Then the evaluation model generation device 100 causes the model conversion means 130 to convert into an evaluation model the system model that includes the estimated allocations. The method of conversion into an evaluation varies depending on the target to be evaluated. This exemplary embodiment may adopt an example in which the method of conversion into a performance evaluation model is used. The performance evaluation model represents the processing flow on the server model. Furthermore, the performance evaluation model is additionally provided with the attributes necessary for performance evaluation.
When performance evaluation is performed, each of the elements of the system model is provided in advance with additional information (annotations) for performance evaluation.
The annotation “message=10 KB” shown in
The annotation “latency=1 ms” shown in
The model conversion means 130 extracts from the process model in
If the extracted node N is a start node, an end node, a branch node, or a merge node, the model conversion means 130 generates the corresponding start node, end node, branch node, or merge node N′. If the node N has a parent node P, the model conversion means 130 generates a link to the node N′ from the node P′ resulting from the conversion of the node P.
If the extracted node N is a process node, the model conversion means 130 generates a process node N′ corresponding to the node N based on the allocation table. And based on the server path extracted by the path enumeration means 110, the model conversion means 130 examines whether there exists a path to the node N′ from a node P′ resulting from the conversion of the node P. If there is such a path, the model conversion means 130 generates a node corresponding to the server model element on that path and generates a link between the nodes corresponding to the path.
Then, based on the annotations set on the process model or server model, the model conversion means 130 attaches an attribute value to the generated node in accordance with the rules (1) through (4) given below. It is assumed here that N′ denotes the generated node; that R represents the element in the server model that acted as the source from which the node N′ was generated; and that Q stands for the element in the process model that acted as the source of allocation of the element R.
(1) The model conversion means 130 attaches an attribute “res=R” to the node N′.
(2) If a “cpuDemand” attribute has been set to the element Q and if the attribute value is “d” seconds, the model conversion means 130 sets an attribute “demand=d” to the generated node N′.
(3) If a “messageSize” attribute is set to the element Q and a “throughput” attribute to the element R, if the value of the “messageSize” attribute is S, and if the value of the “throughput” attribute is X, the model conversion means 130 sets an attribute “demand=S/X” to the generated node N′.
(4) If a “latency” attribute is set to the element R and if the value of the “latency” attribute is “d,” the model conversion means 130 sets an attribute “delay=d” to the generated node N′.
If the parent node is a branch node upon generation of a link, the model conversion means 130 sets to the link to be generated a transition probability (branchRate) that has been set as the additional information about the link output from the branch node acting as the source of conversion.
After converting the process model into a performance evaluation model, the model conversion means 130 deletes the process nodes to which neither “demand” nor “delay” has been set.
Explained below in reference to
The model conversion means 130 generates the node corresponding to the destination of allocation “CLIENT” of the process “client” based on the information shown in
Next, based on the information shown in
Since the element R in the server model that corresponds to the node 1101 is “ROUTER” 402 to which the “latency” attribute of 1 ms has been set, an attribute “delay=1 ms” is set to the node 1101 in accordance with the rule (4) above.
Also, since the element R in the server model that corresponds to the node 1102 is “SW” 403 to which the “throughput” attribute of 1 Gbps (125 MB/s) has been set, and since the element Q in the process model that is the source of allocation of the element R is “m1” to which the “messageSize” attribute has been set, an attribute “demand=0.008%” (=10 KB/125 MB) is set to the node 1102 in accordance with the rule (3) above.
System performance evaluation is thus made possible by simulating the performance evaluation model generated in the manner described above.
With this exemplary embodiment, as explained above, an evaluation model that includes delays of network equipment on the server model is generated by simply describing the allocations between the server and the client as shown in
Although the process model with this exemplary embodiment is given only in the form of an activity chart, the process model may also be provided in the form of a model indicative of a structure like the server model, as with the model described as “non-cyclic processing” inside of a rectangle shown in
In addition to modeling the process model and server model on two levels, it is possible to implement multi-level modeling. For example, in order to evaluate a virtual environment, it is possible to perform three-level modeling involving a process model, a virtual sever model, and a physical server model. In this case, too, the model conversion process discussed in connection with this exemplary embodiment may be repeated to effect conversion into the flow on the physical server model for evaluation of performance, etc.
Also with this exemplary embodiment, the control structure of the system model was shown to use examples involving branch processing. Alternatively, the control structure may include parallel processing and repetition processing.
The second exemplary embodiment of the present invention is explained below in reference to the accompanying drawings.
As shown in
The attributed path enumeration means 510 performs the same processing as that of the path enumeration means 110 of the first exemplary embodiment. However, upon search for the shortest path on the server model, the attributed path enumeration means 510 takes into consideration the attributes set to the links on the server model. Specifically, if there exist a plurality of server paths corresponding to a post-allocation replacement path, the attributed path enumeration means 510 searches preferentially for the link having the same attribute as that of the previously extracted server path.
“CLIENT” 1301 stands for a client PC, “ROUTER” 1302 for a router, “SW” 1303 for a network switch, “MNTSW” 1306 for another network switch, “WEBSV” 1304 for a server, “DBSV” 1305 for another server, and “MNTSV” 1307 for an operational management server.
In the example shown in
In the example shown in
The attributed path enumeration means 510 extracts the paths having the attribute “<<access>>” of the server path “CLIENT→ROUTER→SW→WEBSV” in the first line of the table shown in
With this exemplary embodiment, where the server is connected to a plurality of networks, search is made for the shortest path on the server model based on the attributes set to the links on the server model.
With the first exemplary embodiment, if the server is connected to a plurality of networks as in the example of
Although the present invention has been described in reference to specific exemplary embodiments and examples, such exemplary embodiments and examples are not limitative of this invention. Various changes and modifications that may occur to those skilled in the art may be made to the structures and details of the present invention.
This patent application claims priority to JP-A-2011-132377 filed on Jun. 14, 2011, the entire content of which is hereby incorporated by reference.
Number | Date | Country | Kind |
---|---|---|---|
2011-132377 | Jun 2011 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2012/003644 | 6/4/2012 | WO | 00 | 12/16/2013 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2012/172747 | 12/20/2012 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7143087 | Fairweather | Nov 2006 | B2 |
7685083 | Fairweather | Mar 2010 | B2 |
20070112714 | Fairweather | May 2007 | A1 |
20100070448 | Omoigui | Mar 2010 | A1 |
Number | Date | Country |
---|---|---|
2001-318812 | Nov 2001 | JP |
2004-318654 | Nov 2004 | JP |
2005-327094 | Nov 2005 | JP |
2007-179165 | Jul 2007 | JP |
2007-188179 | Jul 2007 | JP |
2008-52312 | Mar 2008 | JP |
Entry |
---|
Object Management Group, “UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems”, version 1.0, doc No. formal/2009-11-02, Nov. 2009, pp. 119-136, 719-726. |
Peter H. Feiler et al., “The Architecture Analysis & Design Language (AADL): An Introduction”, Software Engineering Institute, Carnegie Mellon University, Technical Note, CMU/SEI-2006-TN-011, Feb. 2006, pp. 1-129. |
Su-Young Lee et al.,“Dealing with AADL End-to-end Flow Latency with UML MARTE”, INRIA Research Report, Jan. 2008, No. 6402, pp. 3-19. |
Tsutomu Shu et al., “UML o Mochiita System Level Sekkei Shuho no Teian”, DA Symposium 2002, Jul. 22, 2002, vol. 2002, No. 10, pp. 49-54. |
Andrea D Ambrogio, “A Model Transformation Framework for the Automated Building of Performance Models from UML Models”, Proceedings of the 5th international workshop on Software and performance, ACM, Jul. 14, 2005, pp. 75-86. |
International Search Report for PCT Application No. PCT/JP2012/003644, mailed on Sep. 4, 2012. |
Number | Date | Country | |
---|---|---|---|
20140114639 A1 | Apr 2014 | US |