Specification-Carrying Software: Evolving Specifications for Dynamic System Composition

Abstract : EPOXI (Evolutionary Programming Over Explicit Interfaces) builds on the advanced mathematical foundation to enable the design and evolution of large-scale, heterogeneous, distributed, time-critical systems. The guiding philosophy of EPOXI is refinement of requirement specifications into code that is correct by construction. EPOXI emphasizes the support for design operations that establish or preserve required properties of the target system software. Refinement and coordination of changes to the software system were by means of formal change specifications, propagation of constraints through an architecture, gauges to measure component compliance and synthesis of glue-code to assure compliance/interoperability.

[1]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[2]  Dusko Pavlovic,et al.  Composition and refinement of behavioral specifications , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[3]  John C. Mitchell,et al.  A Compositional Logic for Proving Security Properties of Protocols , 2003, J. Comput. Secur..

[4]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[5]  Douglas R. Smith,et al.  Synthesis of Planning and Scheduling Software , 1996 .

[6]  Dusko Pavlovic,et al.  Semantics of First Order Parametric Specifications , 1999, World Congress on Formal Methods.

[7]  Douglas R. Smith Constructing Specification Morphisms , 1993, J. Symb. Comput..

[8]  Dusko Pavlovic,et al.  Colimits for Concurrent Collectors , 2003, Verification: Theory and Practice.

[9]  Jakob Rehof,et al.  Tractable Constraints in Finite Semilattices , 1999, Sci. Comput. Program..

[10]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[11]  Dusko Pavlovic,et al.  Guarded Transitions in Evolving Specifications , 2002, AMAST.

[12]  Joseph A. Goguen,et al.  Institutions : abstract model theory for computer science , 1985 .

[13]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[14]  José Luiz Fiadeiro,et al.  Interconnecting formalisms: supporting modularity, reuse and incrementality , 1995, SIGSOFT FSE.

[15]  S. Lane Categories for the Working Mathematician , 1971 .

[16]  daniel Scott. Smith Mechanizing the development of software , 1991 .

[17]  Douglas R. Smith,et al.  Synthesis of efficient constraint-satisfaction programs , 2001, The Knowledge Engineering Review.

[18]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[19]  Yellamraju V. Srinivas Refinement of parameterized algebraic specifications , 1997, Algorithmic Languages and Calculi.

[20]  Drew McDermott,et al.  Derivation of glue code for agent interoperation , 2000, Agents.

[21]  Marcel Becker,et al.  Planware II : Synthesis of Schedulers for Complex Resource Systems , 2003 .

[22]  Richard Jüllig,et al.  Specware: Formal Support for Composing Software , 1995, MPC.

[23]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.