C. Hofmeister et al. (Eds.): QoSA 2006, LNCS 4214, pp. 9 26, 2006. © Springer-Verlag Berlin Heidelberg 2006 MEMS: A Method for Evaluating Middleware Architectures Yan Liu 1 , Ian Gorton 1 , Len Bass 2 , Cuong Hoang 3 , and Suhail Abanmi 1 1 National ICT Australia (NICTA), Australia 1 , & School of Computer Science and Engineering, University of New South Wales, Australia {jenny.liu, ian.gorton, suhail.abanmi}@nicta.com.au 2 Software Engineering Institute, USA ljb@sei.cmu.edu 3 Engineering Faculty, University of Technology Sydney vietcuong.hoang@student.uts.edu.au Abstract. Middleware architectures play a crucial role in determining the overall quality of many distributed applications. Systematic evaluation meth- ods for middleware architectures are therefore important to thoroughly assess the impact of design decisions on quality goals. This paper presents MEMS, a scenario-based evaluation approach. MEMS provides a principled way of evaluating middleware architectures by leveraging generic qualitative and quantitative evaluation techniques such as prototyping, testing, rating, and analysis. It measures middleware architectures by rating multiple quality at- tributes, and the outputs aid the determination of the suitability of alternative middleware architectures to meet an application’s quality goals. MEMS also benefits middleware development by uncovering potential problems at early stage, making it cheaper and quicker to fix design problems. The paper de- scribes a case study to evaluate the security architecture of grid middleware architectures for managing secure conversations and access control. The re- sults demonstrate the practical utility of MEMS for evaluating middleware architectures for multiple quality attributes. 1 Introduction Middleware refers to a broad class of software infrastructure technologies that use high-level abstractions to simplify construction of distributed systems. This infra- structure provides a distributed environment for deploying application-level compo- nents. These application components rely on the middleware to manage their life cycles and execution, and to provide off-the-shelf services such as transactions and security. Consequently, the application component behavior and the middleware architec- ture are tightly coupled, and the middleware plays a critical role in achieving the 1 National ICT Australia is funded through the Australian Government’s Backing Australia’s Ability initiative, in part through the Australian Research Council.