WO2014068979A1 - 性能見積もり装置、性能見積もり方法、及びプログラム - Google Patents

性能見積もり装置、性能見積もり方法、及びプログラム Download PDF

Info

Publication number
WO2014068979A1
WO2014068979A1 PCT/JP2013/006436 JP2013006436W WO2014068979A1 WO 2014068979 A1 WO2014068979 A1 WO 2014068979A1 JP 2013006436 W JP2013006436 W JP 2013006436W WO 2014068979 A1 WO2014068979 A1 WO 2014068979A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
performance
function
processing
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2013/006436
Other languages
English (en)
French (fr)
Inventor
一男 矢野尾
隆夫 大崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014544321A priority Critical patent/JPWO2014068979A1/ja
Publication of WO2014068979A1 publication Critical patent/WO2014068979A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback

Definitions

  • the present invention relates to a performance estimation device, a performance estimation method, and a program related to an IT (Information Technology) system.
  • the configuration of the IT system and the scale of the IT system are estimated even in a situation where the detailed functions of the application are not determined, and the price of the IT system is estimated. May be determined. Even in such a case, if an IT system similar to the IT system has already been operated, whether the IT system satisfies the required performance based on information related to the performance of the similar IT system. Estimate whether or not. Evaluating whether the IT system meets the required performance reduces the chances of a project that designs the IT system failing.
  • Non-Patent Document 1 estimates the performance of an IT system.
  • Non-Patent Document 2 discloses a technique for applying a model-based technique to design related to an IT system. The technology verifies whether the designed IT system satisfies the required performance (for example, function and availability) from the initial stage of design.
  • Patent Document 1 discloses a performance evaluation apparatus using such MARTE.
  • Patent Document 1 in order to estimate the performance related to the IT system, the user directly describes the parameters in the system model representing the platform of the IT system.
  • upstream SE system engineer designing an IT system in an upstream process to find a place where necessary parameters are described in the system model.
  • the upstream SE hears the requirements of the system from the customer and proposes an IT system based on the found requirements.
  • the upstream SE estimates a parameter related to the execution time and the like based on information close to the function of the application, such as the number of input / output files and the number of accesses to the database, and past examples.
  • the upstream SE may not fully know such knowledge and experience. Therefore, it is difficult to evaluate the performance related to the model base in the upstream process. Furthermore, it is difficult to divert system models to different IT systems.
  • By describing information related to processing performed by the application in the system model, more accurate performance can be estimated. For example, when an application includes a process for acquiring an object (for example, lock, critical section, semaphore, etc.) necessary for synchronization and a process for releasing the acquired object, or includes parallel processing, an object to be synchronized ( Hereinafter, it is expressed as “synchronous object”) and parallel processing is described in the system model.
  • an object to be synchronized hereinafter, it is expressed as “synchronous object” and parallel processing is described in the system model.
  • a main object of the present invention is to provide a performance estimation device and the like that facilitate system design.
  • a performance estimation device is characterized by comprising the following configuration.
  • the performance estimation device is: A system model including information related to a platform included in the IT system, and an AP model including information related to AP-specific processing that is processing specific to an application that realizes the function in the IT system and information related to parameters included in the application are common.
  • Model synthesis means for creating a performance model by synthesizing the system model and the AP model based on the message
  • estimating means for calculating the performance of the IT system according to a predetermined calculation procedure based on the performance model.
  • the performance estimation method is: In the information processing apparatus, a system model including information related to a platform included in the IT system, an AP including information related to an AP specific process that is a process specific to an application that realizes a function in the IT system, and information related to a parameter included in the application Based on the message that the model includes in common, the system model and the AP model are combined to create a performance model, and based on the performance model, the performance in the IT system is determined according to a predetermined calculation procedure. It is characterized by calculating.
  • this object is also realized by such a performance estimation program and a computer-readable recording medium for recording the program.
  • an IT system performance estimation device that can be easily used for an upstream SE and that models can be easily reused. That is, according to the performance estimation device and the like according to the present invention, it is possible to provide a performance estimation device and the like that facilitate system design.
  • FIG. 1 is a block diagram showing a configuration of a performance estimation apparatus 10 according to an embodiment of the present invention.
  • the performance estimation device 10 includes a model selection unit 101, an AP parameter input unit 102, a model synthesis unit 103, an estimation unit 104, a model storage unit 105, and an output device 106.
  • the performance estimation device 10 is a central processing unit (Central Processing Unit, hereinafter referred to as “CPU”), a read-only memory (Read Only Memory, hereinafter referred to as “ROM”), or a random access memory (Random Access Memory).
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • RAM Random Access Memory
  • the performance estimation device 10 may be configured by a single computer, but may have a plurality of computers connected to each other via a communication line (communication network, hereinafter simply referred to as “network”). There may be.
  • network communication network
  • the model selection unit 101, the AP parameter input unit 102, the model synthesis unit 103, and the estimation unit 104 correspond to modules representing functions realized by the CPU executing a predetermined program stored in a ROM or the like.
  • the model storage unit 105 can be realized by an external storage device (not shown). The external storage device may be connected to the performance estimation device 10 via the performance estimation device 10 and a network.
  • the output device 106 is, for example, a display device such as a display or a printer, and outputs various images and characters in response to a signal output from the CPU of the performance estimation device 10.
  • FIG. 10 illustrates a configuration example of hardware resources that implements the performance estimation device according to each embodiment of the present invention described above using one calculation processing device (information processing device, computer).
  • FIG. 10 is a diagram schematically showing a hardware configuration of a calculation processing apparatus capable of realizing a performance estimation apparatus according to each embodiment of the present invention to be described later.
  • the calculation processing device 20 includes a CPU 21, a memory 22, a disk 23, a nonvolatile recording medium 24, an input device 25, and an output device 26.
  • the nonvolatile recording medium 24 can be read by a computer, for example, a compact disc (Compact Disc), a digital versatile disc (Digital_Versatile_Disc), a Blu-ray Disc (Blu-ray Disc. Registered trademark), a universal serial bus memory (USB memory), This refers to a solid state drive, etc., which retains the program without power supply and enables it to be carried.
  • the nonvolatile recording medium 24 is not limited to the above-described medium. Further, the program may be carried via a communication network instead of the nonvolatile recording medium 24.
  • the CPU 21 copies a software program (computer program: hereinafter simply referred to as “program”) stored in the disk 23 to the memory 22 and executes arithmetic processing.
  • the CPU 21 reads data necessary for program execution from the memory 22. When the display is necessary, the CPU 21 displays the output result on the output device 26. When inputting a program from the outside, the CPU 21 reads the program from the input device 25.
  • the CPU 21 interprets and executes the performance estimation device control program (FIG. 6) in the memory 22 corresponding to the function (process) represented by each unit shown in FIG.
  • the CPU 21 sequentially performs the processes described in the above-described embodiments of the present invention.
  • the present invention can also be realized by such a performance estimation device control program. Furthermore, it can be understood that the present invention can also be realized by a computer-readable non-volatile recording medium in which the performance estimation device control program is recorded.
  • the model storage unit 105 can store a plurality of system models and a plurality of application models (hereinafter referred to as “AP models”).
  • the system model includes information related to the components included in the platform in the IT system and information related to operations between the components.
  • the AP model includes a parameter in the application (hereinafter referred to as “AP parameter”) and information related to processing unique to the application.
  • the model selection unit 101 selects a necessary system model and AP model from the model storage unit 105.
  • the AP parameter input unit 102 acquires an AP parameter included in the selected AP model.
  • the model synthesizing unit 103 synthesizes a model for estimating the performance related to the IT system to be evaluated, using the system model and AP model selected by the model selecting unit 101 and the AP parameter acquired by the AP parameter input unit 102.
  • the estimation unit 104 estimates the performance related to the IT system based on the model synthesized by the model synthesis unit 103.
  • the output device 106 outputs the result estimated by the estimation unit 104.
  • FIGS. 2A and 2B are diagrams illustrating examples of system models.
  • the system model includes a server diagram, a process diagram, and a function flow diagram.
  • the server diagram is a diagram showing a configuration related to a platform (hereinafter also referred to as “hardware”) included in the IT system.
  • the server diagram includes two servers “WebServer” and “DBServer” and one client PC, a communication network switch (hereinafter referred to as “network switch”), and a router. It represents connecting.
  • the process diagram represents the connection relationship between processes that realize the application.
  • the process diagram represents a relationship in which three processes “Apache”, “Tomcat”, and “MySQL” are connected in series.
  • the server diagram and process diagram can be described using a composite structure diagram (Composite Structure Diagram) in the Unified Modeling Language (hereinafter referred to as “UML”) as shown in FIGS. 2A and 2B. it can.
  • “WebServer: Server” in the rectangle represents “Server class role WebServer”.
  • the server diagram and the process diagram may be described using an internal block diagram (Internal Block Diagram) in a system modeling language (Systems Modeling Language, hereinafter referred to as “SysML”).
  • SynsML Systems Modeling Language
  • the server diagram and the process diagram may be described using an object diagram in UML.
  • a dotted arrow in FIG. 2B represents which element (ie, hardware) in the server diagram executes the element (ie, process) in the process diagram. This can be described using “allocation” defined by SysML or MARTE.
  • the class related to the elements in the process diagram represents the “function” that the process has.
  • the function flow diagram represents a sequence (hereinafter referred to as “execution sequence”) that realizes the “function” of the process.
  • execution sequence a sequence that realizes the “function” of the process.
  • the functional flow diagram defines two execution sequences.
  • the functional flow can be identified, for example, using the name that the initial message has.
  • the first functional flow defined by the functional flow diagram is “Static browsing”.
  • “Static browsing” represents a sequence for making a request for browsing static content from the client function to the World Wide Web (World Wide Web, hereinafter referred to as “WWW”) function and receiving the requested result.
  • WWW World Wide Web
  • the second functional flow defined by the functional flow diagram is “dynamic processing”. “Dynamic processing” represents an execution sequence shown in dynamic processing 1 to dynamic processing 3, for example.
  • the WWW function requests the AP function to perform processing in response to a request for browsing dynamic content from the client function to the WWW function.
  • the AP function inquires about a database to a database (database, hereinafter referred to as “DB”) function in response to a request.
  • DB database
  • the AP function returns the content related to the dynamically calculated content to the WWW function based on the response performed by the DB.
  • a functional flow diagram can be described using a collaboration diagram (Collaboration diagram or Communication diagram) in UML.
  • the functional flow diagram is described using a collaboration diagram, but the functional flow diagram may be described using a sequence diagram or an activity diagram.
  • branch processing, parallel processing, and the like can be described.
  • the relationship between the elements in the process diagram and the elements in the function flow diagram is defined based on the class related to the element in the process diagram. You may describe using allocation like the relationship between the elements in a figure.
  • FIG. 3 is a diagram illustrating an example of an AP model.
  • the AP model associates AP parameters, parameter conversion expressions, AP functions, and the like for each workload.
  • the workload represents a series of processes (or also expressed as “functional flow”, “sequence”, etc.) at the application level.
  • Each workload is associated with a functional flow that can realize the workload.
  • the AP model includes “purchase processing”, “dynamic processing”, “data size, AP time, and background processing time”, and function A (a sequence diagram related to function A in FIG. 4). To represent.)
  • AP parameters are design parameters at the application level.
  • the creator of the AP model that is, the application developer
  • the parameter conversion formula is a calculation formula that converts the content related to the AP parameter into the parameter in the system model.
  • the creator of the AP model defines a parameter conversion formula according to the target application.
  • the workload “HP display” includes the AP parameter “data size”.
  • the AP parameter “data size” represents an average of data sizes of HTML (HyperText Markup Language) content to be displayed.
  • the parameter conversion formula represents, for example, the service time per transaction in the “static browsing” process as a primary formula of the AP parameter “data size”. In the example shown in FIG. 3, the parameter conversion formula represents that the coefficient in the linear formula is 0.01.
  • the service time related to the “static browsing” process is the CPU usage time per transaction when the reference server processes the static browsing.
  • the workload “product browsing” includes the AP parameter “AP processing load” in addition to the AP parameter “data size”.
  • the AP parameter “AP processing load” is a parameter for estimating the CPU processing time of “AP processing” per transaction. In the parameter conversion formula, a high value, a medium value, or a low value can be set for the AP parameter “AP processing load”.
  • the AP parameter “AP processing load” “high” indicates, for example, that the CPU processing time is 100 milliseconds (hereinafter referred to as “ms”).
  • ms milliseconds
  • the CPU processing time is 50 ms.
  • the AP parameter “AP processing load” is “medium”, for example, the CPU processing time is 5 ms.
  • the user determines in advance whether the “AP processing load” is high, medium, or low. This method is easier than when the CPU processing time is explicitly estimated.
  • the parameter conversion formula in the workload “purchase processing” indicates that the service time per transaction in the AP function is equal to the AP parameter “AP processing time”.
  • the upstream SE inputs the AP parameter “AP processing time” by explicitly estimating the CPU processing time per transaction of the AP function.
  • AP specific processing represents processing performed by a function in a certain workload.
  • FIG. 4 is a sequence diagram showing AP-specific processing in the “AP function” when the workload is “purchase processing”.
  • the AP server generates a work thread while synchronously executing an inquiry to a database (hereinafter referred to as “DB”), and in parallel with the generated work thread, Work in parallel (hereinafter simply referred to as “parallel”).
  • DB database
  • the messages “AP processing”, “DB inquiry”, “result”, and “DB result” in FIG. 4 are the messages “AP processing” in the functional flow diagrams shown in FIGS. 2A and 2B, respectively. It is associated with “DB inquiry”, “result”, and “DB result”.
  • the AP-specific process is described using a sequence diagram, but may be described using a collaboration diagram or an activity diagram.
  • FIGS. 5A to 5C are diagrams illustrating an example of a use case in the embodiment of the present invention.
  • A Platform architect who creates a system model and registers the created system model in the repository
  • B An application developer who creates an AP model and registers the created AP model in the repository
  • C An upstream SE that searches a model by referring to a repository, estimates the performance of an application based on the detected model, and uses the estimated performance for system proposal to a customer.
  • the platform architect creates a system model with the same functional flow diagram for the system model that can be considered the same at the functional level.
  • the platform architect creates two different system models “Web 3-tier system model (OSS)” and “Web 3-tier system model (high availability)” having the same functional flow diagram. To do.
  • an application developer can create an AP model without considering the details of the system model other than the function flow diagram. Furthermore, the platform architect can accumulate system models without considering the application.
  • the upstream SE selects an AP model and a system model, and sets AP parameters related to each workload included in the selected AP model. Thereby, the upstream SE can estimate the performance of the IT system without knowing the details of the application and the platform.
  • the upstream SE selects an application to be proposed to the customer via the model selection unit 101. Thereafter, the model selection unit 101 displays a list of system models that can realize the application. Specifically, the model selection unit 101 displays a list of system models by searching for system models that include all processing flows associated with the AP model.
  • the upstream SE inputs AP parameters according to the circumstances specific to the case via the AP parameter input unit 102.
  • the model combining unit 103 refers to a model (hereinafter referred to as “performance model”) that is referred to when estimating the performance of the IT system based on the AP parameter input by the upstream SE, the selected system model, and the AP model. Is generated.
  • the estimation unit 104 displays, on the output device 106, the result of estimating the performance of the parameters input by the upstream SE based on the performance model generated by the model synthesis unit 103 according to a predetermined calculation procedure.
  • the estimation unit 104 may calculate an estimated value by analytically calculating a performance model, or may calculate an estimated value by simulation.
  • the estimation unit 104 may be realized using a technique disclosed in Japanese Patent Application No. 2011-132377 (hereinafter referred to as “Patent Document 2”).
  • the model composition unit 103 will be described with reference to an example of generating a performance model related to the workload “purchase processing”. To do.
  • FIG. 7 is a diagram illustrating a state in which an execution flow at the function level is generated when the converted execution flow is represented by an activity diagram.
  • the process flow is described using a collaboration diagram, and the AP-specific process is described using a sequence diagram. Both are associated via a message name.
  • the process of generating the execution flow at the function level can be realized according to generation procedure 1 to generation procedure 3.
  • Generation Procedure 1 An execution flow (hereinafter referred to as “first execution flow”) is generated by associating a message with a node (that is, a node in the graph theory) in the order of messages in the processing flow.
  • Generation Procedure 2 An execution flow (hereinafter referred to as “second execution flow”) is generated by associating a message with a node for the processing content in the AP-specific processing.
  • the content related to the sequence diagram may be interpreted using, for example, the method described in Reference 2, and may be represented using an activity diagram equivalent to the content related to the interpreted sequence diagram.
  • Generation Procedure 3 The first execution flow and the second execution flow are synthesized.
  • the node in the first execution flow and the node in the second execution flow are associated with the message name. Therefore, in the synthesis process, the nodes associated with the same message name are regarded as the same node in the first execution flow and the second execution flow.
  • parameters at the function level are calculated based on the AP parameters input to the AP parameter input unit 102 and the parameter conversion formula associated with the AP parameters (step S2).
  • the input AP parameter is expressed as follows.
  • step S3 the execution flow at the function level is converted into an execution flow at the process level.
  • functions and processes are associated one to one. For this reason, this conversion processing can be realized by replacing a node in the execution flow at the function level with a node representing a process associated with the function. Note that even when functions and processes are associated in a many-to-one relationship, processing can be performed in a similar manner when associated in a one-to-one relationship.
  • step S4 the execution flow at the process level is converted into a performance model.
  • An example of this processing is described in Patent Document 2, for example. For this reason, in this embodiment, the detailed description regarding the process to convert is abbreviate
  • the upstream SE can input parameters significantly easily. This is because the information about the platform is hidden in the upstream SE, and the upstream SE only needs to set the AP parameter.
  • the AP model and the system model are determined first.
  • the AP model may be determined and the AP parameter may be input first, and then the system model may be selected.
  • the proposed IT system does not agree with the user in terms of price and performance as a result of estimation, re-estimation can be performed by changing only the system model without changing the AP model and AP parameter input results. It becomes easy to do.
  • the function flow diagram included in the system model and the AP specific process included in the AP model are combined.
  • the processing sequence functional flow
  • the processing sequence may be described in the AP model without describing the processing sequence in the system model.
  • FIG. 8 For example, a system model is described as shown in FIG. 8 and an AP model is described as shown in FIG. 9A, which is an example of a system model that does not include these and has a function diagram that defines functions. Describe the relationship between functions and processes using allocation.
  • FIG. 9A instead of AP-specific processing, an execution sequence at a function level in the workload is described. In such a configuration, the AP model creator can easily model the AP processing in more detail.
  • the client function requests static browsing to the WWW function.
  • the WWW function performs processing in response to the request, and transmits the processing result to the client function.
  • the performance estimation apparatus facilitates system design.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Biology (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

 システム設計を容易にする性能見積もり装置等が開示される。 性能見積もり装置は、ITシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ITシステムにおける機能を実現するアプリケーションに固有な処理であるAP固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むAPモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記APモデルとを合成することにより、性能モデルを作成するモデル合成部と、前記性能モデルに基づき、所定の算出手順に従い、前記ITシステムにおける性能を算出する見積り部とを有する。

Description

性能見積もり装置、性能見積もり方法、及びプログラム
 本発明は、IT(Information Technology)システムに関する性能見積もり装置、性能見積もり方法、及びプログラムに関する。
 UML(Unified Modeling Language)等のモデリング言語を用いて記述されたシステム・ソフトウェアに関するモデルに基づいて、ITシステムに関する性能(たとえば、最大スループット、平均応答時間等)を見積もる技術(すなわち、モデルに基づく性能評価技術)が知られている。この技術によれば、ITシステムを開発する初期段階から該ITシステムに関する性能を見積もることによって、該ITシステムが有する機能を実現するアプリケーションソフトウェア(以降、「アプリケーション」と記す。)が必要な性能を満たすか否かを検証できる。
 また、顧客に新しいITシステムを提案する際には、アプリケーションが有する詳細な機能を決定していない状況においても、該ITシステムが有する構成及び該ITシステムが有する規模を見積もり、該ITシステムの価格を決定する場合がある。このような場合にも、該ITシステムに類似するITシステムが既に運用されている場合には、類似するITシステムが有する性能に関する情報などに基づいて、該ITシステムが要求された性能を満たすか否かを見積もる。該ITシステムが要求された性能を満たすか否かを評価することにより、該ITシステムを設計するプロジェクトが失敗する可能性を低減する。
 たとえば、非特許文献1が開示するMARTE(Modeling and Analysis of Real-Time Embedded Systems)は、ITシステムに関する性能を見積もる。また、非特許文献2は、モデルに基づく技術を、ITシステムに関する設計に適用する技術を開示する。該技術は、設計の初期段階から、設計するITシステムが要求された性能(たとえば、機能、及び、可用性等)を満たすか否かを検証する。
 また、特許文献1は、係るMARTEを用いる性能評価装置を開示する。
特開2007-188179号公報
Object Management Group, "UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems" Izukura, S., Yanoo, K., Osaki T., Sakaki, H, Kimura, D., Xiang, J., "Applying a Model-Based Approach to IT Systems Development Using SysML Extension", International Conference on Model Driven Engineering Languages and Systems, MODELS 2011
 しかし、特許文献1並びに非特許文献1及び2が開示する技術においては、ITシステムに関する性能を見積もるために、ユーザは、パラメータを、ITシステムが有するプラットフォームを表すシステムモデルに、直接記述する。
 このため、上流工程においてITシステムを設計するシステムエンジニア(上流SE)は、該システムモデルにおいて、必要なパラメータが記述されている場所を見つけることが難しいこともある。上流SEは、顧客からシステムが有する要件を聞き出し、聞き出した要件に基づいて、ITシステムを提案する。
 さらに、ITシステムを提案する段階や、該ITシステムを開発する初期の段階においては、該ITシステムが有する機能を実現するアプリケーションは存在しない。このため、上流SEは、アプリケーションを用いて、実行時間等に関するパラメータの値を得ることはできない。この場合、上流SEは、入出力するファイル数や、データベースにアクセスする回数等、アプリケーションが有する機能に近い情報と、過去における事例とに基づいて、実行時間等に関するパラメータを推測する。
 パラメータを推測するためには、アプリケーションおよびプラットフォームに関する詳細な知識と経験が必要である。しかし、上流SEは、そのような知識や経験について十分に知らないこともある。したがって、上流工程においてモデルベースに関する性能を評価することは難しい。さらに、システムモデルを異なるITシステムに転用することは難しい。
 アプリケーションが行う処理に関する情報を、システムモデルに記述することにより、さらに正確な性能を見積もることができる。たとえば、アプリケーションが同期に必要なオブジェクト(たとえば、ロック、クリティカルセクション、セマフォ等)を取得する処理、及び、取得したオブジェクトを解放する処理を含む場合や、並列処理を含む場合に、同期するオブジェクト(以降、「同期オブジェクト」と表す。)や並列処理をシステムモデルに記述する。システムモデルに記述することにより、同期オブジェクトがボトルネックになるか否か、または、並列処理において同期することが原因となり応答時間が増大するか否か等について考察することができる。
 しかし、個々のアプリケーションに特有な情報をシステムモデルに記述する場合には、該アプリケーションに関するシステムモデルを、異なるアプリケーションに転用することが難しい。
 そこで、本発明は、上流SEにも利用しやすく、モデルの再利用もしやすいITシステムの性能見積もり装置を提供することを一つの目的とする。すなわち、本発明の主たる目的は、システム設計を容易にする性能見積もり装置等を提供することである。
 前述の目的を達成するために、本発明に係る性能見積もり装置は、以下の構成を備えることを特徴とする。
 すなわち、本発明に係る性能見積もり装置は、
 ITシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ITシステムにおける機能を実現するアプリケーションに固有な処理であるAP固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むAPモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記APモデルとを合成することにより、性能モデルを作成するモデル合成手段と、
 前記性能モデルに基づき、所定の算出手順に従い、前記ITシステムにおける性能を算出する見積り手段と
 を備えることを特徴とする。
 また、本発明の他の見地として、本発明に係る性能見積もり方法は、
 情報処理装置において、ITシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ITシステムにおける機能を実現するアプリケーションに固有な処理であるAP固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むAPモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記APモデルとを合成することにより、性能モデルを作成し、前記性能モデルに基づき、所定の算出手順に従い、前記ITシステムにおける性能を算出する
 ことを特徴とする。
 さらに、同目的は、係る性能見積もりプログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
 本発明によれば、上流SEにも利用しやすく、モデルの再利用もしやすいITシステムの性能見積もり装置を提供することができる。すなわち、本発明に係る性能見積もり装置等によれば、システム設計を容易にする性能見積もり装置等を提供することができる。
本発明の実施の形態に係る性能見積もり装置が有する構成を示すブロック図である。 システムモデルの例を表す図である。 システムモデルの例を表す図である。 本実施の形態による、APモデルの例を示す図である。 本実施の形態による、AP固有処理の例を示す図である。 本実施の形態におけるユースケースについて説明する図である。 本実施の形態におけるユースケースについて説明する図である。 本実施の形態におけるユースケースについて説明する図である。 本実施の形態による、モデル合成部の動作に関するフローチャートである。 本実施の形態による、機能レベルの実行フロー生成を説明する図である。 本実施の形態による、システムモデルの他の例を示す図である。 本実施の形態による、APモデルの一例を示す図である。 本実施の形態による、APモデルの一例を示す図である。 本実施の形態による、APモデルの一例を示す図である。 本実施の形態による、APモデルの一例を示す図である。 本発明の各実施形態に係る性能見積もり装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
 この出願は、2012年11月2日に出願された日本出願特願2012-242606を基礎とする優先権を主張し、その開示の全てをここに取り込む。そして、本国際出願では、説明の便宜上から、係る日本出願の図面の表現を、国際出願の規定を満足すべく複数の図面に展開することとする。これに応じて、本出願人は、以降に説明する各実施形態の説明も、調整後の図面に応じた記載に調整することとする。これらの処置は、言語の違いに起因する、各国移行時の言語変換への配慮であり、何ら新規事項を含む処置ではない。
 以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
 図1は、本発明の実施の形態に係る性能見積もり装置10が有する構成を示すブロック図である。図1に示すように、性能見積もり装置10は、モデル選択部101、APパラメータ入力部102、モデル合成部103、見積もり部104、モデル記憶部105、及び、出力装置106を有する。
 性能見積もり装置10は、中央処理演算装置(Central Processing Unit、以降「CPU」と表す。)、リードオンリーメモリ(Read Only Memory、以降「ROM」と表す。)、または、ランダムアクセスメモリ(Random Access Memory、以降「RAM」と表す。)等の記憶装置、外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及び各装置を結ぶバス(すなわち、「bus」)を有する専用、または、汎用のコンピュータを用いて実現できる。
 なお、性能見積もり装置10は、単一のコンピュータにより構成されるものであっても、通信回線(通信ネットワーク、以降、単に「ネットワーク」と表す)を介して互いに接続する複数のコンピュータを有する構成であってもよい。
 モデル選択部101、APパラメータ入力部102、モデル合成部103、見積もり部104は、CPUがROM等に格納されている所定のプログラムを実行することにより実現する機能を表すモジュールに相当する。モデル記憶部105は、外部記憶装置(不図示)により実現できる。外部記憶装置は、性能見積もり装置10及びネットワーク等を介して、性能見積もり装置10と接続してもよい。
 出力装置106は、たとえば、ディスプレイ等の表示装置やプリンタであり、性能見積もり装置10が有するCPUが出力する信号を受けて、各種画像や文字を出力する。
 図10に、上述した本発明の各実施形態における性能見積もり装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。図10は、後述する本発明の各実施形態に係る性能見積もり装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。
 計算処理装置20は、CPU21、メモリ22、ディスク23、不揮発性記録媒体24、入力装置25、および、出力装置26を有する。
 不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)、ブルーレイディスク(Blu-ray Disc。登録商標)、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid State Drive)等を指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
 すなわち、CPU21は、ディスク23が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、出力装置26に出力結果を表示する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1に示した各部が表す機能(処理)に対応するところのメモリ22にある性能見積もり装置制御プログラム(図6)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次行う。
 すなわち、このような場合、本発明は、係る性能見積もり装置制御プログラムによっても成し得ると捉えることができる。更に、係る性能見積もり装置制御プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
 モデル記憶部105は、複数のシステムモデルと、複数のアプリケーションモデル(以降、「APモデル」と表す。)とを記憶できる。
 システムモデルは、ITシステムにおけるプラットフォームが有する構成要素に関する情報と、各構成要素間における動作に関する情報とを含む。APモデルは、アプリケーションにおけるパラメータ(以降、「APパラメータ」と表す。)及び該アプリケーションに固有な処理に関する情報を含む。
 まず、モデル選択部101は、モデル記憶部105から必要なシステムモデルとAPモデルとを選択する。APパラメータ入力部102は、選択したAPモデルが含むAPパラメータを取得する。
 モデル合成部103は、モデル選択部101が選択するシステムモデル及びAPモデル、及び、APパラメータ入力部102が取得したAPパラメータを用いて、評価対象であるITシステムに関する性能を見積もるモデルを合成する。見積もり部104は、モデル合成部103が合成するモデルに基づいて、ITシステムに関する性能を見積もる。出力装置106は、見積もり部104が見積もった結果を出力する。
 図2A及び図2Bは、システムモデルの例を表す図である。図2A及び図2Bを参照すると、システムモデルは、サーバ図、プロセス図、及び、機能フロー図を含む。サーバ図は、ITシステムが有するプラットフォーム(以降、「ハードウェア」とも表現する。)に関する構成を表す図である。
 図2Bに示す例において、サーバ図は、「WebServer」、「DBServer」という2台のサーバと1台のクライアントPCとを、通信ネットワークスイッチ(以降、「ネットワークスイッチ」と表す。)とルータとを介して接続することを表す。
 プロセス図は、アプリケーションを実現するプロセス間の接続関係を表す。図2Bの例において、プロセス図は、「Apache」、「Tomcat」、「MySQL」なる3つのプロセスが直列に接続する関係を表す。
 サーバ図とプロセス図は、図2A及び図2Bに示すように、統一モデリング言語(Unified Modeling Language、以降、「UML」と表す。)におけるコンポジット構成図(Composite Structure Diagram)を用いて記述することができる。ここで、矩形の中の「WebServer:Server」は、「ServerクラスのロールWebServer」を表す。なお、サーバ図とプロセス図とを、システムモデリング言語(Systems Modeling Language、以降、「SysML」と表す)における内部ブロック図(Internal Block Diagram)を用いて記述してもよい。あるいは、サーバ図とプロセス図とを、UMLにおけるオブジェクト図を用いて記述してもよい。
 図2Bにおける点線矢印は、サーバ図中のどの要素(すなわち、ハードウェア)が、プロセス図中の要素(すなわち、プロセス)を実行するかを表す。これは、SysMLまたはMARTEが規定する「アロケーション」を用いて記述できる。
 プロセス図中の要素に関するクラスは、プロセスが有する「機能」を表す。
 ここで、機能フロー図は、プロセスが有する「機能」を実現するシーケンス(以降、「実行シーケンス」と表す、)を表す。図2A及び図2Bが示す例において、機能フロー図は、2つの実行シーケンスを定義する。機能フローは、たとえば、最初のメッセージが有する名前を用いて識別することができる。
 機能フロー図が定義する1つ目の機能フローは「静的閲覧」である。「静的閲覧」は、クライアント機能からワールドワイドウェブ(World Wide Web、以降、「WWW」と表す。)機能に静的コンテンツを閲覧する要求を行い、要求した結果を受け取るシーケンスを表す。
 機能フロー図が定義する2つ目の機能フローは「動的処理」である。「動的処理」は、たとえば、動的処理1乃至動的処理3に示す実行シーケンスを表す。
  (動的処理1)WWW機能は、クライアント機能からWWW機能に動的コンテンツを閲覧する要求に応じて、AP機能に処理を依頼する、
  (動的処理2)AP機能は、依頼に応じて、データベース(database、以降「DB」と表す)機能にデータベースに関して問い合わせる、
  (動的処理3)AP機能は、DBが行う応答に基づいて、動的に算出するコンテンツに関する内容をWWW機能に返す。
 図2A及び図2Bに示すように、UMLにおけるコラボレーション図(Collaboration diagram、あるいは、コミュニケーション図(Communication Diagram)))を用いて、機能フロー図を記述することができる。本実施形態においては、機能フロー図を、コラボレーション図を用いて記述するが、機能フロー図を、シーケンス図またはアクティビティ図を用いて記述してもよい。たとえば、機能フロー図を、シーケンス図やアクティビティ図を用いて記述することにより、分岐処理や並列処理等も記述することができる。
 また、本実施形態においては、プロセス図中の要素に関するクラスに基づいて、プロセス図中の要素と、機能フロー図中の要素との間の関係を定義するが、プロセス図中の要素と、サーバ図中の要素との間の関係のように、アロケーションを用いて記述してもよい。
 図3は、APモデルの例を表す図である。APモデルは、ワークロードごとに、APパラメータ、パラメータ変換式、及び、AP機能等を関連付ける。本実施形態において、ワークロードは、アプリケーションレベルにおける一連の処理(または、「機能フロー」、「シーケンス」等とも表す。)を表す。各ワークロードは、そのワークロードを実現可能な機能フローに関連づけされている。
 たとえば、図3において、APモデルは、「購入処理」と、「動的処理」と、「データサイズ、AP時間、及び、背景処理時間」と、機能A(図4に機能Aに関するシーケンス図を表す。)とを関連付ける。
 APパラメータは、アプリケーションレベルにおける設計パラメータである。APモデルの作成者(すなわち、アプリケーション開発者)は、対象とするアプリケーションに関する個々の事情に応じてAPパラメータを定義する。
 パラメータ変換式は、APパラメータに関する内容を、システムモデル中のパラメータに変換する計算式である。APモデルの作成者は、対象となるアプリケーションに応じて、パラメータ変換式を定義する。
 図3に示す例においては、ワークロード「HP表示」は、APパラメータ「データサイズ」を含む。APパラメータ「データサイズ」は、表示するHTML(HyperText Markup Language)コンテンツが有するデータサイズの平均を表す。また、パラメータ変換式は、たとえば、「静的閲覧」処理における1トランザクションあたりのサービス時間をAPパラメータ「データサイズ」の一次式で表す。図3に示す例において、パラメータ変換式は、該一次式における係数が0.01であることを表す。
 ここで、「静的閲覧」処理に関するサービス時間は、基準となるサーバが静的閲覧を処理する場合の1トランザクション当たりのCPU使用時間である。
 CPU使用時間を正確に得るためには、実装したアプリケーションを用いて測定する必要がある。しかし、該アプリケーションを提案する段階においては、該アプリケーションの実装は完了していない。この場合には、過去の事例や測定値に基づき、エキスパートが目安となる計算式を作成してもよい。
 過去の事例等に基づいて作成された計算式は、提案時においてITシステムが有する規模や価格等を見積もる場合には有用である。
 ワークロード「商品閲覧」は、APパラメータ「データサイズ」の他にAPパラメータ「AP処理負荷」を含む。APパラメータ「AP処理負荷」は、1トランザクション当たりの「AP処理」のCPU処理時間を見積もる場合におけるパラメータである。パラメータ変換式は、APパラメータ「AP処理負荷」に高、中、または、低のいずれかの値を設定可能である。
 APパラメータ「AP処理負荷」が「高」は、たとえば、CPU処理時間が100ミリ秒(以降、「ms」と表す)であることを表す。APパラメータ「AP処理負荷」が「中」は、たとえば、CPU処理時間が50msであることを表す。APパラメータ「AP処理負荷」が「中」は、たとえば、CPU処理時間が5msであることを表す。
 この場合、ユーザは、「AP処理負荷」は高、中、または、低のいずれが適切かをあらかじめ判定する。この方法は、CPU処理時間を明示的に見積もる場合に比べると容易である。
 ワークロード「購入処理」におけるパラメータ変換式は、AP機能における1トランザクションあたりのサービス時間が、APパラメータ「AP処理時間」と等しいことを表す。この場合、APパラメータ「AP処理時間」を上流SEは、AP機能の1トランザクション当たりのCPU処理時間を明示的に見積もることにより入力する。
 AP固有処理は、あるワークロードにおいて、機能が行う処理を表す。
 図4は、ワークロードが「購入処理」である場合において、「AP機能」におけるAP固有処理を表すシーケンス図である。図4に示すように、APサーバは、データベース(以降、「DB」と表す。)への問い合わせを同期的に実行しながら、作業スレッドを生成し、生成した作業スレッドにおいて並行してあるいは、擬似的に並行して(以降、単に、「並列に」と表す。)作業する。ここで、図4中のメッセージ「AP処理」、「DB問い合わせ」、「結果」、及び、「DB結果」は、それぞれ、図2A及び図2Bに示す機能フロー図中のメッセージ「AP処理」、「DB問い合わせ」、「結果」、「DB結果」に関連付けされている。
 なお、本実施形態においては、AP固有処理を、シーケンス図を用いて記述するが、コラボレーション図やアクティビティ図を用いて記述してもよい。
 次に、性能見積もり装置10における動作について説明する。
 まず、本実施形態におけるユースケース(Use Case)について図5A乃至図5Cを用いて説明する。図5A乃至図5Cは、本発明の実施の形態におけるユースケースの一例を表す図である。
 図5A乃至図5Cに示すように、後述の説明においては、(a)乃至(c)の3種類のアクタを想定する。
  (a)システムモデルを作成し、作成したシステムモデルをリポジトリに登録するプラットフォームアーキテクト、
  (b)APモデルを作成して、作成したAPモデルをリポジトリに登録するアプリケーション開発者、
  (c)リポジトリを参照することによりモデルを検索し、検出したモデルに基づいてアプリケーションの性能を見積もり、見積もった性能を顧客に対するシステム提案に活用する上流SE。
 プラットフォームアーキテクトは、機能レベルで同一と見なせるシステムモデルに対して、同一の機能フロー図を持つシステムモデルを作成する。図5A乃至図5Cが示す例では、プラットフォームアーキテクトは、同一の機能フロー図を持つ異なる2つのシステムモデル「Web3層システムモデル(OSS)」と「Web3層システムモデル(高可用)」とを作成する。
 この運用を遵守すれば、アプリケーション開発者は、機能フロー図以外のシステムモデルの詳細を考慮することなく、APモデルを作成できる。さらに、プラットフォームアーキテクトは、アプリケーションのことを考慮することなく、システムモデルを蓄積することができる。
 上流SEは、APモデルとシステムモデルを選択し、選択したAPモデルが含むそれぞれのワークロードに関するAPパラメータを設定する。これにより、上流SEは、アプリケーションやプラットフォーム等の詳細を知らなくても、ITシステムが有する性能を見積もることができる。
 次に、システムの性能見積もり処理の流れについて説明する。
 まず、上流SEは、モデル選択部101を介して、顧客に提案するアプリケーションを選択する。その後、モデル選択部101は、そのアプリケーションを実現可能なシステムモデルの一覧を表示する。具体的には、モデル選択部101は、APモデルに関連付けされた処理フローを全て含むシステムモデルを検索することによって、システムモデルの一覧を表示する。
 次に、上流SEは、APパラメータ入力部102を介して、案件固有の事情に応じてAPパラメータを入力する。その後、モデル合成部103は、上流SEが入力したAPパラメータと、選択されたシステムモデルと、APモデルとに基づいて、ITシステムが有する性能を見積もる場合に参照するモデル(以降、「性能モデル」と表す。)を生成する。
 次に、見積もり部104は、所定の算出手順に従い、モデル合成部103が生成した性能モデルに基づいて、上流SEが入力したパラメータにおける性能を見積った結果を、出力装置106に表示する。見積もり部104は、所定の算出手順として、性能モデルを解析的に計算することにより見積もり値を算出してもよいし、シミュレーションすることにより見積もり値を算出してもよい。たとえば、特願2011-132377号(以降、「特許文献2」と表す。)が開示する手法を用いて、見積もり部104を実現してもよい。
 次に、図6を参照しながら、モデル合成部103における処理について説明する。
 ここでは、上流SEが、図2のシステムモデルと図3のAPモデルとが選択する場合において、モデル合成部103がワークロード「購入処理」に関連する性能モデルを生成する例を参照しながら説明する。
 まず、対象とするワークロードに関連付けされた処理フローとAP固有処理とに基づいて、機能レベルにおける実行フローを生成する(ステップS1)。図7は、変換後の実行フローをアクティビティ図で表す場合に、機能レベルにおける実行フローを生成する様子を表す図である。
 本実施形態においては、処理フローを、コラボレーション図を用いて記述するとともに、AP固有処理を、シーケンス図を用いて記述する。両者は、メッセージ名を介して関連付けされている。機能レベルにおける実行フローを生成する処理は、生成手順1乃至生成手順3に従い実現できる。
  (生成手順1)処理フロー中のメッセージの順に従い、メッセージをノード(すなわち、グラフ理論における節点)に関連付けすることにより、実行フロー(以降、「第1実行フロー」と表す。)を生成する、
  (生成手順2)AP固有処理中の処理内容を、メッセージをノードに関連付けすることにより、実行フロー(以降、「第2実行フロー」と表す。)を生成する。シーケンス図に関する内容を、たとえば、参考文献2が記述する方法を用いて解釈し、解釈したシーケンス図に関する内容と同等のアクティビティ図を用いて表してもよい、
  (生成手順3)第1実行フローと、第2実行フローとを合成する。第1実行フロー中のノード、及び、第2実行フロー中のノードは、メッセージ名に関連付けされている。そこで、合成処理においては、第1実行フロー及び第2実行フローにおいて、同じメッセージ名に関連付けされたノードを同一のノードと見なす。
 (参考文献2)Zoltan Micskei, Helene Waeselynck, “The many meanings of UML2 Sequence Diagrams: a survey“, Software and Systems Modeling Volume 10, Number 4, 489-514。
 次に、APパラメータ入力部102に入力されたAPパラメータと、該APパラメータに関連付けされたパラメータ変換式とに基づいて、機能レベルにおけるパラメータを算出する(ステップS2)。
 たとえば、入力されたAPパラメータが、以下のように表されるとする。
  データサイズ=1メガバイト(以降、「MB」と表す)、
  AP処理時間=0.01秒(以降、「s」と表す)、
  背景処理時間=0.005(s)。
 パラメータ変換式に、入力されたAPパラメータの値を代入すると、以下の値が得られる。代入により得られた値が、機能フロー図中のパラメータを表す。
  動的処理.demand=0.01、
  AP処理.demand=0.01、
  背景処理.demand=0.005。
 次に、機能レベルにおける実行フローを、プロセスレベルにおける実行フローに変換する(ステップS3)。本実施形態においては、機能とプロセスとは、一対一に関連付けされる。このため、この変換処理は、機能レベルにおける実行フロー中のノードを、該機能に関連付けされたプロセスを表すノードに置き換えることにより実現できる。なお、機能とプロセスとが多対一に関連付けされる場合であっても、一対一に関連付けされると同様に処理できる。
 次に、プロセスレベルにおける実行フローを性能モデルに変換する(ステップS4)。この処理の例は、たとえば、特許文献2に記載されている。このため、本実施形態においては、変換する処理に関する詳細な説明を省略する。
 上述した処理を行うことにより、本実施形態により、以下の効果を得ることができる。
 まず、上流SEは、大幅に容易にパラメータを入力することができる。これは、プラットフォームに関する情報が上流SEに隠蔽されるため、上流SEは、APパラメータのみを設定すれば済むためである。
 また、システムモデルを再利用することが大幅に容易になる。これは、図4に示すようなAP固有処理がシステムモデルに記載されないために、システムモデルに従いアプリケーションを実装する場合と、固有の処理とが分離されるためである。
 なお、本実施形態においては、APモデルとシステムモデルとを最初に決定するが、APモデルの決定及びAPパラメータの入力を先に行い、その後、システムモデルを選択するようにしてもよい。これにより、見積もりの結果、提案するITシステムがユーザと価格や性能に関する面において折り合わなかった場合に、APモデルとAPパラメータの入力結果とを変更することなく、システムモデルのみ変更することにより再見積もりをすることが容易になる。
 また、本実施形態においては、システムモデルが含む機能フロー図と、APモデルが含むAP固有処理とを合成する。しかし、システムモデル中に処理のシーケンスを記述せずに、APモデル中に処理のシーケンス(機能フロー)を記述してもよい。
 たとえば、システムモデルを図8に示すように記述し、APモデルを図9Aに示すようように記述し、これらを含まず、機能を定義する機能図を持つシステムモデルの例である。機能とプロセスとの関係を、アロケーションを用いて記述する。図9Aにおいては、AP固有処理の代わりに、そのワークロード中の機能レベルにおける実行シーケンスが記述されている。このような構成にした場合、APモデル作成者が、より詳細にAPの処理をモデル化しやすい。
 たとえば、図9Aにおいて、「HP表示」と、「データサイズ」と、「静的閲覧demand=データサイズ×0.01」と、「機能B」とは、関連付けされている。
 図9Aにおける、機能B、機能C及び機能Dは、それぞれ、図9Bにおけるシーケンス図、図9Cにおけるシーケンス図、及び、図9Dにおけるシーケンス図を表す。
 たとえば、図9Bにおいて、クライアント機能は、WWW機能に静的閲覧を要求する。次に、WWW機能は、該要求に応じて処理を行い、処理した結果をクライアント機能に送信する。
 すなわち、本実施形態に係る性能見積もり装置によれば、システム設計が容易になる。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 10  性能見積もり装置
 101  モデル選択部
 102  APパラメータ入力部
 103  モデル合成部
 104  見積もり部
 105  モデル記憶部
 106  出力装置
 20  計算処理装置
 21  CPU
 22  メモリ
 23  ディスク
 24  不揮発性記録媒体
 25  入力装置
 26  出力装置

