SlideShare a Scribd company logo
1 of 30
Download to read offline
System-on-Chip Design
          UML Profiles


 Pierre Boulet – DaRT project-team




 Télécom Lille 1 – Septembre 2011
Profils UML pour l’embarqué
  Trends Towards Modeling
  UML for Embedded Systems
  SysML
  Electronic System Level
  MARTE
Profils UML pour l’embarqué
  Trends Towards Modeling
  UML for Embedded Systems
  SysML
  Electronic System Level
  MARTE
Reuse
   IP
        IP = Intellectual Property
        HW or SW block
        designed for reuse
        need of standards (VSIA, IP-Xact)
   platform based SoC design
        organized method
        to reduce cost and risk
        by heavy reuse of HW and SW IPs
   steps in reuse
        block → IP → integration architecture
Raising the Abstraction Level
    ESL (Electronic System Level)
       from RTL to TLM or higher
       from VHDL to SystemC to UML
    HW/SW co-design
       need new tools
       consider the whole system
       large optimization potential
       combination of formal, semi-formal and non
       formal techniques
Separation of concerns
    by metamodeling
       metamodel = domain specific language
       one metamodel for one goal
       hide the unneeded details for the task at hand
    allows reuse
       unavoidable considering the required
       productivity
       at the heart of platform based design
    design team management
       each team member has its own view
       on shared models
       rely on a common language to ease
       communication
Automation
   handling the complexity
      habit of the semiconductor industry
      capitalize the knowledge in the tool
   through model transformations
      separation of buisness logic from technology
      automatic verification
          tool integration
          simulation / test / analysis
      automatic code generation
Profils UML pour l’embarqué
  Trends Towards Modeling
  UML for Embedded Systems
  SysML
  Electronic System Level
  MARTE
UML 2.0
http://www.uml.org/

       adopted in 2005
           superstructure (definition of the diagrams)
           infrastrucutre (base classes of UML 2.0 and
           MOF 2.0), OCL, diagram exchange format
       new features with respect to UML 1.x
           more abstraction
               clear separation of structure (static) and
               behavior (dynamic)
               new diagrams: composite structure, activity +
               action language
           more automation
               more precise semantics
               diagram exchange format (XMI 2.0)
Profiles for SoC Modeling
    System level
       SysML
       MARTE
    Electronic System Level
       UML for SoC
       UML for SystemC
       others (YAML, UMLSC, ...)
Profils UML pour l’embarqué
  Trends Towards Modeling
  UML for Embedded Systems
  SysML
  Electronic System Level
  MARTE
SysML
   system engineering modeling language
        domain specific (SysML) vs general purpose
        (UML)
        remove the software bias from UML
   remove part of UML
   add system specific constructs
        as a UML profile
corresponding specification of the UML extensions is described in Parts II - IV of th
 A describes generalized features of diagrams, such as their frames and headings.
SysML Diagrams (1/2)
                                                                        SysM L
                                                                       D ia gr a m




                                   Behavior                          Re quir e m e nt
                                   D ia gr a m                         Diagram




      Activity          Sequence                 State Machine   Use Case               Block Definitio
      Diagram            Diagram                    Diagram       Diagram                   Diagram




                                   Same as UML 2

                                   Modified from UML 2

                                   New diagram type



 Figure 4.4 - SysML Diagram Taxonomy
xtensions is described in Parts II - IV of this specification. The Diagram Annex
ms, such as their frames and headings.
   SysML Diagrams (2/2)
                       SysM L
                      D ia gr a m




                    Re quir e m e nt                        Structure
                      Diagram                               D ia gr a m




e Machine       Use Case               Block Definition   Internal Block
                                                                           Package Diagram
iagram           Diagram                   Diagram            Diagram




L2                                                         Parametric
                                                            Diagram
 UML 2

 type
Profils UML pour l’embarqué
  Trends Towards Modeling
  UML for Embedded Systems
  SysML
  Electronic System Level
  MARTE
UML for SoC
    concepts very close to SystemC
       allow automatic SystemC skeleton code
       generation
    abstraction level
       from transactional level modeling (TLM)
       to register transfer level (RTL)
    mainly uses the composite structure diagram
