SlideShare a Scribd company logo
Applying aspect-extended
UML Modelling to e
Darren Galpin
The Problem

    We have testbenches which have been developed over many
    years, involving many people, much knowledge, and much re-
    use.

    Re-use typically involves adding new functionalities and
    modifying old ones -> many extensions and overrides.

    Testbenches are often moved between sites and teams – how to
    bring up new teams quickly, especially as documentation on
    testbench is often poor.

    Knowledge is often lost along the way. Contractors are used,
    people leave, knowledge isn’t documented before it is lost. Very
    different programming styles can be used.

    Testbenches are often very complex…… Might have redundant
    code as the RTL changes.

             – Need some way of making the knowledge capture and bring up easier…
22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 2
The Solution – UML (?)

“The Unified Modeling Language (UML) is a graphical language for
  visualizing, specifying and constructing the artifacts of a
  software-intensive system. The Unified Modeling Language offers
  a standard way to write a system's blueprints, including
  conceptual things such as business processes and system
  functions as well as concrete things such as programming
  language statements, database schemas, and reusable software
  components. “
                                                        Wikipedia

    Provides a graphical way of viewing a system, so should make it
    easier to see the program flow and interaction.

    There are commercial tools available, so can possibly just load
    the code in and view the result (wishful thinking….)

    Could design the code in tool, annotate, and use UML database
    to feed back the effects of changes. UML can write skeleton code
    for the first design, which can later be filled in.
22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 3
Issues

    UML was written to handle object oriented systems, but e is
    aspect oriented. How do we handle this?

    Use Theme/UML.
      Developed by Trinity College Dublin to handle AspectJ.
      AspectJ supports method and class extensions.
      However, not yet supported by a commercial tool.

    Can we use Theme/UML to model e?




22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 4
Problem 1 – Units and Structs

    AspectJ, like Java, is based on classes. e is based on units and
    structs.

    Units and structs are very similar, contain similar constructs and
    have similar built in methods (pre-generate(), run(), etc…)

    Handle this by having a top level class which has two child
    classes – a unit and a struct. Common methods are placed into
    the base class, any specific methods are added by extension into
    the child unit and struct “classes”.




