DE10316292A1 - Method and arrangement for the performance prediction of an information technology system - Google Patents

Method and arrangement for the performance prediction of an information technology system

Info

Publication number
DE10316292A1
DE10316292A1 DE2003116292 DE10316292A DE10316292A1 DE 10316292 A1 DE10316292 A1 DE 10316292A1 DE 2003116292 DE2003116292 DE 2003116292 DE 10316292 A DE10316292 A DE 10316292A DE 10316292 A1 DE10316292 A1 DE 10316292A1
Authority
DE
Germany
Prior art keywords
system
prototype
performance
flow structure
respective
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
DE2003116292
Other languages
German (de)
Inventor
Andreas Dr. Hennig
Anja Hentschel
James Tyack
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2003116292 priority Critical patent/DE10316292A1/en
Publication of DE10316292A1 publication Critical patent/DE10316292A1/en
Application status is Ceased legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Abstract

The invention essentially consists in the fact that reliable tests are already carried out in the design phase by automatically generating a comprehensive performance prototype in the real target environment of the system. For this purpose, the system design is enriched with important performance information in a special notation, for example in UML. A generator program then automatically generates the source code of the components involved, which are then transferred to the respective target platforms and systems and activated there (deployment). In addition, test scenarios can be generated with which the finished prototype system can be tested. The main advantage of the invention lies in the automatic, fast, flexible, efficient and consistent generation of a comprehensive prototype, which would be impossible with manual prototypes. This enables an early and integrated design of hardware and software and thus reduces the risks costs and time of a certain system / product development.

