Framework for graph-based formalisms.
Andrea Valente,Marco Gribaudo
Dipartimento di Informatica,
Facolta’ di Scienze Matematiche Fisiche e Naturali,
Universita’ di Torino,Corso Svizzera 185/B,Torino,Italy
Qualitative analysis and performance evaluation require
the use of suitable formalisms to describe the systems un-
der study.From an abstract point of view,most of the for-
malisms deﬁned in the literature,can be seen as special kind
of hierarchical graphs.In this work we present a framework
for deﬁning and manipulating graph-based formalisms.We
build it on a data-deﬁnition language (or DDL),speciﬁc to
graph-domain,in which formalisms are described by the set
of the legal type of elements that can be used to build their
models,and by the constraints that model elements must
satisfy.Rapid development of client/server system-analysis
tools can be achieved adopting the DDL as an interchang-
In this paper we introduce a data description language
for rapid speciﬁcation of different class of graph-based for-
malism (see below) that could be used as the base on which
multi-formalism system-analysis tools can be developed.
Our language is deﬁned to be also the interchange data lan-
guage of such tool,and it has been developed taking into
account distribution of both data and code.
We start by deﬁning a language for graph descrip-
tion,then we extend it to allow the construction of multi-
formalismtools in a rapid and efﬁcient way.The result is a
Java framework (, ),) for deﬁning formalisms
and building models (as explained in the next section) de-
2 A two levels language
In this paper the term formalism refers to a set of rules
that deﬁne a particular language,with well speciﬁed syntax
and semantics,that can be used describe abstraction of real
systems.We call model the description of a particular real
systemin a given formalism.
A solver is software component that receives a model
(and knows its formalism),perform speciﬁc and possibly
heavy computation on it,then returns the model changed in
some parts,together with additional informations (such as
results of the performed analysis).
We present a two level data description language (DDL
for short),by which the analyst of a system can deﬁne a
formalism,then create models after it;the DDL has been
implemented as a Java framework.
The higher level in our DDL is for formalismspeciﬁca-
tion,the lower for model speciﬁcation.
Our goal is rapid formalismdeﬁnition:once a formalism
is described,models can be built fromit and a set of solvers
can be written for every formalism ().The formalisms
used in systemanalysis are usually grouped in families and
in many cases they formtaxonomies,so we gave class-like
behaviour to our formalisms:they can inherit from others
and specify new features,not present in their parents.We
also choose to describe themfroma structural (syntactical)
point of view,leaving to the solvers almost every semantic
check;in our architecture this permits to specify rapid cre-
ation of new formalisms without compiling any Java code,
and also to implement simple checking during model build-
ing (real-time checking).
Therefore solvers embed all semantics knowledge on
models;they are developed ad hoc for models of a speciﬁc
formalism(or a class of them),for which they code the so-
lution algorithms.In order to obtain the better possible per-
formance,they are authorised to assume speciﬁc semantics
for the models they receive.
Models in our data language are graphs,so every model
is basically deﬁned by a set of nodes and edges;since we
permit the building of hierarchies of graph,a model also
have a set (possibly empty) of sub-models.For this reason
graphs became the main abstract data type (or ADT) of our
description language,in particular we use and manipulate
hierarchical graphs ( and ) with labels both on edges
-3-Produce thecomplete solution
Figure 2.An application based on the DDL.
models.The two levels structure of the DDL results eas-
ily adaptable to XML (and XML schemas),and XSL would
be used when simple,light solvers are required.Given that
XML works well both with Java and C++ (because parsers
have already been developedand freely accessible on the In-
ternet),it will be easy to convert existing heavy-dutysolvers
to import and export this XML format.
Further research should be performed on both the graph-
ical and the solver side.Document/View approach can be
used to allow multiple visualisation styles for the graphical
entities in a formalism(see ).
A framework under development,should be capable of
generating solver skeletons starting from a formalism,al-
lowing rapid development of servers.
 F.Bause,P.Bucholz,and P.Kemper.A toolbox for func-
tional and quantitative analysis of deds.Computer Perfor-
 S.Demeyer and J.Bosch.Object-oriented technology,
ecoop’98,workshop reader.LNCS 1543,1998.
 R.J.J.V.Erich Gamma,Richard Helm.Design Patterns,
Elements of Reusable Object-Oriented Software.Addison-
 D.Harel.On visual formalisms.Communications of the
 E.Henley and H.Kumamoto.Reliability Engineering and
Risk Assessment.Prentice Hall,Englewood Cliffs,1981.
 N.Leveson.Safeware:System Safety and Computers.
 G.B.Lynne Blair,Trevor Jones.A tool suite for multi-
paradigm speciﬁcation.LNCS 1577,1999.
G.Franceschinis.Modelling with Generalized Stochastic
Petri Nets.John Wiley &Sons,1995.
 W.H.Sanders.Integrated framworks for multi-level and
multi-formalismmodeling.Proceedings of PNPM’99,1999.
 J.Tapken.Implementing hierarchical graph-structures.
LNCS 1577,pages 283–295,1999.
 M.von der Beeck,V.Braun,A.Classen,A.Dannecker,
S.B.Graphs in metaframe:The unifying power of polymor-