SysML to Discrete-event Simulation
 to Analyze Electronic Assembly
 Systems
Ola Batarseh
                      3/25/2012
Leon McGinnis
Keck Factory Lab
Georgia Tech
                      2nd International Workshop on
                       Model-driven Approaches for
                          Simulation Engineering
   Disallow Copying
Abstract
Model Driven Architecture paradigm from software engineering

     SysML models
       based on
                                                               Simulation Models
     domain specific        Automatically
     manufacturing           Translated
        system
       language                   Cost/time of manufacturing
                                          simulation

                           Flexibility/adabtability in
                        managing manufacturing systems
                    Improve design and analysis of
                       manufacturing systems

             Central repository for system
              specifications shared by all
                      stakeholders



                                                                Disallow Copying
Outline
• Methodology

• Tools Involved in the Technology

• Steps to Employ the Technology

• Electronic Assembly DSL

• Analysis DSL

• SysML Transformation into Arena

• Conclusions and Future Work

                                     Disallow Copying
Methodology

 M3 (Meta-metamodel)                                     MOF
                                     Conform to                         Conform to


                         Metamodel A                    ATL               Metamodel B
                  Electronic Assembly semantics in   Mapping Rules      Arena discrete-event
 M2 (Metamodel)
                          a SysML profile                                simulation models
                                                            Execute

                                   Conform to
                   SysML                                              Arena
                                                                       Target User Analysis
     M1 (Model)         Source User Model            Transformation
                                                                              Model


Model Transformation Concepts from SysML to Arena™




                                                                                Disallow Copying
Tools involved
                  SysML Meta-Model
SysML User   (Accessed from EMF Registry)
  Model


   SysML XMI File                                      Arena
                                                      XMI File


             Arena Meta-Model         ATL Script
                                      ATL Script      Access
               (Built in Ecore)                      Database


                                                     Arena User
                                                       Model




                                                    Disallow Copying
Steps of Transforming Process




                     Disallow Copying
Electronic Assembly DSL in SysML
• Bill of Material: composed of manufacturing parts (as Blocks)
  connected together using composition relationship that represents
  the number of sub-components in a part.
   ▫ Block Definitions Diagrams in SysML (BDD)



        FinalProduct               Part            BOMLink




                             Attributes:          Attributes:
  Attributes:
                             • maxWIP             • quantity
  • interarrivalTime
                             • mrpLeadTime
  • maxWIP
                             • processPlan
  • productionSchedule
  • mrpLeadTime
  • processPlan
                                                     Disallow Copying
Electronic Assembly DSL in SysML cont.
• Final products could have monthly (18 months) or weekly (78
  weeks) production schedules. Moreover, the user can include
  the fiscal days per month in the model.
                  ProductionSchedule         FiscaldaysPerMonth



  MonthlyPS                       WeeklyPS
                                              Attributes:
                                              • Month01
                                              • Month02
                                                    .
    Attributes:             Attributes:             .
    • Month01               • Week01          • Month18
    • Month02               • Week02
          .                       .
          .                       .
    • Month18               • Week78

                                                      Disallow Copying
Electronic Assembly DSL in SysML cont.
• Example:
 ▫ Production Schedules              MagicDraw




       Customized
    Menu for Production
        Schedules


                                Monthly
                 Fiscal Days   Production
                  Per Month     Schedule


                                                 Disallow Copying
Electronic Assembly DSL in SysML cont.
• Example:
 ▫ Bill of Material
                                                      MagicDraw
                                         Final Product: has a process
                                         plan and production schedule
                                               or inter-arrival time


                                                      Parts: each has
                                                      a process plan
  Customized
 Menu for BOM


            Composition relationship
               for BOM links with
             quantity as its attribute

                                                    Disallow Copying
Electronic Assembly DSL in SysML cont.
 • Process Plan: composed of manufacturing processes (as
   CallBehaviorActions) connected by routings.
    ▫ Activity Diagrams in SysML (ACT)



OfflineProcess AssemblyProcess TroubleshootingProcess    ReworkProcess




Attributes:     Attributes:        Attributes:          Attributes:
• processTime   • batchSize        • processTime        • batchSize
                • processTime                           • processTime
                • humanResources                        • humanResources
                • dryTime                               • dryTime

                                                          Disallow Copying
Electronic Assembly DSL in SysML cont.
InspectionProcess    TestProcess        MultiCycleProcess      CustomProcess




