Generation of distributed system test-beds from high-level software architecture descriptions

Most distributed system specifications have performance benchmark requirements. However, determining the likely performance of complex distributed system architectures during development is very challenging. We describe a system where software architects sketch an outline of their proposed system architecture at a high level of abstraction, including indicating client requests, server services, and choosing particular kinds of middleware and database technologies. A fully working implementation of this system is then automatically generated, allowing multiple clients and servers to be run. Performance tests are then automatically run for this generated code and results are displayed back in the original high-level architectural diagrams. Architects may change performance parameters and architecture characteristics, comparing multiple test run results to determine the most suitable abstractions to refine to detailed designs for actual system implementation. We demonstrate the utility of this approach and the accuracy of our generated performance test-beds for validating architectural choices during early system development.

[1]  John Grundy Construction of an Integrated and Extensible Software Architecture Modelling Environment , 2000 .

[2]  Philippe Kruchten,et al.  Rose/Architect: a tool to visualize architecture , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[3]  Mei-Hwa Chen,et al.  Software architecture analysis-a case study , 1999, Proceedings. Twenty-Third Annual International Computer Software and Applications Conference (Cat. No.99CB37032).

[4]  Paula M. C. Swatman,et al.  A model of EDI integration and strategic business reengineering , 1994, J. Strateg. Inf. Syst..

[5]  Rachael Sokolowski Expressing health care objects in XML , 1999, Proceedings. IEEE 8th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE'99).

[6]  Peyman Oreizy,et al.  xADL: enabling architecture-centric tool integration with XML , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[7]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[8]  Ian Gorton,et al.  Evaluating Enterprise Java Bean Technology , 2000 .

[9]  John C. Grundy,et al.  Web-Enabling an Integrated Health Information System , 2001, OOIS.

[10]  Anna Liu,et al.  Directions in Engineering Non-Functional Requirement Compliant Middleware Applications , 2000 .

[11]  John C. Grundy,et al.  Software architecture modelling, analysis and implementation with SoftArch , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[12]  John C. Grundy,et al.  High-level static and dynamic visualisation of software architectures , 2000, Proceeding 2000 IEEE International Symposium on Visual Languages.

[13]  John C. Grundy,et al.  Constructing component-based software engineering environments: issues and experiences , 2000, Inf. Softw. Technol..

[14]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[15]  A. Liu Dynamic distributed software architecture design with PARSE-DAT , 2000, Proceedings International Conference on Software Methods and Tools. SMT 2000.

[16]  Robert M. Colomb,et al.  Using CG Formal Contexts to Support Business System Interoperations (Research Note) , 1998, ICCS.

[17]  Julie A. McCann,et al.  Tool to evaluate performance in distributed heterogeneous processing , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[18]  M. A. Emmelhainz Electronic data interchange: A total management guide , 1990 .

[19]  John Grundy,et al.  Distributed Component Engineering using a Decentralised, Internet-based Environment , 2000 .

[20]  Der-Ming Liou,et al.  Design and implementation of a Web-based HL7 validation system , 2000, Proceedings 2000 IEEE EMBS International Conference on Information Technology Applications in Biomedicine. ITAB-ITIS 2000. Joint Meeting Third IEEE EMBS International Conference on Information Technol.

[21]  John T. Stasko,et al.  PVaniM: a tool for visualization in network computing environments , 1998, Concurr. Pract. Exp..

[22]  Vaidy S. Sunderam,et al.  PVaniM: a tool for visualization in network computing environments , 1998, Concurr. Pract. Exp..

[23]  William Song,et al.  Distributed and scalable XML document processing architecture for E-commerce systems , 2000, Proceedings Second International Workshop on Advanced Issues of E-Commerce and Web-Based Information Systems. WECWIS 2000.

[24]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[25]  C. Murray Woodside,et al.  Software resource architecture and performance evaluation of software architectures , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[26]  Larry Kerschberg,et al.  A software architectural design method for large-scale distributed information systems , 1996, Distributed Syst. Eng..

[27]  James Noble,et al.  Visualizing Implicit Structure in Java Object Graphs , 1999 .

[28]  Shikharesh Majumdar,et al.  Using analytic models predicting middleware performance , 2000, WOSP '00.

[29]  Matjaz B. Juric,et al.  Java 2 distributed object middleware performance analysis and optimization , 2000, SIGP.

[30]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[31]  John C. Grundy,et al.  Visual specification of multi-view visual environments , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

[32]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[33]  David Jackson,et al.  Visualising complex control flow , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

[34]  John Grundy,et al.  Directions in modelling large-scale software architectures , 2000, Proceedings International Conference on Software Methods and Tools. SMT 2000.

[35]  Lei Hu,et al.  A performance prototyping approach to designing concurrent software architectures , 1997, Proceedings of PDSE '97: 2nd International Workshop on Software Engineering for Parallel and Distributed Systems.