22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 5
Problem 2 – extending methods

    In Theme/UML, a thread of functionality is known as a theme. An
    aspect theme adds crosscutting behaviour which modifies the
    base execution (in otherwords, “is also”, “is first” or “is only”
    extension.

                                                                    Wish to bind new aspect theme
                                                                    to the base theme, extending
                                                                    method() with extsnA() via “is
                                                                    also” extension.
                                                                    The resulting composed object is
                                                                    shown on the right.
                                                                    Have to manually draw these at
                                                                    the moment – laborious for
                                                                    complex testbenches needing to
                                                                    capture multiple extensions.



22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.      Page 6
How to handle type extension?

    Can simply extend types in e, but cannot in Aspect J.

    Example:
                 type dog_type : [pug,poodle];
                 extend type dog_type : [bulldog];


    Can create a new base dog class, with child classes for each
    dog_type.
         ¬ In e, the child class does not exist until generated.
         ¬ Constraints can be added so that a sub-type might never be
           generated.
         ¬ Difficult to graphically show this in UML.

    Root problem is that AspectJ just isn’t as extensible as e….




22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 7
Handling constraints

    Variables in e have constraints to restrict what is generated. For
    example:
                 type bark_type : [yelp, growl, howl];
                 type dog_kind : [poodle, pug, bulldog];
                 struct dog {
                   bark : bark_type;
                   dog_kind : dog_kind;
                   keep soft bark_type in [yelp,growl];
                 };
                 extend poodle dog {
                   keep bark_type=yelp;
                 };
    Constraints can be added to UML via Object Constraint
    Language. Allows ranges and implications to be added to
    variables.
    OCL cannot have aspects added to it – Theme/UML has not
    considered this. Hence the extension cannot be modelled. What
    about soft and hard constraints?

22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 8
Timed Behaviour

    TCM’s, TE’s and Coverage objects – model them all as methods.
         ¬ All instantiated within a unit/struct.
         ¬ Event is a method that raises a flag when emitted or when a
           sequence of other events is observed.
         ¬ A TE is a piece of boolean logic that evaluates to true or false and
           raises a flag.
         ¬ Cover objects are methods that increment counters for coverage
           purposes.

    But how to distinguish between method() and method()@clk?

    In addition, different extension rules apply for the different
    “methods”. E.g. “is only” not allowed for cover objects.

    Other timed behaviour: run-time generation, destruction of
    structs, Load order.

22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.   Page 9
So, in summary

    UML doesn’t work…..
             – Full Aspect-orientation does not map well, so cannot support full feature
                 set of e.
             – Aspect-orientation is not commercially supported, so need to manually
               draw AOP diagrams. Too much work….

    So don’t bother with it?
             – Diagramming small parts of the system can be useful. UML does support
               polymorphism, so can use the diagrams to describe sub-sections of the
               code.
             – A good diagram is worth a thousand words.
             – Diagrams are language neutral…….




For further info see “Modelling Hardware Verification Concerns Specified in the e-Language: An Experience
    Report”, by Darren Galpin, Cormac Driver and Siobhán Clarke, submitted to AOSD 2009.



22.05.2007   For internal use only   Copyright © Infineon Technologies 2007. All rights reserved.           Page 10

More Related Content

What's hot (20)

What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
Eliza Wright
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 
Lecture9 domain model visualizing
Lecture9 domain model visualizingLecture9 domain model visualizing
Lecture9 domain model visualizing
Shahid Riaz
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
Paxcel Technologies
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Khushboo Wadhwani
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
Raval Chirag
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
Steve Nash
 
UML Modeling in Java
UML Modeling in JavaUML Modeling in Java
UML Modeling in Java
Daffodil International University
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Srs
SrsSrs
Srs
Muri Sahithi
 
UML Trainings
UML TrainingsUML Trainings
UML Trainings
Sandra Svanidzaitė, PhD, CBAP
 
Uml
UmlUml
Uml
Havi K
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
Orçun Dayıbaş
 
UML
UMLUML
UML
Ashish Jha
 
En webinar jpa v2final
En webinar jpa v2finalEn webinar jpa v2final
En webinar jpa v2final
alvaro alcocer sotil
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
surana college
 
Bridge Design Pattern
Bridge Design PatternBridge Design Pattern
Bridge Design Pattern
sahilrk911
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
Hirra Sultan
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
Mubashir Jutt
 
Uml Explained Step ByStep
Uml Explained Step ByStepUml Explained Step ByStep
Uml Explained Step ByStep
Waseem Khan
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
Eliza Wright
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 
Lecture9 domain model visualizing
Lecture9 domain model visualizingLecture9 domain model visualizing
Lecture9 domain model visualizing
Shahid Riaz
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
Raval Chirag
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
Steve Nash
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
surana college
 
Bridge Design Pattern
Bridge Design PatternBridge Design Pattern
Bridge Design Pattern
sahilrk911
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
Hirra Sultan
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
Mubashir Jutt
 
Uml Explained Step ByStep
Uml Explained Step ByStepUml Explained Step ByStep
Uml Explained Step ByStep
Waseem Khan
 

Similar to Applying Aspect-Extended UML Modelling to 'e' (20)

Summary of Excel Skills
Summary of Excel SkillsSummary of Excel Skills
Summary of Excel Skills
junggi784
 
Unit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptUnit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).ppt
ganeshkarthy
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
Mickael Istria
 
Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610
melbournepatterns
 
Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006
tcab22
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
Patrick Viry
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
Obeo
 
Uml to code with acceleo
Uml to code with acceleoUml to code with acceleo
Uml to code with acceleo
Tarun Telang
 
Mc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using umlMc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using uml
smumbahelp
 
UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semantics
elliando dias
 
Unified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptxUnified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptx
IorlahaSamuel1
 
Unified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptxUnified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptx
IorlahaSamuel1
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
Ashesh R
 
Elm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit 9/7/17 - Planting Seeds with ElmElm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit
 
IN4308 1
IN4308 1IN4308 1
IN4308 1
Eelco Visser
 