Stereotypes
 2004/10/26 21:16

Structural Modeling
      << profile >>
         SoC

                                                 <<st ereot ype>>              << enumerat ion >>
                                                       Data                       t ransport By
                                              transportMethod : transportBy   Copy
                  baseClass
                                                                              Pointer
     <<met aclass>>            baseClass       <<st ereot ype>>
        Class                 baseClass
                                                 Controller

               baseClass
                                               <<st ereot ype>>                <<st ereot ype>>
                                                 SoCModule                      SoCChannel
                                                                              / isPrimitive : Boolean

                       basePort
     <<met aclass>>                        <<st ereot ype>>
         Port                                 SoCPort


                           <<st ereot ype>>             <<stereotype>>
                             SoCClock                     SoCReset
                       clockDomain : String           resetSpec : String



     <<met aclass>>    baseCollaboration       <<st ereot ype>>
      Collaboration                             SoCProtocol


                       baseInterface
     <<met aclass>>                                 <<st ereot ype>>           << enumerat ion >>
Stereotypes
        <<st ereot ype>>                              <<stereotype>>
                              SoCClock                  SoCReset
Communication Modeling
            clockDomain : String                    resetSpec : String



       <<met aclass>>   baseCollaboration    <<st ereot ype>>
        Collaboration                         SoCProtocol


                        baseInterface
       <<met aclass>>                             <<st ereot ype>>                << enumerat ion >>
         Interface                                 SoCInt erface                    directionKind
                                            direction : directionKind
                                                                                 INPUT
                                            maxProcesses : UnlimitedNatural
                                                                                 OUTPUT
                                            maxChannels : UnlimitedNatural = 1



                        baseConnector
       <<met aclass>>                             <<st ereot ype>>
         Connector                                SoCConnect or
                                            connectIndex : OpaqueExpression




       <<met aclass>>   baseOperation        <<st ereot ype>>
         Operat ion                           SoCProcess


                                             << st ereot ype >>                   <<st ereot ype>>
                          baseProperty      SoCModuleProperty                    SoCClockChannel
       << metaclass >>                                                           clockDomain : String
          Propert y
                           baseProperty       << st ereot ype >>                  <<st ereot ype>>
                                            SoCChannelPropert y                  SoCReset Channel
                                                                                 resetSpec : String
OUTPUT
                                             maxChannels : UnlimitedNatural = 1


Stereotypes
   <<met aclass>>
                       baseConnector
                                                   <<st ereot ype>>
Operation and Property Modeling
      Connector         SoCConnect or
                                             connectIndex : OpaqueExpression




      <<met aclass>>   baseOperation          <<st ereot ype>>
        Operat ion                             SoCProcess


                                              << st ereot ype >>                   <<st ereot ype>>
                         baseProperty        SoCModuleProperty                    SoCClockChannel
      << metaclass >>                                                             clockDomain : String
         Propert y
                          baseProperty         << st ereot ype >>                  <<st ereot ype>>
                                             SoCChannelPropert y                  SoCReset Channel
                                                                                  resetSpec : String


      << metaclass >>     baseDependency        << st ereot ype >>
        Dependency                               SoCDataType



                                           Fig. 1 SoC Profile Stereotypes

                                                               3
Example: Communication by FIFO
Structure Diagram
  2004/10/26 20:52

     port name : in
                                                                                                         port name : out
     interface direction : input                         initialization parameter : 0                    interface direction : output
     protocol interface name : sc_ in_
                                  fifo_ if<data1>
                                                                                                         protocol interface name : sc_ out_
                                                                                                                                      fifo_ if<data3>




        class name : parent
        process function :
                                                                               fifo:sc_fifo<data2>


        class name : child1
        instance name : func1
        process function : entry




                      port name : out                                         class name : child2          port name : in
                      interface direction : out                               instance name : func2        interface direction : in
                      protocol interface name : sc_ out_
                                                   fifo_ if<data2>            process function : entry     protocol interface name : sc_ in_
                                                                                                                                        fifo_ if<data2>




                              Fig. 17 Structure diagram and attribute of each object, tagged value

  The channel is described in the UML diagram as shown below. Here the FIFO channel of SystemC
  (sc_fifo) is used as a channel with buffer size = 16 (default value of sc_fifo class). The buffer size is given
  as an initialization parameter at the instantiation of the channel. (In the figure below, attributes, and/o
  template arguments of buffer size are not shown.)
