domain specific model computation using a lattice of coalgebras jennifer streb, garrin kimmell,...

11
Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas / ITTC [email protected]

Upload: thomasina-little

Post on 12-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

Domain Specific Model Computation Using a Lattice of

CoalgebrasJennifer Streb, Garrin Kimmell, Nicolas

Frisby, and Perry AlexanderThe University of Kansas / ITTC

[email protected]

Page 2: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

The SLDL “Revolution”

• Silicon devices with 100,000,000 plus gates

• Affectionally known as a “sea of gates”

• Design abstractions unchanged since RTL

• Simulation is becoming overwhelmed

• Systems growing exponentially, simulation power sub-linearly

• Parallelization is not working

• Heterogeneous, reconfigurable fabrics

• ASIC, FPGA, Analog, MEMS

• New materials

• Unpredictable interactions between components

• Classic system-level design problem!

Page 3: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

The last thing we need is another language...

• Software Approaches• C/C++, SystemC, SpecC

• UML, SysML, XML

• Java, JBITS

• VHDL and Verilog Approaches• Verilog, Superlog, SystemVerilog, Verilog-A

• VHDL, VHDL 200x, VHDL-AMS, VHDL+, VHDL++, SUAVE

• New languages• BlueSpec, Lava, SAFL, Rosetta

• e, Sugar,<+>

• Solving tomorrow’s problems with yesterday’s technology...

Page 4: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

... but we could sure use a new semantics

• Constraints and Performance Requirements

• Timing, Power, Area, Packaging

• Formal Semantics

• Precise, mathematical definition of a specification’s meaning

• Support for heterogeneity

• Digital, analog, MEMS, optical on the same substrate

• Complexity management

• True abstract specification tools

• Decrease reliance on simulation

• Enable static and formal analysis tools

• Don’t actually change anything...

Page 5: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

The Rosetta Language and Semantics

• Support for concurrent, system-level design

• Domains for multiple models of computation

• Facet Algebra for composition of heterogeneous specifications

• Interactions for understanding cross-domain implications

• Formal Semantics

• Set theoretic, dependent type system with support for reflection

• Coalgebraic facet models

• Category theoretic model composition

• Heterogeneous, extensible domain system

• Model-of-computation definitions

• Lattice-based organization

• Elaboration of new syntax

Page 6: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

Coalgebras for Model Semantics

• Ideal for non-terminating stateful systems

• Observations on abstract state

• Catamorphism defines operational behavior

• Well-defined transformation semantics

• Pullbacks and pushouts for specification composition

• Functors for specification transformation

• Hold state abstract and define multiple observations

AbstractState

Observations

Product

SharedSpecification

Page 7: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

state_based signal_based

The Domain Lattice

static

continuous discrete

discrete_time

finite_state

continuous_time

frequency

RF digital sequential-machine

Unit-of-Semantics

Model-of-Computation

EngineeringDomains

CSP trace_based

synchronous

A Domain is a common vocabulary for specification

The Domain Lattice is a collection of interrelated domains

Page 8: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

Functors in the Domain Lattice

static

continuous discrete

discrete-time

finite-state

continuous-time

frequency

RF digital sequential-machine

state-based signal-based Extensions

CSP trace-based

synchronous

Homomorphisms

General FunctorsAbstraction, Concretization

A Functor moves information between domains

Page 9: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

• Establish soundness of abstractions and concretizations

• Sound integration of new domains

• Sound integration of synthesis and analysis tools

• (state_based,,Γ,static) is a Galois connection

• is the abstraction function

• Γ is the concretization function

• We can calculate when Γ is an extension

• No isomorphism unless ⋅ΓandΓ⋅

Correctness using Galois Connections

domain state_based::static is state_type::type; s::state_type; next(x::state_type)::state_type;beginend domain state_based;

domain security::state_based is riskType::type is posreal; p,nominal::riskType; activityType::subtype(real) is sel(x::real | x>=0.0 and x=<1.0); activity::activityTypebegin p’=activity*nominal+latent;end domain security;

Γ

Page 10: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

Random Thoughts...

• Ignore the HDL community at your own peril...

• Timing is everything...

• Orthogonality is great, but not realistic...

• Formal semantics has saved us repeatedly...

• Are you interested in standards?

Page 11: Domain Specific Model Computation Using a Lattice of Coalgebras Jennifer Streb, Garrin Kimmell, Nicolas Frisby, and Perry Alexander The University of Kansas

Current Status

• Rosetta Language Definition

• Standard in preparation for IEEE (currently 70% complete)

• Alexander, P., System Level Design with Rosetta, Morgan Kaufmann, Nov 2006

• Alexander, P., System Level Semantics and Rosetta, Morgan Kaufmann, Oct 2007 (in progress)

• http://www.sldl.org

• More Information

• Jacobs & Rutten, A Tutorial on (Co)Algebras and (Co)Induction, EATCS Bulletin 62, 1997

• Ehrig & Mahr, Fundamental of Algebraic Specification I: Equations and Initial Algebra Semantics, Springer-Verlag, 1985

• Davey & Priestly, Introduction to Lattices and Order, Cambridge University Press, 2002