SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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 visualizingShahid Riaz
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGERaval Chirag
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpSteve 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 Languagesurana college
 
Bridge Design Pattern
Bridge Design PatternBridge Design Pattern
Bridge Design Patternsahilrk911
 
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 engineeringMubashir Jutt
 
Uml Explained Step ByStep
Uml Explained Step ByStepUml Explained Step ByStep
Uml Explained Step ByStepWaseem Khan
 

La actualidad más candente (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)?
 
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...
 
Lecture9 domain model visualizing
Lecture9 domain model visualizingLecture9 domain model visualizing
Lecture9 domain model visualizing
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
 
UML Modeling in Java
UML Modeling in JavaUML Modeling in Java
UML Modeling in Java
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Srs
SrsSrs
Srs
 
UML Trainings
UML TrainingsUML Trainings
UML Trainings
 
Uml
UmlUml
Uml
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
UML
UMLUML
UML
 
En webinar jpa v2final
En webinar jpa v2finalEn webinar jpa v2final
En webinar jpa v2final
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Bridge Design Pattern
Bridge Design PatternBridge Design Pattern
Bridge Design Pattern
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Uml Explained Step ByStep
Uml Explained Step ByStepUml Explained Step ByStep
Uml Explained Step ByStep
 

Similar a Applying Aspect-Extended UML Modelling to 'e'

Summary of Excel Skills
Summary of Excel SkillsSummary of Excel Skills
Summary of Excel Skillsjunggi784
 
Unit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptUnit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptganeshkarthy
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Mickael 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 200610melbournepatterns
 
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 Oct2006tcab22
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJPatrick 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 ModelingObeo
 
Uml to code with acceleo
Uml to code with acceleoUml to code with acceleo
Uml to code with acceleoTarun 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 umlsmumbahelp
 
UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semanticselliando dias
 
Activity Diagram
Activity DiagramActivity Diagram
Activity DiagramAshesh 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 ElmElm 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 UMLJü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 PromiseEd Seidewitz
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioBenoit Combemale
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network CommunicationVrushali Lanjewar
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)swethadln
 

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

Summary of Excel Skills
Summary of Excel SkillsSummary of Excel Skills
Summary of Excel Skills
 
Unit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptUnit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).ppt
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
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
 
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
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
 
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
 
Uml to code with acceleo
Uml to code with acceleoUml to code with acceleo
Uml to code with acceleo
 
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
 
UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semantics
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
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
 
IN4308 1
IN4308 1IN4308 1
IN4308 1
 
Case stydy cs701
Case stydy cs701 Case stydy cs701
Case stydy cs701
 
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
 
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
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
Wireless Communication Network Communication
Wireless Communication Network CommunicationWireless Communication Network Communication
Wireless Communication Network Communication
 
SE UML.ppt
SE UML.pptSE UML.ppt
SE UML.ppt
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
 

Más de 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 EnterpriseDVClub
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment OverviewDVClub
 
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 ChallengesDVClub
 
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 MethodologyDVClub
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUsDVClub
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
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 EnvironmentDVClub
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal ValidationDVClub
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design CommunityDVClub
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemCDVClub
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-ExpressDVClub
 
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 ProcessDVClub
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through MethodologyDVClub
 
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 ValidationDVClub
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 ProcessorDVClub
 
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 ExperienceDVClub
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS VerificationDVClub
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and VerificationDVClub
 

Más de 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
 
Cisco Base Environment Overview
Cisco Base Environment OverviewCisco Base Environment Overview
Cisco Base Environment Overview
 
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
 
Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)Verification of Graphics ASICs (Part II)
Verification of Graphics ASICs (Part II)
 
Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)Verification of Graphics ASICs (Part I)
Verification of Graphics ASICs (Part I)
 
Stop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification MethodologyStop Writing Assertions! Efficient Verification Methodology
Stop Writing Assertions! Efficient Verification Methodology
 
Validating Next Generation CPUs
Validating Next Generation CPUsValidating Next Generation CPUs
Validating Next Generation CPUs
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
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
 
Trends in Mixed Signal Validation
Trends in Mixed Signal ValidationTrends in Mixed Signal Validation
Trends in Mixed Signal Validation
 
Verification In A Global Design Community
Verification In A Global Design CommunityVerification In A Global Design Community
Verification In A Global Design Community
 
Design Verification Using SystemC
Design Verification Using SystemCDesign Verification Using SystemC
Design Verification Using SystemC
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
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
 
Efficiency Through Methodology
Efficiency Through MethodologyEfficiency Through Methodology
Efficiency Through Methodology
 
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
 
OpenSPARC T1 Processor
OpenSPARC T1 ProcessorOpenSPARC T1 Processor
OpenSPARC T1 Processor
 
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
 
Using Assertions in AMS Verification
Using Assertions in AMS VerificationUsing Assertions in AMS Verification
Using Assertions in AMS Verification
 
Low-Power Design and Verification
Low-Power Design and VerificationLow-Power Design and Verification
Low-Power Design and Verification
 

Último

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

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