Case stydy cs701
Case stydy cs701 Case stydy cs701
Case stydy cs701
Dinkar Mishra
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UML
Jürgen Mutschall
 
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseStandards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Ed Seidewitz
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
Benoit Combemale
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network Communication
Vrushali Lanjewar
 
Summary of Excel Skills
Summary of Excel SkillsSummary of Excel Skills
Summary of Excel Skills
junggi784
 
Unit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptUnit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).ppt
ganeshkarthy
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
Mickael Istria
 
Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610
melbournepatterns
 
Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006
tcab22
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
Patrick Viry
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
Obeo
 
Uml to code with acceleo
Uml to code with acceleoUml to code with acceleo
Uml to code with acceleo
Tarun Telang
 
Mc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using umlMc0083 object oriented analysis & design using uml
Mc0083 object oriented analysis & design using uml
smumbahelp
 
UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semantics
elliando dias
 
Unified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptxUnified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptx
IorlahaSamuel1
 
Unified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptxUnified Modeling Language -UML_COM213 SLIDES.pptx
Unified Modeling Language -UML_COM213 SLIDES.pptx
IorlahaSamuel1
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
Ashesh R
 
Elm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit 9/7/17 - Planting Seeds with ElmElm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UML
Jürgen Mutschall
 
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseStandards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Ed Seidewitz
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
Benoit Combemale
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network Communication
Vrushali Lanjewar
 

More from DVClub (20)

IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
DVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
DVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
DVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
DVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
DVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
DVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
DVClub
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
DVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
DVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
DVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
DVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
DVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
DVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
DVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
DVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
DVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
DVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
DVClub
 
IP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the EnterpriseIP Reuse Impact on Design Verification Management Across the Enterprise
IP Reuse Impact on Design Verification Management Across the Enterprise
DVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
DVClub
 
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and ChallengesIntel Xeon Pre-Silicon Validation: Introduction and Challenges
Intel Xeon Pre-Silicon Validation: Introduction and Challenges
DVClub
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
DVClub
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
DVClub
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
DVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
DVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
DVClub
 
Validation and Design in a Small Team Environment
Validation and Design in a Small Team EnvironmentValidation and Design in a Small Team Environment
Validation and Design in a Small Team Environment
DVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
DVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
DVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
DVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
SystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification ProcessSystemVerilog Assertions (SVA) in the Design/Verification Process
SystemVerilog Assertions (SVA) in the Design/Verification Process
DVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
DVClub
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
DVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
DVClub
 
Intel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification ExperienceIntel Atom Processor Pre-Silicon Verification Experience
Intel Atom Processor Pre-Silicon Verification Experience
DVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
DVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
DVClub
 

Recently uploaded (20)

Distributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural NetworksDistributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Ivan Ruchkin
 
DNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in NepalDNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in Nepal
ICT Frame Magazine Pvt. Ltd.
 
Top Hyper-Casual Game Studio Services
Top  Hyper-Casual  Game  Studio ServicesTop  Hyper-Casual  Game  Studio Services
Top Hyper-Casual Game Studio Services
Nova Carter
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
How Top Companies Benefit from Outsourcing
How Top Companies Benefit from OutsourcingHow Top Companies Benefit from Outsourcing
How Top Companies Benefit from Outsourcing
Nascenture
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural NetworksDistributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Ivan Ruchkin
 
Top Hyper-Casual Game Studio Services
Top  Hyper-Casual  Game  Studio ServicesTop  Hyper-Casual  Game  Studio Services
Top Hyper-Casual Game Studio Services
Nova Carter
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
How Top Companies Benefit from Outsourcing
How Top Companies Benefit from OutsourcingHow Top Companies Benefit from Outsourcing
How Top Companies Benefit from Outsourcing
Nascenture
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 

