EPOXI towards Specification Carrying Software - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

EPOXI towards Specification Carrying Software

Description:

each ADL abstracts away different aspects, which causes. semantic incompatibilities. abstraction. There are GAPS between. high-level architectural views and ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 36
Provided by: duskopa
Category:

less

Transcript and Presenter's Notes

Title: EPOXI towards Specification Carrying Software


1
EPOXI - towards Specification Carrying Software -
Kestrel Institute Palo Alto, California www.kestre
l.edu June 2001
2
Contents
  • ADLs vs EPOXI
  • Architecture of architecture
  • Our contribution
  • Specification Carrying Software
  • Gauges from specifications
  • Specs and Specware
  • Kestrelwares
  • Evolving specs and EPOXI
  • Automating architectural composition
  • Benefits and tech transfer

3
ADLs vs EPOXI
  • ADLs ? interoperability of components, and of
    systems
  • EPOXI ? interoperability of ADLs, and of systems

4
Architecture of architecture
But in the current ADLs
What do architects do?
  • There are GAPS between
  • high-level architectural views and
  • low-level domain-specific extensions.
  • they apply generic patterns and components
    (design and modify systems)
  • behavior, dynamics uninterpreted
  • all claim extensibility, but
  • extensions and DSL interpretaters tend to be
    low-level

5
Benefit of EPOXI
  • all mathematically expressible properties can be
    represented without external imports
  • easy scripting for domain-specific macro
    extensions (MONTAGES)

6
Assembly problems...
7
... and solutions
specs
interfaces
8
Specification Carrying Software
Specification Carrying Software
EPOXI
9
Specification Carrying Software
literate software
  • software extended with
  • comments in a generic specification language, or
  • Floyd-Hoare annotations as first-class citizens
    (available to the runtime machine)
  • specifications extended with
  • executable (partial) implementations, or
  • abstract, but verifiable behaviors

dynamic!
10
Specification Carrying Software
? P,?????, S?
11
Specification Carrying Software
simulates behavior
interprets structure
12
Gauges from specifications
13
Specs
  • encapsulating presentations

spec Poset is sort X op lt XX -gt Bool
ax trans is xlty /\ yltz gt xltz ax
sym... end-spec
spec Semilattice is sort X op V in XX -gt
X cons b X ax assoc is (xVy)Vz
xV(yVz) end-spec
14
Specware
  • composing software using categories

VM
OS
pushout
PP
15
Specware
  • preserving design records

16
Specware
  • genericity, parametricity

17
Specware
  • systems of systems

18
Kestrelwares domain-specific software synthesis
19
Kestrelwaresour tech base
Planware
Designware
Specware
20
Kestrelwaresour tech base
Specware
21
EPOXI
Evolver??
Adaptaware?
EPOXI
22
Specs
  • encapsulating presentations

spec Poset is sort X op lt XX -gt Bool
ax trans is xlty /\ yltz gt xltz ax
sym... end-spec
spec Semilattice is sort X op V in XX -gt
X cons b X ax assoc is (xVy)Vz
xV(yVz) end-spec
23
Especs
  • adding behavior

espec Basic_Acct is spec end-spec
prog stad Create initX is stad
Amountself is step Deposself,d
Amountself -gt Amountself,d
cond dgt0 balance(self)-gt
balance(self)d end-step end-prog end-espec
24
EPOXI
  • states are models
  • models are refinements
  • building blocks

state descriptions
specs
steps (transitions)
interpretations
25
Especs
  • Def. Evolving spec (espec) A consists of
  • specA
  • progA
  • stA shapeA? (specA /Spec )op
  • condA edgeA ? L(specA )

26
Especs
  • Def. An espec morphism f A?B consists of

27
Especs
28
Especs
  • ... satisfying the guard condition

?uf0(k)?n
29
Composing especs
30
Composing especs
31
Composing especs
32
Composing especs
33
Architectural composition
  • pushout of especs

comp
34
Benefits
  • Adaptable systems of specification carrying
    components
  • Semantically based architectural composition
  • genericity polymorphic components, connectors,
    patterns, classified in taxonomies
  • glue automated generation of joint instances of
    parameters
  • formal computation of composite systems
  • Math foundation for automated dynamic assembly
  • composition by pushouts
  • not only of specs, but also of program modules
  • computation of all possible interactions between
    processes
  • including un(der)specified processes attacker in
    protocols
  • dynamics reduced to logic theorem prover as
    universal gauge

35
Tech transfer
  • Collaborations
  • WG CMU, SRI, Teknowledge
  • Georgia Tech, UMass
  • Oxford, T.U. Berlin, Nijmegen
  • Potential customers
  • Northorp-Grumann
  • NSA
Write a Comment
User Comments (0)
About PowerShow.com