WO2012117746A1 - Dispositif de support de conception de système de logiciel informatique - Google Patents

Dispositif de support de conception de système de logiciel informatique Download PDF

Info

Publication number
WO2012117746A1
WO2012117746A1 PCT/JP2012/001478 JP2012001478W WO2012117746A1 WO 2012117746 A1 WO2012117746 A1 WO 2012117746A1 JP 2012001478 W JP2012001478 W JP 2012001478W WO 2012117746 A1 WO2012117746 A1 WO 2012117746A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
execution time
execution
time
computer software
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/JP2012/001478
Other languages
English (en)
Japanese (ja)
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.)
WITZ CO Ltd
Hyogo Prefectural Government
Original Assignee
WITZ CO Ltd
Hyogo Prefectural Government
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 WITZ CO Ltd, Hyogo Prefectural Government filed Critical WITZ CO Ltd
Priority to JP2013502203A priority Critical patent/JP5374707B2/ja
Publication of WO2012117746A1 publication Critical patent/WO2012117746A1/fr
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/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • 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/3419Recording 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 by assessing time
    • 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/3457Performance evaluation by simulation

Definitions

  • the present invention relates to a design support method and a design support apparatus for predicting the performance of computer software that operates stand-alone and for pre-evaluating the design and performance of the computer software.
  • Non-Patent Document 1 a queuing model has been conventionally used as a server computer design model as shown in FIG. 15 (for example, Non-Patent Document 1).
  • queuing models have been used in network systems.
  • the queuing model is effective for system design, there is a large gap between the queuing model and the software design model in software design, and it is difficult to say that it is a practical approach.
  • an approach method for estimating the performance of the entire system by estimating the amount of hardware resources required for each step when executing software is presented (Non-Patent Document 2).
  • access to shared resources in the system often has a large effect on performance, but this performance evaluation also uses the queuing model and has the same problem as described above.
  • Patent Document 1 discloses an approach method for predicting performance in a computer system.
  • Patent Document 2 discloses a performance evaluation method for parallel computers.
  • Patent Document 2 uses a queuing network model based on a queuing model and has the same problem as described above.
  • Patent Document 3 there is a system that actually measures performance in a system and performs performance prediction based on the data. Although this method may be effective for the development of affiliated systems, it does not work very well when initially designing a system. Further, there is a performance prediction method at a part level with a coarse particle size in a computer system (Patent Document 4). However, in the case of performance prediction at the level of coarse parts, it is not possible to evaluate the performance of those with severe time constraints such as a real-time system.
  • Embedded software malfunctions account for more than half of the causes of malfunctions in embedded systems.
  • the reason for the failure is that sufficient measures have not been taken against the large scale and complexity of embedded software.
  • new functions are installed to improve product competitiveness, functions are improved using new technologies, and functions are improved to meet customer demands.
  • E-mail function, call function, browser function, video playback function and many other programs are installed. For this reason, the development scale of mobile phones has increased, and verification of the combined operation of programs has become difficult. Over 50% of the causes of defects are caused by programs, and these defects occur at the end of product development or after product shipment.
  • the present invention aims to improve a design process related to a performance problem, which is one of the major causes of failures, and to reduce the development cost by improving the quality of embedded software and reducing the number of reversals.
  • An object is to provide a software design support method and a design support apparatus.
  • a computer software design support method of the present invention is a computer software design support method for predicting the performance of a system equipped with at least one application processing program, and includes the following steps 1) to 4): Is provided. 1) Define at least the priority, start cycle, execution time, and number of executions for each task constituting the application processing program 2) Define the execution flow of the tasks constituting the application processing program 3) Define for each task Step 4) Calculate the execution time of the task execution flow using the priority, start cycle, execution time, and number of executions. 4) Predict system performance from the minimum execution time, maximum execution time, and execution time distribution of the application processing program. Step to perform
  • the application processing program is for causing the computer to realize the functions of the system.
  • a task is a process that is a component for causing a computer to realize a function.
  • the task priority is an index for determining the order in which the computer executes when there are a plurality of executable tasks.
  • the task activation cycle refers to the activation time interval when the task is activated periodically.
  • the activation cycle is set to 0 (zero), for example.
  • the task execution time is an estimated time for the computer to execute the task. This estimated time takes into account the processing volume performed by the task and the processing waiting time when the task accesses the hardware resource. Further, the number of executions of a task means the number of executions of a task that is periodically started up or the number of retries of a task that performs an error retry.
  • the application processing program means, for example, in the case of a mobile phone, a program that realizes a browser function, a program that realizes an e-mail function, a program that realizes a call function, and the like.
  • the execution flow of the tasks constituting the application processing program refers to a flowchart showing the execution order, repetition, conditional branching, exclusive control of resources between tasks, etc. of one or more tasks constituting the application processing program.
  • the task execution time distribution information is preferably added to the task execution time of 1) above.
  • the task execution time distribution information is added by paying attention to the fact that some tasks do not always finish processing at a fixed execution time.
  • the distribution information of task execution time includes distribution information of execution time, distribution information expressed by mathematical expressions such as probability distribution of execution time, and Gaussian distribution. Note that the task execution time distribution information is not limited to this as long as it represents variations in task execution time.
  • the task execution time distribution information is more preferably defined by the estimated execution time and its weight.
  • the weighting may be expressed by a probability that the estimated execution time is reached.
  • the task execution time distribution information preferably includes the access time of the hardware resource when the task accesses the hardware resource.
  • hardware resources include shared memory, flash memory (flash non-volatile semiconductor memory such as memory), USB (Universal Serial Bus) memory, and hard disk.
  • the access time of hardware resources is processing waiting time such as write time and read time for accessing resources.
  • the task execution time distribution information includes the exclusive control processing waiting time when the task includes the exclusive control logic.
  • a timeout time may be set in the exclusive control logic.
  • the task execution time is more preferably used as a reference index value obtained by accumulating the estimated execution time of the application interface function of the system software used for the task.
  • the system software is a program outside the framework of the application processing program, such as an operating system (OS) or a screen drawing service program.
  • the predicted time area that is the performance target for each application processing program is the one that defines the upper limit of the processing time, the one that defines the lower limit, the one that defines the upper and lower limits, the one that defines some time, and the several time areas An example is given below.
  • the simulation of the minimum execution time, maximum execution time, and execution time distribution of the application processing program defines the execution probability for each of one or more tasks that are conditionally executed. It is preferable that an execution time distribution is generated.
  • each execution probability is defined for each of one or more tasks that are conditionally executed. For example, when the process is divided into two processes, the tasks executed depending on the conditions are different. The execution time varies depending on the conditions. Therefore, by defining the execution probability of each task, we decided to simulate the minimum execution time, maximum execution time, and execution time distribution of an application processing program having logic that processes depending on conditions.
  • the simulation of the minimum execution time, maximum execution time, and execution time distribution of the application processing program performs exclusive control on hardware resources that are commonly accessed by a plurality of tasks.
  • an execution time distribution is preferably generated.
  • the exclusive control is usually performed using a flag, a semaphore, a token, or the like. The time until the value of this flag changes or the time until acquisition such as a semaphore is the processing waiting time. Since this processing wait time changes depending on the task execution status, an execution time distribution occurs.
  • a computer software system design support apparatus includes a task definition input means for defining a priority, a start cycle, an execution time, and an execution count for each task constituting an application processing program and registering it as a task information database, and an application processing program Stores program definition input means that defines the execution flow of tasks used every time using flow definition parts registered in advance, and registers it as a program definition database, a task information database, a program definition database, and flow definition parts
  • An execution time distribution simulation means for simulating an execution time distribution for each application processing program, and a result display means for displaying a performance evaluation result of the system.
  • the task definition input means for defining the priority, start cycle, execution time, and number of executions for each task constituting the application processing program and registering it as a task information database
  • the application processing program is for causing the computer to realize the functions of the system.
  • a task is a process that is a component for causing a computer to realize a function.
  • the task priority is an index for determining the order in which the computer executes when there are a plurality of executable tasks.
  • the task activation cycle refers to the activation time interval when the task is activated periodically.
  • the activation cycle is set to 0 (zero), for example.
  • the task execution time is an estimated time for the computer to execute the task. This estimated time takes into account the processing volume performed by the task and the processing waiting time when the task accesses the hardware resource. Further, the number of executions of a task means the number of executions of a task that is periodically started up or the number of retries of a task that performs an error retry.
  • the task information database is a database in which information on the priority, start cycle, execution time, and number of executions can be referred to by a unique identification number assigned to each task.
  • the unique identification number assigned to each task may be a unique task name.
  • program definition input means for defining a task execution flow used for each application processing program using a flow definition component registered in advance and registering it as a program definition database.
  • the application processing program means, for example, in the case of a mobile phone, a program that realizes a browser function, a program that realizes an e-mail function, a program that realizes a call function, and the like.
  • the execution flow of the tasks constituting the application processing program refers to a flowchart showing the execution order, repetition, conditional branching, exclusive control of resources between tasks, etc. of one or more tasks constituting the application processing program.
  • a flow definition component is a symbolic representation of task execution order, repetition, conditional branching, resource exclusion control between tasks, etc. The number of repetitions, probability of conditional branching, timeout of exclusive control, etc. It has the parameter of.
  • the program definition database can refer to the flow definition parts and parameters used by the program, the resources accessed by the program, and the identification numbers of the tasks constituting the program, using a unique identification number assigned to each program. It is a database.
  • the unique identification number assigned to each program may be a unique program name.
  • an execution time distribution simulation means for simulating the execution time for each application processing program using the above-described task information database, program definition database, and flow definition component database in which flow definition components are stored will be described.
  • the simulation of the execution time distribution for each application processing program recognizes the task to be used and the flow definition component to be used from the program definition database corresponding to the program, and executes the priority and execution from the task information database corresponding to the task. Time and the like are recognized, and the processing contents and parameters are recognized from the flow definition component database corresponding to the flow definition component.
  • the execution time of each application processing program is simulated by adding the execution time of each task according to the task execution flow based on the priority and execution time of the recognized task, the recognized execution order, etc. To do.
  • execution times are added in order according to the execution flow of the tasks constituting the application processing program.
  • the processing waiting time is also added.
  • the execution time distribution for each program as a result of the simulation displays the result on a display screen such as a liquid crystal panel attached to the apparatus with the minimum execution time, the maximum execution time, and the occurrence frequency as a graph or a table.
  • the simulation result is stored as a different file for each program or program version.
  • the computer software system design support apparatus preferably further includes performance target information defining means for defining a predicted time region in the program definition database for each application processing program as performance target information for each application processing program.
  • the performance target information is a minimum execution time, a maximum execution time, an average execution time, and a distribution degree.
  • the result display means in the computer software system design support apparatus outputs an alarm to the application processing program when the execution time distribution of the simulation result deviates from the predicted time region.
  • the predicted time area that is the performance target for each application processing program is the one that defines the upper limit of the processing time, the one that defines the lower limit, the one that defines the upper and lower limits, the one that defines some time, and the several time areas An example is given below.
  • the task definition input means in the computer software system design support apparatus includes means for further registering the startup offset time, the real time attribute, and the time slice time for each task in the task information database.
  • the activation offset time is a delay time until the task is activated. For tasks resident in main memory, the delay time can be ignored, but for non-resident tasks where the processing code is read from the hard disk every time it is started, the delay time is also taken into account in designing the overall system performance. The evaluation can be performed correctly.
  • the real-time attribute means an event-driven task such as an interrupt, that is, a task that requires real-time property, or a periodic-driven task that performs processing periodically, that is, periodicity. Or a task attribute indicating whether a round robin method for distributing the CPU time to all executable tasks is required.
  • the task definition input means in the computer software system design support apparatus includes means for estimating the distribution information of the task execution time and registering a plurality of sets as distribution information as one set of the estimated execution time and its weight.
  • the weighting may be expressed by a probability that the estimated execution time is reached.
  • the task execution time distribution information is added by paying attention to the fact that some tasks do not always finish processing at a fixed execution time.
  • the distribution information of task execution time includes distribution information of execution time, distribution information expressed by mathematical expressions such as probability distribution of execution time, and Gaussian distribution. Note that the task execution time distribution information is not limited to this as long as it represents variations in task execution time.
  • the task definition input means in the computer software system design support apparatus further includes a processing wait time registration means for registering an estimated processing time of a hardware resource in which a processing wait time occurs.
  • the hardware resource means a non-volatile semiconductor memory such as a shared memory or a flash memory, a USB memory, a hard disk, or the like, as described above.
  • the access time of hardware resources is processing waiting time such as write time and read time for accessing resources.
  • the hardware resource is more preferably a resource that is commonly accessed by a plurality of tasks. When exclusive control logic is required for resources that are commonly accessed by a plurality of tasks, the processing wait time for exclusive control is included. A timeout time may be set in the exclusive control logic.
  • the exclusive control is usually performed using a flag, a semaphore, a token, or the like.
  • the time until the value of this flag changes or the time until acquisition such as a semaphore is the processing waiting time. Since this processing wait time changes depending on the task execution status, an execution time distribution occurs.
  • the application definition input means can input at least a definition of repetitive processing, conditional branch processing, and parallel execution processing using the components registered in the flow definition component database. .
  • condition execution process can define execution probabilities for each of one or more tasks that are condition-executed.
  • Each execution probability is defined for one or more tasks that are executed conditionally. For example, when the process is divided into two processes, the task executed depends on the condition. The execution time will change. Therefore, by defining the execution probability of each task, we decided to simulate the minimum execution time, maximum execution time, and execution time distribution of an application processing program having logic that processes depending on conditions.
  • parallel execution processing is performed only when all tasks that are executed in parallel are completed, and parallel type execution that advances after that, and split type parallel execution that advances even if all tasks that are executed in parallel do not end. And preferably.
  • Software particularly embedded software incorporated in a device device, needs to be designed under severe hardware constraints such as low CPU capacity and low memory. According to the present invention, it is possible to avoid a situation in which the performance of the entire system is unachieved for the first time at the stage of designing, producing, and embedding the software module in the device. This has the effect of reducing the associated costs.
  • FIG. 1 shows a processing flow of the computer software design support method of the present invention.
  • the computer software design support method of the present invention performs performance prediction for a stand-alone system having one or more application processing programs in the following steps.
  • Step 1 For each task constituting each application processing program, a priority, a start cycle, an execution time, and an execution count are defined.
  • Step 2 For each application processing program, an execution flow of tasks constituting the program is defined.
  • Step 3) Using the priority, start cycle, execution time, and number of executions defined for each task, the execution time of the task execution flow is calculated for each application processing program.
  • System performance prediction is performed based on the minimum execution time, maximum execution time, and execution time distribution of all application processing programs.
  • FIG. 2 is a functional block diagram illustrating an example of an application processing program.
  • the application processing program of FIG. 2 includes processing task 1 and processing task 2. It is assumed that the processing task 1 performs processing for extracting the message data 3 from the message queue 1, processing the message data 3 and writing the data in the shared memory 5.
  • the processing task 2 reads data from the shared memory 5, processes the data, writes data to the flash memory 6, and in some cases reads data from the flash memory 6 and sends it to the message queue 2. Assumed to be performed.
  • step 1 first, the priority, the start cycle, the execution time, and the number of executions are defined for the two tasks of the processing task 1 and the processing task 2.
  • the processing task 1 is designed as a message driven task and the processing task 2 is designed as a periodically driven task.
  • the activation cycle of processing task 1 is 0 (zero), and the activation cycle of processing task 2 is 10 ms, for example.
  • the message driven processing task 1 is generally designed with a high priority. When the process is performed only once, the number of executions is 1, and when the process is repeated a plurality of times, the number of executions is n.
  • the processing performed by the task that is, the data extraction processing from the message queue 1, the writing processing to the shared memory 5, and the estimated time of each are estimated and determined.
  • a process for reading data from the shared memory 5, a process for writing data to the flash memory 6, a process for sending data to the message queue 2, and an estimated time for each are predicted and determined.
  • the estimated time is predicted in consideration of such processing wait times.
  • exclusive control is performed on the shared memory 5 to which the processing task 1 and the processing task 2 respectively write and read, the estimated time is predicted in consideration of the processing waiting time until the control right is received.
  • FIG. 3A shows an example of the types of tasks used in the execution flow of the application processing program. Tasks are finely defined in units that can be estimated. Define things that execute tasks repeatedly, those that execute a large number of cases according to conditions, and those that execute tasks in parallel.
  • FIG. 3B shows an example of hardware resources. A hardware resource is given a task processing wait time for accessing the resource as attribute information.
  • FIG. 4 shows an example of the execution flow of the repetitive task.
  • the initialization task 10 is 10 ⁇ sec
  • the process transaction task 12 is 20 ⁇ sec
  • the end session task 14 is 5 ⁇ sec
  • the execution time of the execution flow shown in FIG. Is 10 + 20 ⁇ 5 + 5 115 ⁇ sec.
  • FIG. 5 shows an example of a case task execution flow.
  • the transaction acquisition task 20 is 15 ⁇ sec
  • the process A task 22 is 20 ⁇ sec
  • the process B task 24 is 40 ⁇ sec
  • the process C task 26 is 25 ⁇ sec
  • the branch probabilities a to c of the case task 28 are 0.5 and 0, respectively. .3, 0.2
  • FIG. 6 shows an example of the execution flow of the pulse task.
  • the user input operation task 30 is 5 ⁇ sec
  • the remote query display task 32 is 15 ⁇ sec
  • the task 34 for displaying the query result on the screen is 25 ⁇ sec
  • the task 36 using the input data as display data is 10 ⁇ sec
  • the display display task 38 is 20 ⁇ sec.
  • the Pardo task 31 includes a logic in which an attached task 32 and task 34 are executed in parallel, and processing does not proceed first unless all these tasks are completed.
  • FIG. 7 shows an example of an execution flow of tasks of two programs for inputting data and writing to the shared memory.
  • the two application processing programs are composed of a program composed of an execution flow of a repetition task 41, a data input task 42, and a write data task 43, and an execution flow of a repetition task 46, a data input task 47, and a write data task 48. It is a program.
  • the execution time of the write data task 43 is 20 ⁇ sec and the execution time of the write data task 48 is 25 ⁇ sec
  • each write data task waits for processing while the other write data task is writing to the shared memory 40.
  • the execution time of the write data task 43 is 20 ⁇ sec
  • the execution time of the write data task 48 is 25 ⁇ sec
  • FIG. 8 shows an example of an execution flow of two program tasks, a process of writing data to the shared memory and a process of reading data.
  • the two application processing programs are composed of a program composed of an execution flow of a repetition task 51, a data input task 52, and a write data task 53, and an execution flow of a repetition task 56, a read data task 57, and a screen display task 58. It is a program. Assume that one program writes data to the shared memory 50 and the other program reads and processes the written data.
  • the execution time of the data input task 52 is 10 ⁇ sec
  • the execution time of the write data task 53 is 20 ⁇ sec
  • the execution time of the read data task 57 is 15 ⁇ sec
  • the execution time of the screen display task 58 is 25 ⁇ sec
  • FIG. 9 shows an example of an execution flow of a task of a program that stores data and stores it in a temporary memory or flash memory.
  • the execution time of the data storage task 60 is 15 ⁇ sec
  • the execution time of the storage task 62 in the temporary memory is 20 ⁇ sec
  • the processing waiting time of the flash memory is estimated as 50 ⁇ sec
  • the execution time of the storage task 63 in the flash memory is 70 ⁇ sec
  • FIG. 11 shows a functional block diagram of the application processing program of the video reproduction apparatus.
  • FIG. 11 shows a file reading task, a video decoding task, a video display task, an audio decoding task, an audio playback task, and a shared memory. The start cycle and start delay of each task, the waiting time of the shared memory, and the access unit are shown. It is shown. First, the data read from the shared memory by the file reading task is written to another shared memory. Next, the video decoding task and the audio decoding task respectively extract and decode the data in the shared memory, and pass them to the video display task and the audio reproduction task via the shared memory, respectively.
  • FIG. 12 is obtained by rewriting the functional block of FIG. 11 into a task execution flow. The execution flow of each task is shown divided into two programs, an audio processing program and a video processing program. Exclusive control is not performed for the shared memories 1 to 5.
  • the file reading task (80, 86) is a common task.
  • the execution time of the file reading task (80, 86) is 20 ⁇ sec
  • the execution time of the audio decoding task 82 is 10 ⁇ sec
  • the execution time of the audio reproduction task 83 is 30 ⁇ sec
  • the execution time of the video decoding task 87 is 40 ⁇ sec
  • the video display task 88 Is 60 ⁇ sec
  • the minimum execution time of the audio processing program is 60 ⁇ sec
  • the minimum execution time of the video processing program is 120 ⁇ sec.
  • the maximum execution time is calculated on the assumption that the processing is delayed by the activation cycle time and that the activation delay time is further added.
  • the computer software system design support apparatus is composed of a general-purpose desktop computer or notebook computer.
  • FIG. 16 shows a functional block diagram of the computer software system design support apparatus.
  • the computer software system design support apparatus includes a task information database, a program definition database, and a flow definition component database surrounded by broken lines in FIG. These databases are usually stored in the hard disk of the computer software system design support apparatus.
  • the task information database has a unique task name, priority, start offset, start cycle, real time attribute, execution time, time slice, and number of executions assigned to each task. This database can be referenced by task name.
  • the program definition database is a database in which flow definition parts and parameters used by the program, resources accessed by the program, and task names constituting the program can be referred to by a unique program name assigned to each program.
  • the flow definition component database also displays flow definition component parameter information such as the number of repetitions, probability of conditional branching, timeout of exclusive control, etc., flow of task execution order, repetition, conditional branching, exclusive control of resources between tasks, etc. It is a database that can be referenced by a unique number assigned to a definition part.
  • the computer software system design support apparatus is pre-registered with task definition input means for defining task information for each task and registering it as a task information database, and a task execution flow used for each program.
  • Program definition input means for defining and registering as a program definition database.
  • an execution time distribution simulation unit for simulating an execution time distribution for each application processing program and a system performance evaluation result display unit are provided.
  • 17 and 18 show a project creation menu and a project creation screen, respectively.
  • the computer software system design support apparatus manages a design target device or a design target system in units of projects. Therefore, create a project first.
  • the task is defined by drawing a class diagram in conformity with UML (Unified Modeling Language) 2.0.
  • UML is a unified notation for program design drawings in object-oriented software development.
  • the definition of an application processing program is to define a task execution flow used for each application processing program using a flow definition component registered in advance. The execution flow of this task is called a software execution model.
  • 19 and 20 show a task creation menu and a task creation screen according to UML 2.0, respectively.
  • FIG. 21 is an application processing program definition screen.
  • FIG. 22 shows the performance requirement analysis menu.
  • the simulation information input screen of FIG. 23 is displayed.
  • the simulation operation environment information is input using the simulation information input screen of FIG. Specifically, a simulation time and a scheduling method are input.
  • the “performance target information” tab in the screen is selected on the screen of FIG. 23, the performance target information list screen of FIG. 24 is displayed.
  • the program time constraint here, the upper limit of the execution time is displayed.
  • the performance target information of each task is created using the performance target information input screen shown in FIG.
  • task information When the “task information” tab in the screen of FIG. 23 is selected, the task information list screen of FIG. 26 is displayed. On the task information list screen, task name, priority, start offset, start cycle, real time attribute, execution time, time slice, and number of executions are displayed in a list for each task. Individual task information is created using the task information input screen of FIG.
  • the simulation time, the total task execution time of the real time attribute, the CPU usage rate, and the program list not achieving the performance target are displayed as the overall information screen.
  • the sequence screen of FIG. 29 is displayed.
  • the program name, performance target, minimum execution time, and maximum execution time are displayed. According to the sequence screen, the execution time distribution of the application processing program can be grasped.
  • the “task trace” tab in the screen of FIG. 28 or 29 is selected, the task trace screen of FIG. 30 is displayed.
  • one program consists of 5 tasks (DecodeAudio task, DecodeVideo task, Timing task, FileReader task, Playbutton task), and after the FileReader task is executed, the timing task is shown. ing.
  • the computer software design support method and the computer software design support apparatus of the present invention are a software design method and a design support apparatus for a stand-alone computer-equipped device such as a mobile phone terminal and an information home appliance, and a plurality of such as an in-vehicle system and a robot control system. It is useful as a design support method and design support device for software installed in a system composed of computers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention porte sur un procédé de support de conception de logiciel informatique et sur un dispositif de support de conception, dans lequel l'étape de conception portant sur des questions de performance qui est l'un des problèmes sérieux de dysfonctionnement est améliorée et les coûts de développement associés à l'amélioration de la qualité de logiciel embarqué et à la réduction du nombre d'étapes de retour en arrière sont réduits. Au moins la priorité, le cycle d'activation, le temps d'exécution et la fréquence d'exécution sont définis pour chaque tâche constituant un programme de traitement d'application. De plus, le flux d'exécution de tâches constituant le programme de traitement d'application est défini. Le temps d'exécution pour le flux d'exécution des tâches est calculé par utilisation de la priorité, du cycle d'activation, du temps d'exécution et de la fréquence d'exécution définis pour chaque tâche. La performance de système est prédite à partir du temps d'exécution minimal, du temps d'exécution maximal et de la distribution du temps d'exécution du programme de traitement d'application.