Applying Aspect-Extended UML Modelling to 'e'

  • 2. The Problem We have testbenches which have been developed over many years, involving many people, much knowledge, and much re- use. Re-use typically involves adding new functionalities and modifying old ones -> many extensions and overrides. Testbenches are often moved between sites and teams – how to bring up new teams quickly, especially as documentation on testbench is often poor. Knowledge is often lost along the way. Contractors are used, people leave, knowledge isn’t documented before it is lost. Very different programming styles can be used. Testbenches are often very complex…… Might have redundant code as the RTL changes. – Need some way of making the knowledge capture and bring up easier… 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 2
  • 3. The Solution – UML (?) “The Unified Modeling Language (UML) is a graphical language for visualizing, specifying and constructing the artifacts of a software-intensive system. The Unified Modeling Language offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components. “ Wikipedia Provides a graphical way of viewing a system, so should make it easier to see the program flow and interaction. There are commercial tools available, so can possibly just load the code in and view the result (wishful thinking….) Could design the code in tool, annotate, and use UML database to feed back the effects of changes. UML can write skeleton code for the first design, which can later be filled in. 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 3
  • 4. Issues UML was written to handle object oriented systems, but e is aspect oriented. How do we handle this? Use Theme/UML. Developed by Trinity College Dublin to handle AspectJ. AspectJ supports method and class extensions. However, not yet supported by a commercial tool. Can we use Theme/UML to model e? 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 4
  • 5. Problem 1 – Units and Structs AspectJ, like Java, is based on classes. e is based on units and structs. Units and structs are very similar, contain similar constructs and have similar built in methods (pre-generate(), run(), etc…) Handle this by having a top level class which has two child classes – a unit and a struct. Common methods are placed into the base class, any specific methods are added by extension into the child unit and struct “classes”. 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 5
  • 6. Problem 2 – extending methods In Theme/UML, a thread of functionality is known as a theme. An aspect theme adds crosscutting behaviour which modifies the base execution (in otherwords, “is also”, “is first” or “is only” extension. Wish to bind new aspect theme to the base theme, extending method() with extsnA() via “is also” extension. The resulting composed object is shown on the right. Have to manually draw these at the moment – laborious for complex testbenches needing to capture multiple extensions. 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 6
  • 7. How to handle type extension? Can simply extend types in e, but cannot in Aspect J. Example: type dog_type : [pug,poodle]; extend type dog_type : [bulldog]; Can create a new base dog class, with child classes for each dog_type. ¬ In e, the child class does not exist until generated. ¬ Constraints can be added so that a sub-type might never be generated. ¬ Difficult to graphically show this in UML. Root problem is that AspectJ just isn’t as extensible as e…. 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 7
  • 8. Handling constraints Variables in e have constraints to restrict what is generated. For example: type bark_type : [yelp, growl, howl]; type dog_kind : [poodle, pug, bulldog]; struct dog { bark : bark_type; dog_kind : dog_kind; keep soft bark_type in [yelp,growl]; }; extend poodle dog { keep bark_type=yelp; }; Constraints can be added to UML via Object Constraint Language. Allows ranges and implications to be added to variables. OCL cannot have aspects added to it – Theme/UML has not considered this. Hence the extension cannot be modelled. What about soft and hard constraints? 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 8
  • 9. Timed Behaviour TCM’s, TE’s and Coverage objects – model them all as methods. ¬ All instantiated within a unit/struct. ¬ Event is a method that raises a flag when emitted or when a sequence of other events is observed. ¬ A TE is a piece of boolean logic that evaluates to true or false and raises a flag. ¬ Cover objects are methods that increment counters for coverage purposes. But how to distinguish between method() and method()@clk? In addition, different extension rules apply for the different “methods”. E.g. “is only” not allowed for cover objects. Other timed behaviour: run-time generation, destruction of structs, Load order. 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 9
  • 10. So, in summary UML doesn’t work….. – Full Aspect-orientation does not map well, so cannot support full feature set of e. – Aspect-orientation is not commercially supported, so need to manually draw AOP diagrams. Too much work…. So don’t bother with it? – Diagramming small parts of the system can be useful. UML does support polymorphism, so can use the diagrams to describe sub-sections of the code. – A good diagram is worth a thousand words. – Diagrams are language neutral……. For further info see “Modelling Hardware Verification Concerns Specified in the e-Language: An Experience Report”, by Darren Galpin, Cormac Driver and Siobhán Clarke, submitted to AOSD 2009. 22.05.2007 For internal use only Copyright © Infineon Technologies 2007. All rights reserved. Page 10
  翻译: