Title: Succint Solver
1Succint Solver
- A tool for Static Analysis of Systems
2Complex Systems are
- those whose properties are not fully explained
by an understanding of its component parts.1
Climate, finance, www, molecular networks within
cells are some of them.
3Knowing more and moreabout less and less
- Shortfalls in reductionism are increasingly
apparent - Information overload
- An example the gene for syndrome
4Reductionist Approach
- Physical chemistry can be understood in terms of
atomic physics - Cell biology in terms of how biomolecules work
- Organisms in terms of how their component cell
system interact - Software development in terms of integration of
objects.
5Functionality
- Knowledge no more from the structures but from
the functions these components have in the
dynamic evolution of systems
Knowledge
Production
Organization
Structure must be related to behavior
6Complexity
Since the amount of data available on the
structure is huge, we can easily infer that we
need smart techniques to investigate the dynamic
properties the behavior or evolution 3
7Agenda
- Static Analysis
- Succint Solver
- ALFP Alternation-free fragment of Least Fixed
Point Logic - Ambient-Calculi Languages
- Data Structures for an application
8STATIC ANALYSIS
9Hallmark the ability
- to statically extract complex information about
the dynamic behavior of programs by - executing the programs, by simulation
- systematic inspecting the program text
10Origin and Extensions
- Compiler optimization, to handle large programs
- Validation of safety and security properties of
programs and systems - Applications in Systems Biology
11Vantages x Disadvantages
- The information extracted from a program is
guaranteed to be a correct description of the
behavior of the program.
- For most interesting properties it is impossible
to obtain exact information so typically static
analysis are approximative.
12The nature of approximation
universe
exact answer
over-approx.
Over-approximation
The exact word
unacceptable
Under-approximation
Unacceptable situation
13Over-approximation
universe
exact answer
over-approx.
- When we have an over-approximation to the exact
behavior of a program we can guarantee the
certain events will never happen namely those
not included in the analysis result.
14Under-approximation
- When we have an under-approximation to the exact
behavior of a program we can guarantee the
certain events will indeed happen namely those
included in the analysis result.
exact answer
universe
15Approximations of the possible evolution of
systems
- Precision of the analysis
The more precision we require the more costly
will the implementation be.
16SUCCINT SOLVER
17Specification
- The Succint Solver is implemented using NJ/SML
featured with modular structures, continuation
and memoizations. - Control Flow Analysis
18ALFP Alternation-free Least Fixed Point Logic
19Syntax
- Assume we are given a fixed countable set X of
(auxiliary) variables and a finite ranked
alphabet R of predicate symbols. Then the set of
clauses, cl is given by the following grammar - where R ? R is a k-ary predicate symbol
- for k ?1, x, x1, ? X denote arbitrary
variables - 1 is the always true clause. Queries and negative
queries R() and R(), whereas the other
occurrences are called assertions of the
predicate R.
20Semantics
21Dealing with negations
- Restriction to alternation-free formulas
- Notion of stratification
- A clause is an ALFP if it has the form
- and there is a function rank R ?IN such that for
all j1,,k, the following properties hold - all predicates of assertions in clj have rank j
- all predicates of queries in clj have ranks at
most j - all predicates of negated queries in clj have
ranks strictly less than j.
cl cl1 ? ? clk
22Satisfaction relations
- Given a non-empty and countable universe U of
atomic values together with interpretations p and
o for predicate symbols and free variables
respectively, the satisfaction relations are - for pre-conditions and clauses showed in the
previous table. - ?(R) set of k-tuples (a1, , ak) from U
associated with the k-ary predicate R - ?(x) for the atom of U bound to x
- ?x?a stands for the mapping that is as ?
except that x is mapped to a.
23Free variables
- In the sequel we view the free variables
occurring in a formula as constant symbols or
atoms from the finite universe U. Thus, given an
interpretation ?0 of the constant symbols, in the
clause cl, we call an interpretation ? of the
predicate symbols R a solution to the clause
provided
24Polinomial Time
- The solution of an ALFP clause can be found in
polynomial time in the size of the universe i.e.
in the number of groups and capabilities - This complexity is due to a generalization of a
meta-complexity result for Horn Clause 7, which
states that - The time needed to compute a solution is
asymptotically the same as the time needed to
check the validity of an estimate - The degree of the complexity polynomial is
dominated by one plus the nesting depth of
quantifiers occurring in the clause.
25 Succint Solver an example in Discretionary
Ambients
26Ambient-Calculi Languages
27Mobile Ambients
28Discretionary Ambients
29Discretionary Ambients
30Discretionary Ambients
31BioAmbients
Have a look at the blackboard!
32Contexts
There is no only interaction but movement of
entities that create another barrier to the
studies of the dynamism of the systems 0CFA The
computation of the over-aproximation to the
father-son relationship between ambients and
capabilities and in doing so it ignores the order
in which the capabilities are executed and also
it does not take the context in account. 1CFA It
is an over-aproximation where the grandfather
information is consistent in order to father-son
relationship to be updated. kCFA The semantics
requires that all ancestors of the two components
involved in an action are consistent. Actual step
of the research construction of this
generalization.
33Data structures for an application
34Program SML code
Signal transduction pathway example
local (----------------------------------
composition of Gene_A ------) val kin
Amb("KINASE", SumPre(SibO("bb2",
"ptail"), Nill),
Pre(ChildI("bb3", "d"),
Nil) val pra
Amb("PROTEIN_A", Par
Pre(Exit("b"),
Pre(Accept("tf"),
SumSumPre(ChildI("bb1", "d"), Nill),
Pre(Expel("g"),
Pre(SibO("degp", "d"),
Pre(ChildI("bb3", "d"),
Pre(ChildI("bb3", "d"),
Nil)))) ,
Pre(SibO("degp", "d"),
Pre(ChildI("bb3", "d"),
Nil)) )) ,kin
35Analysis Result
36Summary
- We have learned that tools for static analysis of
programs have been applied to learn about the
dynamic behavior of complex systems. - An innovation is their applicability in Systems
Biology since we believe to be very close of the
language which model the nature BioAmbients -
we can create programs (prototypes /
experimentation, for biologists) - The results of this kind of analysis are
approximatives but the properties that we can
investigate for systems can be an order of
magnitude larger than the ones that we can handle
with dynamic tools - To build models-prototypes and to perform static
analysis on them these will be the steps of the
computer scientists to reveal the behavior of
Complex Systems, in the most varied areas. - While studding the language of the nature we are
improving the knowledge about the language of
artificial systems too.
37Where to get more information
- 1 Gallagher, R. and Appenzeller, T. Beyond
Reductionism. Science, vol 284, 1999, 79. - 2 C. Hankin, Hanne Riis Nielson and Flemming
Nielson. Principles of Programming Analysis .
Springer, 1999. - 3 Debora Schuch da Rosa, Corrado Priami, Hanne
Riis Nielson and Flemming Nielson. Static
Analysis for Systems Biology. Work in progress,
2003. - 4 Mikael Buchholtz, Hanne Riis Nielson and
Flemming Nielson. Experiments with Succint
Solvers . February 12, 2002. SECSAFE-IMM-002. (
.pdf) - 5 Hongyan Sun, Hanne Riis Nielson and Flemming
Nielson. Data Structures in the Succint Solver .
November 11, 2002. SECSAFE IMM-005 (.pdf)
38More references
- 6 Lewin, Roger. Complexity Life at the edge of
chaos. The University of Chicago Press, 2nd ed.,
1999. - 7 McAllester. On the complexity analysis of
static analysis. In Static Analysis, 6th
International Symposium, SAS 1999, vol 1694 of
LNCS, pages 312-329. Springer, 1999.
39 Contacts
- schuch_at_dit.unitn.it
- Bioinformatics lab
- ICT-UNITN