Description

  • The Invention relates to a method and an arrangement in which the Performance, e.g. the response time, the capacity, the scalability and the overload tolerance, of an information technology system (IT system) is predicted becomes.
  • A such performance prediction is currently for example on the Based on benchmarking and manual prototypes. When benchmarking are "usual" activities with the help of standardized measurements real hardware, to be able to compare different platforms. This allows statements on the relative performance advantage of different platforms but hardly any absolute values for specific applications can be identified. Furthermore, standardized Benchmarks inevitably not the process and load behavior of the planned system / product, therefore only supply basic material for extrapolations. With manual prototype development, aspects of what is to be realized Systems / Products selected and implemented and can then be observed for load behavior in tests. Usually however, the focus is on the functional feasibility Prototypes are also compulsory for reasons of complexity and time limited to a few aspects. There especially for large ones IT systems / products performance typically but also through the interaction of different components in different Usage scenarios is affected, the risk is important effects overlooked in manual prototypes, very much large. The effort for a manual implementation of different usage scenarios or Design alternatives are usually not justifiable. adversely with manual prototype development is also the long development time and the risk of errors and inconsistencies.
  • Larger IT systems or products have almost always and increasingly perform as essential quality criterion. However, a variety of implementation and configuration options affect of the system / product itself but also of the underlying hardware and software components, the performance of the system is sometimes considerable. Their impact on the overall system is - after completion - through Load tests measurable, what Concepts, system design, purchase and installation planning unacceptable late in the development cycle would. A desirable parallel development of hardware, software and installation is so impossible also a quality or cost-optimized planning or development taking into account of performance. About that In addition, there are performance problems that affect the functionality of the overall system compromise, in certain circumstances not recognized in time.
  • The The object underlying the invention is now the above to avoid disadvantages mentioned and a method and an arrangement for early and if possible reliable Performance prediction for Specify IT systems / products, with "early" here already in the design phase means.
  • This Task is with regard to the process by the features of Claim 1 and with regard to the arrangement by the features of claim 5 solved in an inventive manner. The further claims relate to preferred embodiments of the method according to the invention.
  • The Invention essentially consists of being in the design phase reliable Tests by automatically generating a comprehensive performance prototype takes place in the real target environment of the system. This is the system design in a special notation, for example in UML, around important ones Performance information enriched. A generator program generates then automatically the source code of the components involved then transferred to the respective target platforms and systems and activated there (deployment). The generated prototypes correspond at least with regard to behavior, the resource load and the performance of the future System - not but necessarily with regard to the content of the system responses. additionally can Optional test scenarios are generated with which the finished prototype system can be tested. The main advantage of the invention lies in the automatic, fast, flexible, efficient and consistent Generate a comprehensive prototype, what about manual prototypes impossible would. This allows an early one and integrated design of hardware and software, thereby reducing the risks costs and time of a certain system / product development.
  • The Invention is illustrated below with reference to the drawings Examples explained in more detail. there shows
  • 1 an overview picture to explain the invention,
  • 2 an image to explain the simulation of a workflow in a network computer,
  • 3 one to 2 proper code example,
  • 4 a representation to explain a corresponding client-server communication and the replication of the corresponding workflow in the server,
  • 5 a model of a more complicated communication scenario to further explain the method according to the invention and
  • 6 a table for a more detailed explanation of characteristic load programs.
  • 1 shows an overall representation for explaining the invention, in which a model M in a given notation provides an input variable for a prototype generator PG, which in turn generates prototype codes 1, 2 ... n for different platforms with the aid of program elements for resource consumption types RVA, which then Application servers AS or servlet machines SE are deployed (deployed), which in turn may access databases DB.
  • Furthermore the prototype generator PG can also optionally load test scenarios LTS with test client computers TC generate a stressful situation with, for example, several user computers, each one Have user profile to simulate.
  • The method and the arrangement according to the invention can advantageously be used to simulate and evaluate, for example, data network applications, this being an “in vivo” simulation, ie a combination of components that have already been implemented and simulated, and wherein the Simulation takes place on real hardware or in the real environment 1 the parts generated by the prototype generator PG, which simulate parts that are not yet available, are hatched.
  • The The notation of the model is ideally done in standard modeling tools software development, on the one hand about its possibilities and distribution to use, on the other hand, to be involved in the development process to become. The notation should be simple and intuitive enough in the normal software development process without much additional effort to be able to be used. At the same time relevant performance information can be clearly stored.
  • Because of Distribution and acceptance is the UML (Unified Modeling Language) the obvious choice, other modeling languages, for example SDL or MSC but also suitable. To the method according to the invention as possible early to be able to use becomes a "workflow" based notation related, i.e. there are processes defined and simulated, not necessarily internal decision algorithms. From the UML representation, for example, via XML (extensible markup language) an intermediate code is generated in Java, which is then integrated into the corresponding target platform is converted.
  • The Notation and the generator PG should advantageously be able be the performance information from tools from different manufacturers to be able to determine and the content of the notation must merged from different diagrams and into a single code fragment represents can be.
  • Very different situations can occur, such as:
    • - That the behavioral patterns of two typical processes have to be integrated in a single component.
    • - That the components of different target platforms, for example a database, EJB, Perl, .NET, must be able to interact with one another in the desired form.
    • - If, for example, three types of components (a SQL database, EJB, Perl) are used, which, for example, interact in four typical sequences (workflows) with 12 steps each, three times four behavior instructions with up to 12 steps must be generated. These in turn must be able to use three times three calling methods (protocols), for example EJB-> database, database-> EJB, EJB-> Perl ..., all with full support for sending and receiving requests as well as sending and receiving the Reply.
  • The inventive method must be expandable, as there are options here the degrees of freedom are only known with the specific application a new component or resource type, for example. This applies to both the code generation, for example, additional code in .NET is required for the suspension (Deployment), e.g. an additional installation on a Websphere application server and for load test scenarios, for example will be an additional Load test required by load test frameworks (e.g. Jprobe).
  • The Resource consumption, for example the CPU requirement, must be via hardware platforms, e.g. PCs, workstations and mainframes, operating systems, e.g. Unix, Windows and variants as well as software platforms such as Websphere, WebLogic, Jboss as application server or Oracle, DB / 2, mySQL as a database, can be used consistently and reproduced.
  • For an automatic generation of the performance prototypes, the behavior patterns have to be and resource needs must be mapped and the necessary flexibility must be available so that different target platforms and technologies can be generated. Such technologies are for example J2EE, JSP, ASP, http.
  • The Deployment, i.e. the automatic installation and activation of the Prototypes, must be possible on different platforms, and if necessary allow individual access and activation methods. For deployment are access, upload and type information and, if applicable individual manual steps, such as a restart, are also required.
  • In 2 A workflow wf_step is shown with a client computer A and a server computer B, the computer A first sending a request f1 to the computer B and in the computer B a CPU load of, for example, 10 seconds due to the correspondingly annotated parameters ( spe.req.cpu = 10s) by a correspondingly called program element PE for a resource consumption type RVA and then a transition back to computer A with feedback of any changed parameters.
  • In 3 is a corresponding code example too 2 shown, the in 2 Steps S3 and S6 shown in the code can be recognized by corresponding if queries for these steps and, for example, in addition to the CPU load of, for example, 10 seconds, a simulation of the html communication in step S3 is also carried out here.
  • In 4 A communication between an http client computer C and a server S, which works with JSP, for example, is shown, wherein in the server a method dpl_process communicates with a method call_in and a method ret_out, the method call_in with the method wf-step for the respective workflow step, which in turn communicates with a method use_resource for resource utilization, which accesses program elements PE for a resource consumption type RVA, and the method wf-step connects with a method call_out, which connects to another Server NS enables. The method wf_step is generated completely from the model, the other methods do not usually have to be regenerated and can therefore be combined in a library
  • In 5 An example is shown with a more complicated communication process, in which a browser makes an http request to a JAVA server page JSP1 (logical sequence number is 1.1), which in turn (sequence number 1.1.1) calls another JAVA server page JSP2, whereupon the JAVA -Serverpage JSP1 receives results from the JAVA server page JPS2 and then (sequence number 1.1.2) makes another call to the JAVA server page JSP2. The JAVA server page JSP2 then carries out a survey of a SQL server mySQL and receives a result from it. The JAVA server page JSP1 receives a second set of results from the JAVA server page JSP2, whereupon the JAVA server page JSP1 delivers results to the browser. A corresponding process takes place with every browser call, possibly also several processes of the same or different types at the same time. In each stage, the respective server module generally adds or changes parameters and calls program elements PE accordingly. Likewise, resources are used in accordance with the specifications (eg CPU) and network communication with a specified volume and type is carried out in each stage.
  • In 6 is a table with selectable program elements PE for resource consumption types RVA, here called benchmarks. For example, a default program element can be specified in the event that no suitable load program can be selected. The supplied or transferred parameters may be interpreted differently by these program elements.
  • By the invention makes it possible Keep information of the entire system / product consistent and thus a basis for automatic generation created. The invention allows one flexible change usage behavior, for example new, more or different users, a change the runtime behavior, for example component A calls component C instead of B, and resource requirements, for example more or less Computing / storage / network capacity. The method according to the invention is flexible and fully expandable with regard to components, e.g. number, Type, communication link and nesting, with regard to processes, for example iterations, branching, concurrency, synchronization, Condition, timing points, variants of resource requirements per step etc. regarding resource types, e.g. CPU, time, main memory, disk storage, Network bandwidth, external devices etc., regarding communication protocols, for example TCP / IP, http, SOAP, RMI, IIOP, SQL, regarding communication types, for example synchronous or asynchronous and regarding target platforms, for example J2EE, JSP, ASP, CGI, CORBA, .NET, Oracle, computer under Unix or Windows.
  • Automatic prototy generation pen and the automatic deployment enable a fast and efficient creation of requirement-specific, consistent and comprehensive prototypes, a quick adaptation to new design variants or restrictions of the environment. Finally, a test of the designs on the real system is made possible without having to be limited to extrapolations. In addition, support is provided in the creation / preparation of subsequent load tests based on the specifications of the design.

