646 research outputs found
Siphon-Based Verification of Component Compatibility
In component-based systems, two interacting components are compatible if any sequence of services requested by one component can be provided by the other. This concept of compatibility can easily be extended to a set of interacting components. Checking the compatibility of interacting components is essential for any dependable software system. Recently, an approach to verification of component compatibility has been proposed in which the behavior of individual components (at component interfaces) was modeled by labeled Petri nets. Moreover, the composition of interacting components was designed in such a way that all component incompatibilities were manifested by deadlocks in the composed model. Consequently, the verification of component compatibility is performed by deadlock analysis of the composed model. One of techniques for deadlock analysis is based on net structures called siphons. Siphon-based verification of component compatibility is the subject of this paper
Third Workshop on Modelling of Objects, Components, and Agents
This booklet contains the proceedings of the Third International Workshop on Modelling of Objects, Components, and Agents (MOCA'04), October 11-13, 2004. The workshop is organised by the CPN group at the Department of Computer Science, University of Aarhus, Denmark and the "Theoretical Foundations of Computer Science" group at the University of Hamburg. The home page of the workshop is: http://www.daimi.au.dk/CPnets/workshop0
Identifying parameter regions for multistationarity
Mathematical modelling has become an established tool for studying the
dynamics of biological systems. Current applications range from building models
that reproduce quantitative data to identifying systems with predefined
qualitative features, such as switching behaviour, bistability or oscillations.
Mathematically, the latter question amounts to identifying parameter values
associated with a given qualitative feature.
We introduce a procedure to partition the parameter space of a parameterized
system of ordinary differential equations into regions for which the system has
a unique or multiple equilibria. The procedure is based on the computation of
the Brouwer degree, and it creates a multivariate polynomial with parameter
depending coefficients. The signs of the coefficients determine parameter
regions with and without multistationarity. A particular strength of the
procedure is the avoidance of numerical analysis and parameter sampling.
The procedure consists of a number of steps. Each of these steps might be
addressed algorithmically using various computer programs and available
software, or manually. We demonstrate our procedure on several models of gene
transcription and cell signalling, and show that in many cases we obtain a
complete partitioning of the parameter space with respect to multistationarity.Comment: In this version the paper has been substantially rewritten and
reorganised. Theorem 1 has been reformulated and Corollary 1 adde
Model Fusion for the Compatibility Verification of Software Components
Similarly as in earlier work on component compatibility, the behavior of components is specified by component interface languages, defined by labeled Petri nets. In the case of composition of concurrent components, the requests from different components can be interleaved, and - as shown earlier - such interleaving can result in deadlocks in the composed system even if each pair of interacting components is deadlock–free. Therefore the elements of a component–based system are considered compatible only if the composition is deadlock–free. This paper formally defines model fusion, which is a composition of net models of individual components that represents the interleaving of interface languages of interacting components. It also shows that the verification of component compatibility can avoid the exhaustive analysis of the composed state space
Checking compatibility and substitutability of software components
In component-based systems, two components are compatible if all possible sequences of services requested by one component can be provided by the other component. It has been recently shown that for verification of compatibility, the behavior of interacting components, at their interfaces, can be modeled by labeled Petri nets with labels representing the requested and provided services. Such component models are then composed and the composition operation is designed in such a way that component incompatibilities are manifested as deadlocks in the composed model. Compatibility verification is thus performed through deadlock analysis of the composed models. Component compatibility is also used for the verification of component substitutability; if the new component is compatible with all components that interact with the old component, it can safely replace the old one
Graphical Conditions for Rate Independence in Chemical Reaction Networks
Chemical Reaction Networks (CRNs) provide a useful abstraction of molecular
interaction networks in which molecular structures as well as mass conservation
principles are abstracted away to focus on the main dynamical properties of the
network structure. In their interpretation by ordinary differential equations,
we say that a CRN with distinguished input and output species computes a
positive real function \rightarrow, if for any initial
concentration x of the input species, the concentration of the output molecular
species stabilizes at concentration f (x). The Turing-completeness of that
notion of chemical analog computation has been established by proving that any
computable real function can be computed by a CRN over a finite set of
molecular species. Rate-independent CRNs form a restricted class of CRNs of
high practical value since they enjoy a form of absolute robustness in the
sense that the result is completely independent of the reaction rates and
depends solely on the input concentrations. The functions computed by
rate-independent CRNs have been characterized mathematically as the set of
piecewise linear functions from input species. However, this does not provide a
mean to decide whether a given CRN is rate-independent. In this paper, we
provide graphical conditions on the Petri Net structure of a CRN which entail
the rate-independence property either for all species or for some output
species. We show that in the curated part of the Biomodels repository, among
the 590 reaction models tested, 2 reaction graphs were found to satisfy our
rate-independence conditions for all species, 94 for some output species, among
which 29 for some non-trivial output species. Our graphical conditions are
based on a non-standard use of the Petri net notions of place-invariants and
siphons which are computed by constraint programming techniques for efficiency
reasons
Cryogenic propellant management: Integration of design, performance and operational requirements
The integration of the design features of the Shuttle elements into a cryogenic propellant management system is described. The implementation and verification of the design/operational changes resulting from design deficiencies and/or element incompatibilities encountered subsequent to the critical design reviews are emphasized. Major topics include: subsystem designs to provide liquid oxygen (LO2) tank pressure stabilization, LO2 facility vent for ice prevention, liquid hydrogen (LH2) feedline high point bleed, pogo suppression on the Space Shuttle Main Engine (SSME), LO2 low level cutoff, Orbiter/engine propellant dump, and LO2 main feedline helium injection for geyser prevention
Multicomponent Compatibility and its Verification
Software architecture has been introduced with promise of better re-use of software, greater flexibility, scalability and higher quality of software services. Software architecture uses components as the basic building blocks of software systems. Components represent high-level software models; they must be generic enough to work in a variety of contexts and in cooperation with other components, but they also must be specific enough to provide easy reuse. To be composable with other (third-party) components, a component needs to be sufficiently self-contained. Also, it needs a clear specification of what it requires and what it provides. In other words, a component needs to encapsulate its implementation and interact with its environment by means of well-defined interfaces
- …