140 likes | 231 Views
Sugar and Accellera Requirements. Cindy Eisner. IBM Research Laboratory in Haifa. Bottom Line. All requirements are either: met, or can be met easily with minor changes to the language. What Sugar has - highlights. Rich temporal layer Powerful sequences
E N D
Sugar and Accellera Requirements Cindy Eisner IBM Research Laboratory in Haifa
Bottom Line • All requirements are either: • met, or • can be met easily with minor changes to the language Sugar and Accellera Requirements
What Sugar has - highlights • Rich temporal layer • Powerful sequences • Support for simple clocks and resets • Well-defined semantics • Commercial implementations in both model checking (RuleBase) and simulation (FoCs) Sugar and Accellera Requirements
What Sugar will have • Omega-regularity • Multiple and strong clocks • Various cosmetic additions Sugar and Accellera Requirements
Omega-Regularity • Easily achieved: Enter the Sugar Foundation Language Sugar and Accellera Requirements
The Sugar Foundation Language • IBM will “layer” Sugar into: • Foundation Language (FL): original Sugar with linear semantics • Optional Branching Extension (OBE): original Sugar (with branching semantics) • The layering • Preserves Sugar advantages • Has no impact on present users Sugar and Accellera Requirements
The Sugar Foundation Language • Syntactically, • the FL consists of Sugar formulas as defined in the original contribution, with the path quantifiers removed • Semantically, • linear semantics are given to the operators X, U, and G Sugar and Accellera Requirements
The Sugar Foundation Language - Example • Original Sugar: AG ((snoop & hitm) -> AX next_event(trans_start)(writeback)) • Foundation Language: G ((snoop & hitm) -> X next_event(trans_start)(writeback)) Sugar and Accellera Requirements
The Sugar Foundation Language – In Practice • Avoids formidable branching semantics, but • No semantic impact • for formulas used in practice, linear and branching semantics are identical • in particular, all properties in properties document have identical linear and branching semantics (see M. Maidl, The Common Fragment of CTL and LTL, In Proc. 41st Annual Symposium on Foundations of Computer Science, IEEE, November 2000) Sugar and Accellera Requirements
The Sugar Foundation Language - Theory • Provides omega-regularity • Computationally efficient: vast majority of formulas can be model checked in “native mode” by both CTL and LTL model checkers Sugar and Accellera Requirements
The Sugar Foundation Language - Summary • Preserves advantages of original Sugar • in particular, history and track record are preserved, as formulas used in practice undergo minor syntactic changes, no semantic change • Adds popular linear semantics • For details, see “Sugar Repackaged – The Foundation Language” Sugar and Accellera Requirements
Multiple and Strong Clocks • Multiple clocks, main idea: G (a::clka -> X b::clkb) G ((a & clka) -> (!clkb W b & clkb)) • Strong clocks, main idea: Property is compiled to additional requirement: GF clk Sugar and Accellera Requirements
Various cosmetic additions • All other requirements are minor cosmetic additions. For example: • complex data types • no-delay, no-side-effect functions • named assertions Sugar and Accellera Requirements
Summary • Sugar is an elegant, powerful temporal logic with a strong track record both within and outside of IBM • Sugar has commercial implementations in both model checking (RuleBase) and simulation (FoCs) • The Sugar Foundation Language avoids formidable branching semantics and adds omega-regularity, with no impact to existing Sugar specifications • The Sugar Foundation Language meets or can easily meet all Accellera requirements Sugar and Accellera Requirements