Claims (5)

  1. Method for performance prediction of an information technology Systems, - at the while the system design with the help of a notation of a model (M) performance-relevant aspects be recorded - at that from parameters for the performance-relevant aspects of processes and resource requirements of the system as well as the platforms involved, - in which at least for the platforms in the system prototype codes (1, .., n) such generated that a respective generated code with a program flow structure according to the later actual procedures generated, according to the respective resource requirement, on the relevant Place at least one program element in the program flow structure (PE) for called a resource consumption type (RVA) and the program flow structure with the at least one call (a) in at least one prototype code for a target platform (S, AS, SE) is converted.
  2. Method according to claim 1, where the respective Transfer prototype code to the respective target platform or target system and is installed and activated there and at the among the real communication relationships the feedbacks of the system and received and evaluated in a client computer.
  3. The method of claim 1 or 2, in which depending a load test scenario of the notation of the performance-relevant aspects (LTS) with at least one test client computer (TC) is created, this at least one test client computer a respective specific user behavior simulated or a Network load simulated.
  4. Method according to one of the preceding claims, which is the modeling language UML.
  5. Arrangement for performance prediction of an information technology Systems, - at who is a model (M) for Performance-relevant aspects exist, whereby parameters for the performance-relevant Aspects of processes and the system's resource requirements and the platforms involved are removable, - at which has a prototype generator (PG) for each The system's target platform generates a prototype code such that a program flow structure according to the later actual procedures generated, according to the respective resource requirement, on the relevant Place at least one program element in the program flow structure (PE) for called a resource consumption type (RVA) and the program flow structure with the at least one call (a) in at least one prototype code for one Target platform (S, AS, SE) is converted.
