140 likes | 244 Views
Traversing the Design Gap with Patterns. Mark Verhappen, Jeroen Voeten, Piet van der Putten. June 17, 2003. Outline. Motivation Status Quo New Insights Design Gap Example Traversing the Gap Best Modeling Practices: Example & Notation Conclusions Future Work. PRIZMA. market demand.
E N D
Traversing the Design Gapwith Patterns Mark Verhappen, Jeroen Voeten, Piet van der Putten June 17, 2003
Outline • Motivation • Status Quo • New Insights • Design Gap Example • Traversing the Gap • Best Modeling Practices: Example & Notation • Conclusions • Future Work 2nd PROGRESS User Committee Meeting, June 17, 2003
PRIZMA market demand last decade today technology time Motivation • “Build the largest and fastest switch so far”: we could not build it • Straightforward evolution not cost-effective, sub-optimal • Incremental changes and invalid assumptions • Disruptive change: fresh concepts required • Riskful and time-consuming • Develop methodology 2nd PROGRESS User Committee Meeting, June 17, 2003
Powerpoint slides e.g. LOTOS, SDL, SystemC, ... system-level synthesis transformation and refinement e.g. VHDL, Verilog, ... single system-level specification synthesizable hardware description Status Quo • Single large specification contains all system aspects (time consuming) • Analysis and synthesis on single specification • Current design flow not suitable for disruptive changes analysis & synthesis Implementation 2nd PROGRESS User Committee Meeting, June 17, 2003
e.g. LOTOS, SDL, SystemC, ... system-level synthesis transformation and refinement e.g. VHDL, Verilog, ... … single system-level specification synthesizable hardware description New Insights analytical performance protocols sizings test cases collection of models conceptanalysis • Separate concept analysis from synthesis • Collection of models for different aspects • Problem: you can’t make a switch of any of these models • Design gap: you can’t build a formal tool to close it DESIGN GAP analysis & synthesis Implementation 2nd PROGRESS User Committee Meeting, June 17, 2003
Compact and readable (10s..100s lines) Separation of concerns: a failure is not catastrophic Do not eliminate optimal solution No automatic link to system-level specification Complete enough for synthesis Rules for transformation and refinement in synthesis tools consistent specification make design decisions Not suitable for disruptive changes: irreversible Description Everything needed to synthesize Conceptual Modeling collection of models … DESIGN GAP Abstract system Description e.g. SystemC trend single system-level specification system-level synthesis transformation and refinement Smart tool: Rules & Libraries e.g. Synopsys, Cadence, IBM synthesizable hardware description Analysis versus Synthesis Modeling Description 2nd PROGRESS User Committee Meeting, June 17, 2003
Design Gap: Interpretation Problem • Models in a Modeling language • Example: analytical Model to calculate resequencing delay • arrangement of language primitives • appropriate to answer the question(s) • knowledge of language is not enough to understand a Model • Models require interpretation 2nd PROGRESS User Committee Meeting, June 17, 2003
line card switch weighted line card switch packets weighted simultaneous parallel access scheduler ... memory resource packets ... out flow-control memory resource Question: selective flow control concepts disturbs weighting? flow-control Question: selective flow control concepts disturbs weighting? Design Gap: Example weighted_scheduling()() par send_packets(1)() and send_packets(2)() and ... and send_packets(N)() rap. send_packets(queue_number)() packet := queues giveNext(queue_number); delay (1/weights getWeight(queue_number)); out!packet_message(packet); queues remove(packet); send_packets(queue_number)() 2nd PROGRESS User Committee Meeting, June 17, 2003
Model Interpretation weighted_scheduling()() par send_packets(1)() and send_packets(2)() and ... and send_packets(N)() rap. send_packets(queue_number)() packet := queues giveNext(queue_number); delay (1/weights getWeight(queue_number)); out!packet_message(packet); queues remove(packet); send_packets(queue_number)() • What could go wrong? • Understanding the language is not enough • Fixed interpretation for language primitives? No: • choose any appropriate arrangement • compact models • faster iterations of concept analysis 2nd PROGRESS User Committee Meeting, June 17, 2003
Traversing the Gap:Modeling Patterns • Inspired by Design Patterns: object-oriented software design • Document a recognizable design strategy • Yielded good implementations in the past • Discovered by experience • Easily recognizable • Robust against changing requirements • Modeling Patterns • document “best modeling practices” • typical questions, abstractions, interpretations • improve communication between modeler and designer • prevent wrong interpretation (or guessing) by designers • prevent costly design iterations 2nd PROGRESS User Committee Meeting, June 17, 2003
input adapter switch go/no go long link data packets packet buffer packet buffer accept? Flow Control Manager arrival calculate go/no go History buffer departure long link Link-Level Flow Control Pattern 2nd PROGRESS User Committee Meeting, June 17, 2003
Textual explanation:- typical questions,- abstraction decisions,- advantages,- consequences, - interpretation Model using the Link-Level Flow Control Pattern M Stateless Grant-Based Flow Control Description Stateful Rate-Based Flow Control Description Stateful Credit-Based Flow Control Description … Modeling Pattern Notation in UML 2nd PROGRESS User Committee Meeting, June 17, 2003
Conclusions • Disruptive architecture changes require fresh concepts: riskful and time-consuming • Disruptive changes: existing system-level design methods not suitable • Analyze concepts using various Models, before synthesis • Models lack intended interpretation • Automatic traversal of the design gap impossible • Fixed interpretation for modeling primitives is not a solution • Convey models and interpretations with patterns: structured traversal of the gap • Patterns improve communication, prevent costly design iterations • UML is suitable to document modeling patterns 2nd PROGRESS User Committee Meeting, June 17, 2003
Current/Future Work • Do case-study to evaluate and discover modeling patterns • Bring more structure into the definitions of patterns • Development of a template for textual annotation in the UML notation • classification of typical interpretations • construction of a modeling pattern catalog (for complex communication systems) 2nd PROGRESS User Committee Meeting, June 17, 2003