Attributes:        Attributes:
• batchSize        • batchSize                               All possible attributes of:
• processTime                           Attributes:
                   • isAutomated                             • Offline
• humanResources                        • cycles
                   • yieldRate                               • Assembly
•yieldRate                              • failFreeCycles
                   • setupTime                               • Rework
                                        • batchSize
                   • processTime                             • Troubleshoot
                                        • yieldRate
                   • teardownTime                            • Inspection
                                        • setupTime
                   • humanResources                          • Test
                                        • processTime
                   • machineResources
                                        • teardownTime
                                        • humanResources
                                        • machineResources
                                        • dryTime
                                                                Disallow Copying
Electronic Assembly DSL in SysML cont.
• Processes are connected using routings (as Object Flows)
  and each have pins (one input pin and one pass output pin
  and/or one fail output pin).

       Routing
                               Pass / Fail Output Pins




 Attributes:                       Decision Node
 • batchSize
 • routingTime
 • routingResources
 • routingProbability

                               For multiple possible routings.
                                                      Disallow Copying
Electronic Assembly DSL in SysML cont.
• Example:
   ▫ Process Plan (Color Coded based on Process Type)

                                                               MagicDraw

                                      Decision Nodes for
                                       multiple routing
                                                           Routing




                          Processes connected using routings

Customized Menu for
   Process Plan                                             Disallow Copying
Electronic Assembly DSL in SysML cont.
• Resources: they could be a single or a group of human resources
  or machines. They are defined as Blocks.
  ▫ Block Definitions Diagrams in SysML (BDD)
        Human Resources                          Machines
                                  Part




                                           Attributes Single:
Attributes Single:                         • capacity
• capacity
• schedule    Attributes Group:                      Attributes Group:
              • groupElements                        • groupElements




                                                      Disallow Copying
Electronic Assembly DSL in SysML cont.
• Example:
  ▫ Resources: (Color Coded based on type)
                                             MagicDraw




Customized Menu
 for Resources




                                                Disallow Copying
Analysis DSL in SysML for DES
• A separate Analysis Profile is provided to enter the simulation
  parameters using one Block as follows:
                                                     MagicDraw
Simulation Parameters




                              Customized Menu
                               for Simulation
                                 Parameters
   Attributes Single:
   • Number of Replications
   • Warm up Period
   •Replication Length
   •Base Time Units
                                                   Disallow Copying
Transformations
 UML®/OMG SysML                  XML definitions for
   definitions.                     ARENA®.
                              ARENA® metamodel
UML® metamodel                     (.ecore)
    (.url)
                                            2
 1                                              Defined
      EMF                                       in Ecore
     Registry         Eclipse™
                        ATL          Eclipse Model-to-Model
                                  Transformation™ project ATL
                                     Transformation Engine

                     ATL translation
            3             (.atl)
Written
in ATL
                ATL translation code based on the
                       manufacturing DSL.           Disallow Copying
ARENA® metamodel
• Example: Entity




                             Disallow Copying
Transformation Script

                        Matched Rule:
                   manufacturingParttoEntity


                                Called Rule:
                               toProcessPlan

module   ATLTransformation ;
create   OUT: Arena from IN:   uml;        Matched Rule:
                                    manufacturingParttoEntity
rule manufacturingParttoEntity {   Checks if Block is stereotyped
       from                          as FinalProduct or Part to
       dt: uml!Class (
                                    translate it into an Entity in
(not dt.getAppliedStereotype
                                                Arena
('ElectronicAssemblyProfile ::FinalProduct').oclIsUndefined())
or
(not dt.getAppliedStereotype
('ElectronicAssemblyProfile ::Part').oclIsUndefined ()))
       to
       out: Arena!"BasicProcess_x007C_Entity" (
       SerialNumber <- dt.name.hashCode().toString(),
       ModelLevelID <- '1',
       X <- '0',
       Y <- '0',
       UserDescription <- '',
       Name <- dt.name,
       ReportStatistics <- 'Yes',
       Other <- '0.0',
       InitTranCost <- '0.0',                 Called Rule:
       Waiting <- '0.0',                     toProcessPlan
       Holding_x0020_Cost <- '0.0',
                                       Checks the processes and
       InitNVACost <- '0.0',
       InitVACost <- '0.0',          translates them into Arena as
       Picture <- 'Picture.Report')            appropiate
               do {thisModule.toProcessPlan (dt); }}



                                                        Disallow Copying
DSL Process and Impact




              Disallow Copying