DE2003116292 2003-04-09 2003-04-09 Method and arrangement for the performance prediction of an information technology system Ceased DE10316292A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003116292 DE10316292A1 (en) 2003-04-09 2003-04-09 Method and arrangement for the performance prediction of an information technology system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2003116292 DE10316292A1 (en) 2003-04-09 2003-04-09 Method and arrangement for the performance prediction of an information technology system
PCT/EP2004/001168 WO2004090756A2 (en) 2003-04-09 2004-02-09 Method and array for performance forecast of an information-technical system

Publications (1)

Publication Number Publication Date
DE10316292A1 true DE10316292A1 (en) 2004-11-11

Family

ID=33154140

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003116292 Ceased DE10316292A1 (en) 2003-04-09 2003-04-09 Method and arrangement for the performance prediction of an information technology system

Country Status (2)

Country Link
DE (1) DE10316292A1 (en)
WO (1) WO2004090756A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627151B2 (en) 2003-04-04 2009-12-01 Lumidigm, Inc. Systems and methods for improved biometric feature definition
CN104077139B (en) * 2014-07-04 2017-11-24 用友网络科技股份有限公司 Remote invocation method and far call device under script drive environment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002027565A1 (en) * 2000-09-28 2002-04-04 Cadence Design Systems, Inc. Performance level modeling and simulation of electronic systems having both hardware and software

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9828381D0 (en) * 1998-12-22 1999-02-17 Isis Innovation Hardware/software codesign system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002027565A1 (en) * 2000-09-28 2002-04-04 Cadence Design Systems, Inc. Performance level modeling and simulation of electronic systems having both hardware and software

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GRELLIER, T. *
MOUSSA, I. *
MOUSSA, I.; GRELLIER, T.; NGUYEN, G.: Exploring SW performance using SoC transaction-level model- ling. In: Design, Automation and Test in Europe Conference and Exhibition, 2003, Vol. Iss., 7.3.2003 Pages: 120-125 suppl.
NGUYEN, G.: Exploring SW performance using SoC transaction-level model- ling. In: Design, Automation and Test in Europe Conference and Exhibition, 2003, Vol. Iss., 7.3.2003 Pages: 120-125 suppl. *

Also Published As

Publication number Publication date
WO2004090756A2 (en) 2004-10-21
WO2004090756A3 (en) 2005-06-09

Similar Documents

Publication Publication Date Title
Becker et al. The Palladio component model for model-driven performance prediction
Morin et al. An aspect-oriented and model-driven approach for managing dynamic variability
US7676806B2 (en) Deployment, maintenance and configuration of complex hardware and software systems
US7665064B2 (en) Systems and methods for web service function, definition, implementation, and/or execution
Hines et al. Dynamic communication models in embedded system co-simulation
Dornemann et al. On-demand resource provisioning for BPEL workflows using Amazon's elastic compute cloud
US7870535B2 (en) Distributed development environment for building internet applications by developers at remote locations
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
CN101939736B (en) System and method for developing rich internet applications for remote computing devices
US7770151B2 (en) Automatic generation of solution deployment descriptors
US20060265475A9 (en) Testing web services as components
US9823900B2 (en) Automated enterprise software development
US20030204784A1 (en) System and method for automatic test case generation
US20030005090A1 (en) System and method for integrating network services
US8380880B2 (en) Scalable architecture
CN101946258B (en) Model based deployment of computer based business process on dedicated hardware
US6868454B1 (en) Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US20050102665A1 (en) Automatic parallel non-dependent component deployment
US7930683B2 (en) Test automation method for software programs
US20040143819A1 (en) Generic software testing system and mechanism
US7992127B2 (en) Method and system of encapsulating web site transactions for computer-aided generation of web services
Emmerich Distributed component technologies and their software engineering implications
US20060259499A1 (en) Automatic generation of documentation for component-based computing solution
US20070168971A1 (en) Multi-tiered model-based application testing
Gokhale et al. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection