System-Level Design Languages: Orthogonalizing the...
Transcript of System-Level Design Languages: Orthogonalizing the...
![Page 1: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/1.jpg)
System-Level Design Languages:Orthogonalizing the Issues
Edward A. LeeUC Berkeley
The GSRC Semantics ProjectTom HenzingerLuciano LavagnoEdward LeeAlberto Sangiovanni-VincentelliKees Vissers
![Page 2: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/2.jpg)
What is GSRC?
The MARCO/DARPAGigascale Silicon Research Center– keep the fabs full– close the productivity gap– rebuild the RTL foundation– enable scaleable,
heterogeneous, component-based design
Participants:– UC Berkeley– CMU– Stanford– Princeton– UCLA– UC Santa Barbara– UC San Diego– Purdue– Michigan– UC Santa Cruz
http://www.gigascale.org
![Page 3: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/3.jpg)
What is System Level?
AD
Analog RF
Timingrecovery
JVM
ARQ
UI
Ctr
FltrsAdapAnt
Eq mud
Accelerators(bit level)
analog digital DSP core
uC core(ARM)
Logic
Logic and Memory
Source: Berkeley Wireless Research Center
Embedded SoftwareEmbedded Software
![Page 4: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/4.jpg)
The Future of System-Level Architecture?
Poor common infrastructure. Weak specialization.Poor resource management. Poor planning.
![Page 5: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/5.jpg)
Elegant Federation
Moving away from obsessive uniformity towardselegant federation of heterogeneous models.
Two Rodeo Drive, Kaplan, McLaughlin, Diaz
Sou
rce:
Kap
lan
McL
augh
lin D
iaz,
R. R
appa
port
, Roc
kpor
t, 1
998
![Page 6: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/6.jpg)
Focus on Capabilities,not Languages
l Modelingl Simulationl Visualizationl Synthesisl Verificationl Modularization
The problem we are here to address is interoperabilityand design productivity.Not standardization.
![Page 7: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/7.jpg)
Perspectives
facet
perspective
facet
facet
Designers, users, maintainers interact with facets
system
hardware architecturenetworkingsignal processinglayout...
functionhardware architecturemodespower...timing
software architecturecontrol logiclogic...
No single facetis sufficient
![Page 8: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/8.jpg)
Interactions
system
facetfacet
facet
Consistent?Modify one facet
![Page 9: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/9.jpg)
Lowresolution
AbstractionMediumresolution
Highresolution
Concretization
system
Abstraction
![Page 10: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/10.jpg)
imagefacet
facet
facet
facet
system
Shift in perspective can reduce the complexity of a facet
Choosing Perspectives
![Page 11: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/11.jpg)
Interoperability Levels
l Code can be written to translate the data from one tool to be used by another.
l Tools can open each other’s files and extract useful information (not necessarily all useful information).
l Tools can interoperate dynamically, exchanging information at run time.
![Page 12: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/12.jpg)
Component-Based Design
hierarchymodularityreusability
![Page 13: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/13.jpg)
Must Be Able to Specify
l Netlistsl Block diagramsl Hierarchical state machinesl Object modelsl Dataflow graphsl Process networks
![Page 14: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/14.jpg)
Principle: Orthogonalize Concerns in SLDLs
l Abstract Syntaxl Concrete Syntaxl Syntactic Transformationsl Type System l Component Semanticsl Interaction Semantics
Do this first, since without it, we won’t get anywhere
![Page 15: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/15.jpg)
Abstract Syntax
hierarchyconnectivity
![Page 16: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/16.jpg)
Not Abstract Syntax
l Semantics of component interactionsl Type systeml File format (a concrete syntax)l API (another concrete syntax)
An abstract syntax is the logical structure of a design. What are the pieces, and how are they related?
![Page 17: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/17.jpg)
Definitions
![Page 18: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/18.jpg)
Hierarchy
Constraints:• A port cannot be contained by more than entity.• A link cannot cross levels of the hierarchy
![Page 19: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/19.jpg)
Connected Components
entity ports relationl Frame in blackl Hierarchy in blue
![Page 20: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/20.jpg)
Hierarchy and Sharing
this entity has two containers
Meanings– class– template– sharing
![Page 21: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/21.jpg)
Heterarchy
One hierarchy in blue, another in orange.
![Page 22: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/22.jpg)
The GSRC Abstract Syntax
l Models hierarchical connected components– block diagrams, object models, state machines, …– abstraction and refinement
l Supports classes and instances– object models– inheritance– static and instance variables
l Supports multiple simultaneous hierarchies– structure and function– objects and concurrency
![Page 23: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/23.jpg)
Concrete Syntaxes
l Persistent file formatsl Close to the abstract syntaxl Make it extensible to capture other aspectsl Enable design data exchange
– without customization of the tools
Most language discussions focus on concrete syntaxes, which are arguably the least important part of the design
![Page 24: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/24.jpg)
MoML – An XML Concrete Syntax
<?xml version="1.0" standalone="no"?><!DOCTYPE model PUBLIC "…" "http://…"><model name="top" class="path name">
<entity name="source" class="path name"><port name="output"/>
</entity><entity name="sink" class="path name">
<port name="input"/></entity><relation name="r1" class="path name"/><link port="source.output" relation="r1"/><link port="sink.input" relation="r1"/>
</model>
![Page 25: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/25.jpg)
MoML DTD<!ELEMENT model (attribute | class | configure | doc | director | entity | import | link | relation)*><!ATTLIST model name CDATA #REQUIRED
class CDATA #REQUIRED>
<!ELEMENT attribute (doc | configure)*><!ATTLIST attribute class CDATA #IMPLIED
name CDATA #REQUIREDvalue CDATA #IMPLIED>
<!ELEMENT class (attribute | configure | director | doc | entity| link)*><!ATTLIST class name CDATA #REQUIRED
extends CDATA #REQUIRED>
<!ELEMENT configure (#PCDATA)><!ATTLIST configure source CDATA #IMPLIED>
<!ELEMENT director (attribute | configure)*><!ATTLIST director name CDATA "director"
class CDATA #REQUIRED>
<!ELEMENT doc (#PCDATA)>
<!ELEMENT entity (attribute | class | configure | doc | director | entity | rendition | relation)*>
<!ATTLIST entity name CDATA #REQUIREDclass CDATA #REQUIRED>
<!ELEMENT import EMPTY><!ATTLIST import source CDATA #REQUIRED>
<!ELEMENT link EMPTY><!ATTLIST link port CDATA #REQUIRED
relation CDATA #REQUIREDvertex CDATA #IMPLIED>
<!ELEMENT location EMPTY>
<!ATTLIST location x CDATA #REQUIREDy CDATA #IMPLIEDz CDATA #IMPLIED>
<!ELEMENT port (doc | configure)*><!ATTLIST port name CDATA #REQUIRED
class CDATA #REQUIREDdirection (input | output | both) "both">
<!ELEMENT relation (vertex*)><!ATTLIST relation name CDATA #REQUIRED
class CDATA #REQUIRED>
<!ELEMENT rendition (configure | location)*><!ATTLIST rendition class CDATA #REQUIRED>
<!ELEMENT vertex (location?)><!ATTLIST vertex name CDATA #REQUIRED
pathToCDATA #IMPLIED>
<!ELEMENT link EMPTY><!ATTLIST link port CDATA #REQUIRED
relation CDATA #REQUIREDvertex CDATA #IMPLIED>
Modeling Markup Language
Since this document type definition captures only the abstract syntax, it is very small and simple. Other information is embedded using distinct XML DTDs.
![Page 26: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/26.jpg)
Syntactic Transformations
l A set of operations on models– creation of ports, relations, links, and entities– mutation
l Applications– visual editors– higher-order functions– instantiation– unrolling recursion
![Page 27: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/27.jpg)
API: Concrete Syntax Supporting Syntactic Transformations
Entity
+hierarchy() : Hierarchy+containedEntities() : Set of Entities+containedPorts() : Set of Ports+containedRelations() : Set of Relations
Port
+frame() : Frame+links() : Set of Relations
Relation
+frame() : Frame+links() : Set of Ports
0..n0..n
link
link
0..n
0..n 0..n
0..n
Hierarchy
+entities() : Set of Entities+model() : Model
0..n
1..1
Frame
+links() : Set of Links+ports() : Set of Ports+relations() : Set of Relations
Heterarchy
+frame() : Frame+hierarchies() : Set of Hierarchies
1..1
1..1
0..n
1..1
0..n
1..1
Model
+frame() : Frame+hierarchy() : Hierarchy
1..1
0..n
0..n
0..n
1..n
0..n
1..1
0..n
Link
+frame() : Frame+port() : Port+relation() : Relation
0..n
1..1
0..n0..n
1..1
0..n
1..10..n
![Page 28: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/28.jpg)
Where We Are…
l Abstract Syntaxl Concrete Syntaxl Syntactic Transformationsl Type System l Component Semanticsl Interaction Semantics
logical structure
meaning
![Page 29: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/29.jpg)
Type Systems
General
String
ScalarBoolean
Complex
Double
Long
Int
NaT
entityentity
need compatible data types
Type lattice represents subclassing & ad-hoc convertibility.
![Page 30: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/30.jpg)
Desirable Properties in a Type System
l Strong typingl Polymorphisml Propagation of type constraintsl Composite types (arrays, records)l User-defined typesl Reflectionl Higher-order typesl Type inferencel Dependent types
We can have compatible type systems without compatible languages (witness CORBA)
![Page 31: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/31.jpg)
Component Semantics
Entities are:l States?l Processes?l Threads?l Differential equations?l Constraints?l Objects?
![Page 32: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/32.jpg)
Are Software ComponentModels Enough?
Largely missing:l Timel Concurrencyl Safetyl Liveness
![Page 33: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/33.jpg)
Are Hardware Component Models Enough?
Largely missing:l Abstraction (esp time)l Inheritancel Type systemsl Polymorphisml Portability
![Page 34: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/34.jpg)
process {…read();…
}
One Class of Semantic Models: Producer / Consumer
process {…write();…
}
channel
port port
receiver
l Are actors active? passive? reactive?l Are communications timed? synchronized? buffered?
![Page 35: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/35.jpg)
Domains
l CSP – concurrent threads with rendezvousl CT – continuous-time modelingl DE – discrete-event systemsl DT – discrete time (cycle driven)l PN – process networksl SDF – synchronous dataflowl SR – synchronous/reactive
Each of these defines a component ontology and an interaction semantics between components. There are many more possibilities!
![Page 36: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/36.jpg)
Interfaces
l Represent not just data types, but interaction types as well.
Int
Double
SDF1
DE1
value conversion behavior conversion
![Page 37: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/37.jpg)
Current Approach –System-Level Types
General
String
ScalarBoolean
Complex
Double
Long
Int
NaT
actoractor
represent interaction semantics as types on these ports.
Need a new type lattice representingsubclassing & ad-hoc convertibility.
![Page 38: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/38.jpg)
Type Lattice
NaT
CT1
PN1
SDF1
DE1
CSP1
DP
Simulation relation
Achievable properties:l Strong typingl Polymorphisml Propagation of type constraintsl User-defined typesl Reflection
![Page 39: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/39.jpg)
SDF Receiver Type Signature
hasToken
noToken
p/v g/t
g/e
h/1g/t
h/0
p/v
SDF1Input alphabet:
g: getp: puth: hasToken
Output alphabet:0: false1: truet: tokenv: voide: exception
![Page 40: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/40.jpg)
DE Receiver Type Signature
Input alphabet:g: getp: puth: hasToken
Output alphabet:0: false1: truet: tokenv: voide: exception
hasToken
noToken
p/v g/t
h/1g/t
p/v
g/eh/0p/v
DE1
Put does not necessarily result in immediate availability of the data.
This automaton simulates the previous oneThis automaton simulates the previous one
![Page 41: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/41.jpg)
System-Level Types
l Declare dynamic properties of component interfacesl Declare timing properties of component interfaces
Benefits:l Ensure component compatibilityl Clarify interfacesl Provide the vocabulary for design patternsl Detect errors soonerl Promote modularityl Promote polymorphic component design
![Page 42: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/42.jpg)
Our Hope –Polymorphic Interfaces
actoractor
polymorphic interfaces
![Page 43: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/43.jpg)
Alternative Approach –Interface Synthesis
actoractor
protocoladapter
rigid, pre-defined interfaces
![Page 44: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/44.jpg)
Where We Are…
l Abstract Syntaxl Concrete Syntaxl Syntactic Transformationsl Type System l Component Semanticsl Interaction Semantics
![Page 45: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/45.jpg)
Benefits of Orthogonalization
l Modularity in language design– e.g. can build on existing abstract syntax
l Different levels of tool interoperability– e.g. visualization tool needs only the abstract syntax
l Terminology independent of concrete syntax– e.g. design patterns
l Focus on frameworks instead of languages– dealing with heterogeneity
l Issue-oriented not ASCII-oriented
![Page 46: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/46.jpg)
Ptolemy Project – Sanity Check
Ptolemy II –– A reference implementation– Testbed for abstract syntax– Block diagram MoML editor– Mutable models– Extensible type system– Testbed for system-level types
http://ptolemy.eecs.berkeley.edu
![Page 47: System-Level Design Languages: Orthogonalizing the Issuesptolemy.eecs.berkeley.edu/presentations/00/HDLcon.pdf · – Princeton – UCLA – UC Santa ... management. Poor planning.](https://reader033.fdocuments.net/reader033/viewer/2022060516/5fc62c27fc0f7c1e436b5652/html5/thumbnails/47.jpg)
Design in an Abstract Universe
When choosing syntax and semantics, we can invent the “laws of physics” that govern the interaction of components.
As with any such laws, their utility depends on our ability to understand models governed by the laws.
Magritte, Gelcondehttp://www.gigascale.org/semantics