Conclusions
• Ability to create SysML models using manufacturing
  semantics.

• Provide a central repository of manufacturing
  systems specifications to all stakeholders.

• Automatically translate SysML models into discrete-
  event simulation in Arena which reduces the time of
  building simulation models in order-of-magnitude.


                                         Disallow Copying
Future Opportunities with this Technology

• Extend this technology to different application domains.

• Possibility of translating SysML models into multiple
  simulation tools simultaneously (i.e., Arena, AnyLogic, etc.)
  and to different analysis models (i.e., discrete-event
  simulation, optimization, etc. )

• Productize this approach to make it available for different
  companies to analyze their manufacturing systems.




                                                  Disallow Copying
THANK YOU!




   Disallow Copying

SysML to Discrete-event Simulation to Analyze Electronic Assembly Systems

  • 1.
    SysML to Discrete-eventSimulation to Analyze Electronic Assembly Systems Ola Batarseh 3/25/2012 Leon McGinnis Keck Factory Lab Georgia Tech 2nd International Workshop on Model-driven Approaches for Simulation Engineering Disallow Copying
  • 2.
    Abstract Model Driven Architectureparadigm from software engineering SysML models based on Simulation Models domain specific Automatically manufacturing Translated system language Cost/time of manufacturing simulation Flexibility/adabtability in managing manufacturing systems Improve design and analysis of manufacturing systems Central repository for system specifications shared by all stakeholders Disallow Copying
  • 3.
    Outline • Methodology • ToolsInvolved in the Technology • Steps to Employ the Technology • Electronic Assembly DSL • Analysis DSL • SysML Transformation into Arena • Conclusions and Future Work Disallow Copying
  • 4.
    Methodology M3 (Meta-metamodel) MOF Conform to Conform to Metamodel A ATL Metamodel B Electronic Assembly semantics in Mapping Rules Arena discrete-event M2 (Metamodel) a SysML profile simulation models Execute Conform to SysML Arena Target User Analysis M1 (Model) Source User Model Transformation Model Model Transformation Concepts from SysML to Arena™ Disallow Copying
  • 5.
    Tools involved SysML Meta-Model SysML User (Accessed from EMF Registry) Model SysML XMI File Arena XMI File Arena Meta-Model ATL Script ATL Script Access (Built in Ecore) Database Arena User Model Disallow Copying
  • 6.
    Steps of TransformingProcess Disallow Copying
  • 7.
    Electronic Assembly DSLin SysML • Bill of Material: composed of manufacturing parts (as Blocks) connected together using composition relationship that represents the number of sub-components in a part. ▫ Block Definitions Diagrams in SysML (BDD) FinalProduct Part BOMLink Attributes: Attributes: Attributes: • maxWIP • quantity • interarrivalTime • mrpLeadTime • maxWIP • processPlan • productionSchedule • mrpLeadTime • processPlan Disallow Copying
  • 8.
    Electronic Assembly DSLin SysML cont. • Final products could have monthly (18 months) or weekly (78 weeks) production schedules. Moreover, the user can include the fiscal days per month in the model. ProductionSchedule FiscaldaysPerMonth MonthlyPS WeeklyPS Attributes: • Month01 • Month02 . Attributes: Attributes: . • Month01 • Week01 • Month18 • Month02 • Week02 . . . . • Month18 • Week78 Disallow Copying
  • 9.
    Electronic Assembly DSLin SysML cont. • Example: ▫ Production Schedules MagicDraw Customized Menu for Production Schedules Monthly Fiscal Days Production Per Month Schedule Disallow Copying
  • 10.
    Electronic Assembly DSLin SysML cont. • Example: ▫ Bill of Material MagicDraw Final Product: has a process plan and production schedule or inter-arrival time Parts: each has a process plan Customized Menu for BOM Composition relationship for BOM links with quantity as its attribute Disallow Copying
  • 11.
    Electronic Assembly DSLin SysML cont. • Process Plan: composed of manufacturing processes (as CallBehaviorActions) connected by routings. ▫ Activity Diagrams in SysML (ACT) OfflineProcess AssemblyProcess TroubleshootingProcess ReworkProcess Attributes: Attributes: Attributes: Attributes: • processTime • batchSize • processTime • batchSize • processTime • processTime • humanResources • humanResources • dryTime • dryTime Disallow Copying
  • 12.
    Electronic Assembly DSLin SysML cont. InspectionProcess TestProcess MultiCycleProcess CustomProcess Attributes: Attributes: • batchSize • batchSize All possible attributes of: • processTime Attributes: • isAutomated • Offline • humanResources • cycles • yieldRate • Assembly •yieldRate • failFreeCycles • setupTime • Rework • batchSize • processTime • Troubleshoot • yieldRate • teardownTime • Inspection • setupTime • humanResources • Test • processTime • machineResources • teardownTime • humanResources • machineResources • dryTime Disallow Copying
  • 13.
    Electronic Assembly DSLin SysML cont. • Processes are connected using routings (as Object Flows) and each have pins (one input pin and one pass output pin and/or one fail output pin). Routing Pass / Fail Output Pins Attributes: Decision Node • batchSize • routingTime • routingResources • routingProbability For multiple possible routings. Disallow Copying
  • 14.
    Electronic Assembly DSLin SysML cont. • Example: ▫ Process Plan (Color Coded based on Process Type) MagicDraw Decision Nodes for multiple routing Routing Processes connected using routings Customized Menu for Process Plan Disallow Copying
  • 15.
    Electronic Assembly DSLin SysML cont. • Resources: they could be a single or a group of human resources or machines. They are defined as Blocks. ▫ Block Definitions Diagrams in SysML (BDD) Human Resources Machines Part Attributes Single: Attributes Single: • capacity • capacity • schedule Attributes Group: Attributes Group: • groupElements • groupElements Disallow Copying
  • 16.
    Electronic Assembly DSLin SysML cont. • Example: ▫ Resources: (Color Coded based on type) MagicDraw Customized Menu for Resources Disallow Copying
  • 17.
    Analysis DSL inSysML for DES • A separate Analysis Profile is provided to enter the simulation parameters using one Block as follows: MagicDraw Simulation Parameters Customized Menu for Simulation Parameters Attributes Single: • Number of Replications • Warm up Period •Replication Length •Base Time Units Disallow Copying
  • 18.
    Transformations UML®/OMG SysML XML definitions for definitions. ARENA®. ARENA® metamodel UML® metamodel (.ecore) (.url) 2 1 Defined EMF in Ecore Registry Eclipse™ ATL Eclipse Model-to-Model Transformation™ project ATL Transformation Engine ATL translation 3 (.atl) Written in ATL ATL translation code based on the manufacturing DSL. Disallow Copying
  • 19.
    ARENA® metamodel • Example:Entity Disallow Copying
  • 20.
    Transformation Script Matched Rule: manufacturingParttoEntity Called Rule: toProcessPlan module ATLTransformation ; create OUT: Arena from IN: uml; Matched Rule: manufacturingParttoEntity rule manufacturingParttoEntity { Checks if Block is stereotyped from as FinalProduct or Part to dt: uml!Class ( translate it into an Entity in (not dt.getAppliedStereotype Arena ('ElectronicAssemblyProfile ::FinalProduct').oclIsUndefined()) or (not dt.getAppliedStereotype ('ElectronicAssemblyProfile ::Part').oclIsUndefined ())) to out: Arena!"BasicProcess_x007C_Entity" ( SerialNumber <- dt.name.hashCode().toString(), ModelLevelID <- '1', X <- '0', Y <- '0', UserDescription <- '', Name <- dt.name, ReportStatistics <- 'Yes', Other <- '0.0', InitTranCost <- '0.0', Called Rule: Waiting <- '0.0', toProcessPlan Holding_x0020_Cost <- '0.0', Checks the processes and InitNVACost <- '0.0', InitVACost <- '0.0', translates them into Arena as Picture <- 'Picture.Report') appropiate do {thisModule.toProcessPlan (dt); }} Disallow Copying
  • 21.
    DSL Process andImpact Disallow Copying
  • 22.
    Conclusions • Ability tocreate SysML models using manufacturing semantics. • Provide a central repository of manufacturing systems specifications to all stakeholders. • Automatically translate SysML models into discrete- event simulation in Arena which reduces the time of building simulation models in order-of-magnitude. Disallow Copying
  • 23.
    Future Opportunities withthis Technology • Extend this technology to different application domains. • Possibility of translating SysML models into multiple simulation tools simultaneously (i.e., Arena, AnyLogic, etc.) and to different analysis models (i.e., discrete-event simulation, optimization, etc. ) • Productize this approach to make it available for different companies to analyze their manufacturing systems. Disallow Copying
  • 24.
    THANK YOU! Disallow Copying