PCT/JP2012/001478 2011-03-02 2012-03-02 Dispositif de support de conception de système de logiciel informatique Ceased WO2012117746A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013502203A JP5374707B2 (ja) 2011-03-02 2012-03-02 計算機ソフトウェアシステム設計支援装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011-045594 2011-03-02
JP2011045592 2011-03-02
JP2011-045592 2011-03-02
JP2011045594 2011-03-02

Publications (1)

Publication Number Publication Date
WO2012117746A1 true WO2012117746A1 (fr) 2012-09-07

Family

ID=46757688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/001478 Ceased WO2012117746A1 (fr) 2011-03-02 2012-03-02 Dispositif de support de conception de système de logiciel informatique

Country Status (2)

Country Link
JP (1) JP5374707B2 (fr)
WO (1) WO2012117746A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292237A (zh) * 2015-12-18 2018-07-17 想象技术有限公司 控制gpu的操作
CN109002377A (zh) * 2018-07-26 2018-12-14 郑州云海信息技术有限公司 一种处理器检测方法、处理器检测装置以及计算机设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437699B2 (en) 2015-01-21 2019-10-08 International Business Machines Corporation Measuring execution time of benchmark programs in a simulated environment
CN111861012B (zh) * 2020-07-23 2025-02-21 西安奥卡云数据科技有限公司 一种测试任务执行时间预测方法及最优执行节点选择方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047884A (ja) * 1998-07-28 2000-02-18 Toshiba Corp スケジューリング解析装置、スケジューリング解析方法及びスケジューリング解析用プログラムを記録した媒体
JP2002268879A (ja) * 2001-03-07 2002-09-20 Mitsubishi Electric Corp プログラム設計支援装置、プログラム設計支援方法及びプログラム設計支援方法をコンピュータに実行させるためのプログラム。
JP2006185055A (ja) * 2004-12-27 2006-07-13 Toshiba Corp 計算機システムの設計支援システムおよび設計支援プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047884A (ja) * 1998-07-28 2000-02-18 Toshiba Corp スケジューリング解析装置、スケジューリング解析方法及びスケジューリング解析用プログラムを記録した媒体
JP2002268879A (ja) * 2001-03-07 2002-09-20 Mitsubishi Electric Corp プログラム設計支援装置、プログラム設計支援方法及びプログラム設計支援方法をコンピュータに実行させるためのプログラム。
JP2006185055A (ja) * 2004-12-27 2006-07-13 Toshiba Corp 計算機システムの設計支援システムおよび設計支援プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUKIKAZU NAKAMOTO ET AL.: "Real Time Seino Kaiseki System ProBA/RTH", NEC TECHNICAL JOURNAL, vol. 47, no. 6, 15 July 1994 (1994-07-15), pages 42 - 43 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292237A (zh) * 2015-12-18 2018-07-17 想象技术有限公司 控制gpu的操作
CN109002377A (zh) * 2018-07-26 2018-12-14 郑州云海信息技术有限公司 一种处理器检测方法、处理器检测装置以及计算机设备