Claims (6)

  1.  ITシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ITシステムにおける機能を実現するアプリケーションに固有な処理であるAP固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むAPモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記APモデルとを合成することにより、性能モデルを作成するモデル合成手段と、
     前記性能モデルに基づき、所定の算出手順に従い、前記ITシステムにおける性能を算出する見積り手段と
     を備える性能見積もり装置。
  2.  前記システムモデルは、前記プラットフォームが有する構成を抽象化した機能レベルにおける前記ITシステムに関する処理を表す機能フローを含み、
     前記APモデルは、前記AP固有処理を表すシーケンスを含み、
     前記モデル合成手段は、前記APモデルと前記システムモデルを合成することにより、機能レベルにおける実行フローを生成する
     請求項1に記載の性能見積もり装置。
  3.  前記システムモデルは、前記プラットフォームが有する構成を抽象化した一連の機能を表す機能フローを含み、
     前記APモデルは、前記アプリケーションが有する固有の機能間における処理に関するシーケンスを表すAP機能フローを含み、
     前記モデル合成手段は、前記APモデルと前記システムモデルを合成することにより、機能レベルにおける実行フローを生成する
     請求項1に記載の性能見積もり装置。
  4.  前記APモデルは、アプリケーションレベルにおいて設計する項目を表すAPパラメータと、前記APパラメータが表す内容を前記システムモデルが含むパラメータに変換するパラメータ変換式を含む、
     請求項2または請求項3に記載の性能見積もり装置。
  5.  情報処理装置において、ITシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ITシステムにおける機能を実現するアプリケーションに固有な処理であるAP固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むAPモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記APモデルとを合成することにより、性能モデルを作成し、前記性能モデルに基づき、所定の算出手順に従い、前記ITシステムにおける性能を算出する性能見積もり方法。
  6.  ITシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ITシステムにおける機能を実現するアプリケーションに固有な処理であるAP固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むAPモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記APモデルとを合成することにより、性能モデルを作成するモデル合成機能と、
     前記性能モデルに基づき、所定の算出手順に従い、前記ITシステムにおける性能を算出する見積り機能と
     をコンピュータに実現させる性能見積もりプログラム。
PCT/JP2013/006436 2012-11-02 2013-10-30 性能見積もり装置、性能見積もり方法、及びプログラム Ceased WO2014068979A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014544321A JPWO2014068979A1 (ja) 2012-11-02 2013-10-30 性能見積もり装置、性能見積もり方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-242606 2012-11-02
JP2012242606 2012-11-02

Publications (1)

Publication Number Publication Date
WO2014068979A1 true WO2014068979A1 (ja) 2014-05-08

Family

ID=50626927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/006436 Ceased WO2014068979A1 (ja) 2012-11-02 2013-10-30 性能見積もり装置、性能見積もり方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2014068979A1 (ja)
WO (1) WO2014068979A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183416A (ja) * 2000-12-15 2002-06-28 Hitachi Ltd システム提案方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2011145937A (ja) * 2010-01-15 2011-07-28 Nec Corp プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム
JP2012146015A (ja) * 2011-01-07 2012-08-02 Nec Corp 性能評価システム、性能評価方法および性能評価用プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183416A (ja) * 2000-12-15 2002-06-28 Hitachi Ltd システム提案方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2011145937A (ja) * 2010-01-15 2011-07-28 Nec Corp プログラム検査支援システム、プログラム検査支援方法およびプログラム検査支援プログラム
JP2012146015A (ja) * 2011-01-07 2012-08-02 Nec Corp 性能評価システム、性能評価方法および性能評価用プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AKIRA KADO: "Throughput Performance Verification of Airship Autopilot Software : A Case Study for Evaluating Performance Verification of Software Design Model", IEICE TECHNICAL REPORT, vol. 112, 3 May 2012 (2012-05-03), pages 25 - 30 *
TSUTOMU SHU: "UML o Mochiita System Level Sekkei Shuho no Teian", DA SYMPOSIUM, 2002, vol. 2002, 24 July 2002 (2002-07-24), pages 49 - 54 *