Example: Clock and Reset
Structure Diagram
Example: Shift Register
   Structure
0/26 20:52       Diagram


                 (a)                                              N : int
                                             ShiftReg                             (d)



                             I                    I   O                     O

                                               M : reg[N]

                                          C : sc_fifo<int> [N- 1]                 (c)
                 (b)

       inv: N > 1
       inv: M[0].I.sc_ in_
                      fifo_ if<int>- >exists(I) - - (a)
       inv: Sequence{ 1..N- 1 }- >forAll(n | M[n].I.sc_ fifo<int>- >exists(C[n])) - - (b)
       inv: Sequence{ 0..N- 2 }- >forAll(n | M[n].O.sc_   fifo<int>- >exists(C[n]) - - (c)
       inv: M[N- 1].O.sc_ out_
                           fifo_ if<int>- >exists(O) - - (d)



                          Fig.24 Example of template module
UML for SystemC
   allow to generate complete SystemC code
      expose all SystemC concepts in the UML profile
      structure (similar to UML for SoC profile)
      behaviour (actions in state machines)
   tool specific implementation
      takes advantage of the tool’s code generation
      capacity
Profils UML pour l’embarqué
  Trends Towards Modeling
  UML for Embedded Systems
  SysML
  Electronic System Level
  MARTE
Modeling and Analysis of Real-Time
and Embedded systems
 Request for Proposal
     http://www.omg.org/cgi-bin/
                            doc?realtime/2005-2-6
     published February 2005
 Current status
     Version 1.0 available since November 2009
     http://www.omg.org/spec/MARTE/
Requirements
   Scheduling, Performance and Time profile
   evolution
      designed for UML 1.x
      influence of the QoS and Fault Tolerance profile
   Real-Time and Embedded System modeling
      embedded system programming
          limited resources, subject to constraints,
          heterogeneity, distributed
      reactivity
          cyclic behaviour, modes of operation
      control/command
      intensive data flow
          systematic signal processing
          intensive data processing
RTES Specific Needs
   standard language
      to ease communication in the design team
   common paradigm for hardware and software
   modeling
      Y-model approach (application, hardware
      architecture, allocation)
      Model Driven Engineering
   time modeling
      asynchronous/causal
      synchronous/clocked
      real/continuous
Schedulability and Performance
Analysis
    rich set of measures
       response time, delays, resource utilisation,
       demand
       statistical measures or bounds
    schedulability analysis
       WCET, ACET, BCET
    need for variables and expression
    manipulation (see SPT)
Current Version
 See the official tutorial
 (http://www.omgmarte.org/Tutorial.htm).
Conclusion
    SoC modeling: an active research area
       several proposals
       at different abstraction levels
    basic constructs
       composite structure diagram
           hierarchical
           component based
       profiles

More Related Content

Similar to UML profiles for Embedded Systems

4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...Youness Lahdili
 
MEMS Extraction & Verification
MEMS Extraction & VerificationMEMS Extraction & Verification
MEMS Extraction & Verificationintellisense
 
Using S1000D and SCORM to Integrate Documentation and Training
Using S1000D and SCORM to Integrate Documentation and TrainingUsing S1000D and SCORM to Integrate Documentation and Training
Using S1000D and SCORM to Integrate Documentation and TrainingScott Abel
 
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1Benton "Ben" Bovée
 
닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기YoungSu Son
 
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...IJRES Journal
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
Friedenthal.sandford
Friedenthal.sandfordFriedenthal.sandford
Friedenthal.sandfordNASAPMC
 
Simulation of Signal Reflection in Digital Design
Simulation of Signal Reflection in Digital DesignSimulation of Signal Reflection in Digital Design
Simulation of Signal Reflection in Digital DesignKaushik Patra
 
Advanced Oracle Troubleshooting
Advanced Oracle TroubleshootingAdvanced Oracle Troubleshooting
Advanced Oracle TroubleshootingHector Martinez
 
CN/UML at IPDPS JavaPDC 2007
CN/UML at IPDPS JavaPDC 2007CN/UML at IPDPS JavaPDC 2007
CN/UML at IPDPS JavaPDC 2007gkthiruvathukal
 
Shifu plugin-trainer and pmml-adapter
Shifu plugin-trainer and pmml-adapterShifu plugin-trainer and pmml-adapter
Shifu plugin-trainer and pmml-adapterLisa Hua
 
2007 Tidc India Profiling
2007 Tidc India Profiling2007 Tidc India Profiling
2007 Tidc India Profilingdanrinkes
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsRAMPRAKASHT1
 
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGDOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGIJCI JOURNAL
 

Similar to UML profiles for Embedded Systems (20)

4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
 
MEMS Extraction & Verification
MEMS Extraction & VerificationMEMS Extraction & Verification
MEMS Extraction & Verification
 
Using S1000D and SCORM to Integrate Documentation and Training
Using S1000D and SCORM to Integrate Documentation and TrainingUsing S1000D and SCORM to Integrate Documentation and Training
Using S1000D and SCORM to Integrate Documentation and Training
 
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
SSTC-2012 BenKBovée 2933a_Backup Slides 26-Apr 1130-1300 Track1
 
닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기닷넷 개발자를 위한 패턴이야기
닷넷 개발자를 위한 패턴이야기
 
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
 
Overview of RTaW SysML-Companion
Overview of RTaW SysML-Companion Overview of RTaW SysML-Companion
Overview of RTaW SysML-Companion
 
3DD 1e SyCers
3DD 1e SyCers3DD 1e SyCers
3DD 1e SyCers
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Cytoscape seminar
Cytoscape seminarCytoscape seminar
Cytoscape seminar
 
Matlab isim link
Matlab isim linkMatlab isim link
Matlab isim link
 
Friedenthal.sandford
Friedenthal.sandfordFriedenthal.sandford
Friedenthal.sandford
 
Lecture10
Lecture10Lecture10
Lecture10
 
Simulation of Signal Reflection in Digital Design
Simulation of Signal Reflection in Digital DesignSimulation of Signal Reflection in Digital Design
Simulation of Signal Reflection in Digital Design
 
Advanced Oracle Troubleshooting
Advanced Oracle TroubleshootingAdvanced Oracle Troubleshooting
Advanced Oracle Troubleshooting
 
CN/UML at IPDPS JavaPDC 2007
CN/UML at IPDPS JavaPDC 2007CN/UML at IPDPS JavaPDC 2007
CN/UML at IPDPS JavaPDC 2007
 
Shifu plugin-trainer and pmml-adapter
Shifu plugin-trainer and pmml-adapterShifu plugin-trainer and pmml-adapter
Shifu plugin-trainer and pmml-adapter
 
2007 Tidc India Profiling
2007 Tidc India Profiling2007 Tidc India Profiling
2007 Tidc India Profiling
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
 
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGDOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
 

Recently uploaded

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonJericReyAuditor
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxUnboundStockton
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 

Recently uploaded (20)

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lesson
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 

UML profiles for Embedded Systems

  • 1. System-on-Chip Design UML Profiles Pierre Boulet – DaRT project-team Télécom Lille 1 – Septembre 2011
  • 2. Profils UML pour l’embarqué Trends Towards Modeling UML for Embedded Systems SysML Electronic System Level MARTE
  • 3. Profils UML pour l’embarqué Trends Towards Modeling UML for Embedded Systems SysML Electronic System Level MARTE
  • 4. Reuse IP IP = Intellectual Property HW or SW block designed for reuse need of standards (VSIA, IP-Xact) platform based SoC design organized method to reduce cost and risk by heavy reuse of HW and SW IPs steps in reuse block → IP → integration architecture
  • 5. Raising the Abstraction Level ESL (Electronic System Level) from RTL to TLM or higher from VHDL to SystemC to UML HW/SW co-design need new tools consider the whole system large optimization potential combination of formal, semi-formal and non formal techniques
  • 6. Separation of concerns by metamodeling metamodel = domain specific language one metamodel for one goal hide the unneeded details for the task at hand allows reuse unavoidable considering the required productivity at the heart of platform based design design team management each team member has its own view on shared models rely on a common language to ease communication
  • 7. Automation handling the complexity habit of the semiconductor industry capitalize the knowledge in the tool through model transformations separation of buisness logic from technology automatic verification tool integration simulation / test / analysis automatic code generation
  • 8. Profils UML pour l’embarqué Trends Towards Modeling UML for Embedded Systems SysML Electronic System Level MARTE
  • 9. UML 2.0 http://www.uml.org/ adopted in 2005 superstructure (definition of the diagrams) infrastrucutre (base classes of UML 2.0 and MOF 2.0), OCL, diagram exchange format new features with respect to UML 1.x more abstraction clear separation of structure (static) and behavior (dynamic) new diagrams: composite structure, activity + action language more automation more precise semantics diagram exchange format (XMI 2.0)
  • 10. Profiles for SoC Modeling System level SysML MARTE Electronic System Level UML for SoC UML for SystemC others (YAML, UMLSC, ...)
  • 11. Profils UML pour l’embarqué Trends Towards Modeling UML for Embedded Systems SysML Electronic System Level MARTE
  • 12. SysML system engineering modeling language domain specific (SysML) vs general purpose (UML) remove the software bias from UML remove part of UML add system specific constructs as a UML profile
  • 13. corresponding specification of the UML extensions is described in Parts II - IV of th A describes generalized features of diagrams, such as their frames and headings. SysML Diagrams (1/2) SysM L D ia gr a m Behavior Re quir e m e nt D ia gr a m Diagram Activity Sequence State Machine Use Case Block Definitio Diagram Diagram Diagram Diagram Diagram Same as UML 2 Modified from UML 2 New diagram type Figure 4.4 - SysML Diagram Taxonomy
  • 14. xtensions is described in Parts II - IV of this specification. The Diagram Annex ms, such as their frames and headings. SysML Diagrams (2/2) SysM L D ia gr a m Re quir e m e nt Structure Diagram D ia gr a m e Machine Use Case Block Definition Internal Block Package Diagram iagram Diagram Diagram Diagram L2 Parametric Diagram UML 2 type
  • 15. Profils UML pour l’embarqué Trends Towards Modeling UML for Embedded Systems SysML Electronic System Level MARTE
  • 16. UML for SoC concepts very close to SystemC allow automatic SystemC skeleton code generation abstraction level from transactional level modeling (TLM) to register transfer level (RTL) mainly uses the composite structure diagram
  • 17. Stereotypes 2004/10/26 21:16 Structural Modeling << profile >> SoC <<st ereot ype>> << enumerat ion >> Data t ransport By transportMethod : transportBy Copy baseClass Pointer <<met aclass>> baseClass <<st ereot ype>> Class baseClass Controller baseClass <<st ereot ype>> <<st ereot ype>> SoCModule SoCChannel / isPrimitive : Boolean basePort <<met aclass>> <<st ereot ype>> Port SoCPort <<st ereot ype>> <<stereotype>> SoCClock SoCReset clockDomain : String resetSpec : String <<met aclass>> baseCollaboration <<st ereot ype>> Collaboration SoCProtocol baseInterface <<met aclass>> <<st ereot ype>> << enumerat ion >>
  • 18. Stereotypes <<st ereot ype>> <<stereotype>> SoCClock SoCReset Communication Modeling clockDomain : String resetSpec : String <<met aclass>> baseCollaboration <<st ereot ype>> Collaboration SoCProtocol baseInterface <<met aclass>> <<st ereot ype>> << enumerat ion >> Interface SoCInt erface directionKind direction : directionKind INPUT maxProcesses : UnlimitedNatural OUTPUT maxChannels : UnlimitedNatural = 1 baseConnector <<met aclass>> <<st ereot ype>> Connector SoCConnect or connectIndex : OpaqueExpression <<met aclass>> baseOperation <<st ereot ype>> Operat ion SoCProcess << st ereot ype >> <<st ereot ype>> baseProperty SoCModuleProperty SoCClockChannel << metaclass >> clockDomain : String Propert y baseProperty << st ereot ype >> <<st ereot ype>> SoCChannelPropert y SoCReset Channel resetSpec : String
  • 19. OUTPUT maxChannels : UnlimitedNatural = 1 Stereotypes <<met aclass>> baseConnector <<st ereot ype>> Operation and Property Modeling Connector SoCConnect or connectIndex : OpaqueExpression <<met aclass>> baseOperation <<st ereot ype>> Operat ion SoCProcess << st ereot ype >> <<st ereot ype>> baseProperty SoCModuleProperty SoCClockChannel << metaclass >> clockDomain : String Propert y baseProperty << st ereot ype >> <<st ereot ype>> SoCChannelPropert y SoCReset Channel resetSpec : String << metaclass >> baseDependency << st ereot ype >> Dependency SoCDataType Fig. 1 SoC Profile Stereotypes 3
  • 20. Example: Communication by FIFO Structure Diagram 2004/10/26 20:52 port name : in port name : out interface direction : input initialization parameter : 0 interface direction : output protocol interface name : sc_ in_ fifo_ if<data1> protocol interface name : sc_ out_ fifo_ if<data3> class name : parent process function : fifo:sc_fifo<data2> class name : child1 instance name : func1 process function : entry port name : out class name : child2 port name : in interface direction : out instance name : func2 interface direction : in protocol interface name : sc_ out_ fifo_ if<data2> process function : entry protocol interface name : sc_ in_ fifo_ if<data2> Fig. 17 Structure diagram and attribute of each object, tagged value The channel is described in the UML diagram as shown below. Here the FIFO channel of SystemC (sc_fifo) is used as a channel with buffer size = 16 (default value of sc_fifo class). The buffer size is given as an initialization parameter at the instantiation of the channel. (In the figure below, attributes, and/o template arguments of buffer size are not shown.)
  • 21. Example: Clock and Reset Structure Diagram
  • 22. Example: Shift Register Structure 0/26 20:52 Diagram (a) N : int ShiftReg (d) I I O O M : reg[N] C : sc_fifo<int> [N- 1] (c) (b) inv: N > 1 inv: M[0].I.sc_ in_ fifo_ if<int>- >exists(I) - - (a) inv: Sequence{ 1..N- 1 }- >forAll(n | M[n].I.sc_ fifo<int>- >exists(C[n])) - - (b) inv: Sequence{ 0..N- 2 }- >forAll(n | M[n].O.sc_ fifo<int>- >exists(C[n]) - - (c) inv: M[N- 1].O.sc_ out_ fifo_ if<int>- >exists(O) - - (d) Fig.24 Example of template module
  • 23. UML for SystemC allow to generate complete SystemC code expose all SystemC concepts in the UML profile structure (similar to UML for SoC profile) behaviour (actions in state machines) tool specific implementation takes advantage of the tool’s code generation capacity
  • 24. Profils UML pour l’embarqué Trends Towards Modeling UML for Embedded Systems SysML Electronic System Level MARTE
  • 25. Modeling and Analysis of Real-Time and Embedded systems Request for Proposal http://www.omg.org/cgi-bin/ doc?realtime/2005-2-6 published February 2005 Current status Version 1.0 available since November 2009 http://www.omg.org/spec/MARTE/
  • 26. Requirements Scheduling, Performance and Time profile evolution designed for UML 1.x influence of the QoS and Fault Tolerance profile Real-Time and Embedded System modeling embedded system programming limited resources, subject to constraints, heterogeneity, distributed reactivity cyclic behaviour, modes of operation control/command intensive data flow systematic signal processing intensive data processing
  • 27. RTES Specific Needs standard language to ease communication in the design team common paradigm for hardware and software modeling Y-model approach (application, hardware architecture, allocation) Model Driven Engineering time modeling asynchronous/causal synchronous/clocked real/continuous
  • 28. Schedulability and Performance Analysis rich set of measures response time, delays, resource utilisation, demand statistical measures or bounds schedulability analysis WCET, ACET, BCET need for variables and expression manipulation (see SPT)
  • 29. Current Version See the official tutorial (http://www.omgmarte.org/Tutorial.htm).
  • 30. Conclusion SoC modeling: an active research area several proposals at different abstraction levels basic constructs composite structure diagram hierarchical component based profiles