Also Published As

Publication number Publication date
JP5374707B2 (ja) 2013-12-25
JPWO2012117746A1 (ja) 2014-07-07

Similar Documents

Publication Publication Date Title
JP6678780B2 (ja) プロセス視覚化プラットフォーム
US8352237B2 (en) System and method for system integration test (SIT) planning
US10031781B2 (en) Estimating job start times on workload management systems
US12162146B2 (en) Method and system for facilitating a concurrent simulation of multiple robotic tasks
US11544436B1 (en) Hardware-software interaction testing using formal verification
JP5374707B2 (ja) 計算機ソフトウェアシステム設計支援装置
JP2023086678A (ja) 深層学習フレームワークに基づいて深層学習モデルを生成して適用する方法及び装置
CN113886162A (zh) 一种计算设备性能测试方法、计算设备及存储介质
CN113391903A (zh) 可调度性模型的建立方法、装置、电子设备及存储介质
CN110610089B (zh) 用户行为模拟方法、装置及计算机设备
JP7649065B1 (ja) 車両モデルのシミュレーション性能の最適化方法及びシステム、記憶媒体、並びに電子装置
JP2020505710A (ja) ソフトウェアプログラムを検証するための方法およびシステム
US12235815B2 (en) Graph-based application performance optimization platform for cloud computing environment
WO2014054231A1 (fr) Dispositif d'assistance de construction de système d'informations, procédé d'assistance de construction de système d'informations, et support de stockage
US10114916B1 (en) Method and system to accelerate visualization of waveform data
JP2006185055A (ja) 計算機システムの設計支援システムおよび設計支援プログラム
CN119271375A (zh) 任务调度方法、装置、电子设备、存储介质及程序产品
US11954569B2 (en) Techniques for parallel model training
US12332768B2 (en) Parallel execution during application debugging
JP2014102530A (ja) 情報伝達システム設計支援方法およびプログラム
EP4191492A1 (fr) Moteur de transaction
JP2014071775A (ja) システム開発支援装置およびシステム開発支援方法
CN114077621A (zh) 监控数据回看方法和监控系统
US20250363586A1 (en) Decomposition of write memory accesses
CN102929632A (zh) 控件动作执行方法

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: 12752050

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013502203

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: 12752050

Country of ref document: EP

Kind code of ref document: A1