Introduction

System modeling and analysis is an important part of the design process of computer and communication systems in which one evaluates the efficacy of the system under consideration and compares different design alternatives. Over the last two decades, several tools have been designed to aid the user in developing performance and dependability models of those systems. Some tools are tailored to specific application domains, such as queuing network models, and availability modeling. Other tools allow specification of general modeling domains such are those based on Petri nets, those based on formal description language, and those that adopt a user interface description language specially developed for the tool. The tools also vary in terms of their user interface, the type of measures that can be obtained, and the analytic and/or simulation techniques that are available to solve the models.

During the development of a modeling tool, many issues must be addressed to facilitate the design process. On one hand, the user interface should be tailored to a particular application domain with which the user is concerned. For instance, if the user is developing an availability model, then the tool allows him/her to specify system components that can fail, interactions between components, repair policies, operational criteria, etc.

Most real system models have large space cardinalities, and so the main issue is how to deal efficiently with such large models. This problem influences both the generation phase of the state transition matrix, and the implementation of the solvers. The identification of special structures in the model is also a desirable feature. The type of model structure often influences the choice of the most effective solution technique.

Yet another issue is related to the interaction between the interface and the solvers. Several measures require special information to be provided by the user. In availability modeling, for instance, the user must specify the conditions in which the system is considered operational. In performability modeling, reward rates must be specified for the states. If the model to be solved is non-Markovian, then depending on the solution technique used the interface has to provide more information than that required solving Markovian models.

TANGRAM-II was developed at Federal University of Rio de Janeiro (UFRJ), with participation of UCLA/USA and other Universities, for research and educational purposes and deals with several of the issues mentioned above. It combines a sophisticated user interface and new solution techniques for performance and availability analysis.

Guilherme Dutra Gonzaga Jaime 2010-10-27