Also Published As

Publication number Publication date
JPWO2014068979A1 (ja) 2016-09-08

Similar Documents

Publication Publication Date Title
US8630836B2 (en) Predicting system performance and capacity using software module performance statistics
JP6378128B2 (ja) 性能検証装置、システム、方法、およびコンピュータに当該方法を実行させるためのプログラム
US10057118B2 (en) Method and apparatus for enabling dynamic analytics configuration on a mobile device
JP2017062767A5 (ja)
US20150339628A1 (en) Online software service system and method
Cito et al. Runtime metric meets developer: building better cloud applications using feedback
Verdickt et al. Automatic inclusion of middleware performance attributes into architectural UML software models
JP2017519314A (ja) 製品、材料及び製造工程の統合化された設計向けのモデルを活用した計算プラットフォーム
JP4872702B2 (ja) 分散ワークフローシミュレーションシステム、方法、及び、プログラム
JP6981124B2 (ja) システム構築支援装置、システム構築支援方法、及びプログラム
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
Ali et al. Technique for early reliability prediction of software components using behaviour models
WO2014068979A1 (ja) 性能見積もり装置、性能見積もり方法、及びプログラム
Kano et al. Analysis and simulation of business solutions in a service-oriented architecture
Stier et al. Towards Modeling and Analysis of Power Consumption of Self-Adaptive Software Systems in Palladio.
Westermann et al. Towards performance prediction of large enterprise applications based on systematic measurements
JP2015138432A (ja) 性能予測装置、性能モデル生成方法およびプログラム
Weber et al. Online performance analysis with the vampir tool set
JP2012150740A (ja) プログラム生成装置及び方法
Marek Generating Petri Nets for Reliability Analysis of Smart Grids From UML Diagrams
Qureshi et al. On integrating EAST-ADL and UPPAAL for embedded system architecture verification
Hennig et al. Performance prototyping–generating and simulating a distributed IT-system from UML models
Lehrig et al. Performance prototyping with protocom in a virtualised environment: A case study
Mazurkiewicz Dependability metrics for network systems—analytical and experimental analysis
CN114328178B (zh) Bpel工作流测试方法及相关设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13851453

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014544321

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13851453

Country of ref document: EP

Kind code of ref document: A1