web hit counter Distributed Objects For Flexible Manufacturing Execution Systems; by B Boyce

 

William Boyle
Senior Software Engineer, FASTech Integration, Inc.

BOSTON -- Engineering Solutions Conference. This presentation was made at the Engineering Solutions Conference held in Boston from September 10 - 12 , 1996.



Presented September 10, 1996 Boston, MA

Distributed Objects For Flexible
Manufacturing Execution Systems

Highlights


Slides


Execution Systems

  • What is a "next generation" manufacturing execution system?
  • What were our goals in the development of such a system?
  • Why were OO methodologies and tools chosen and how did they contribute to attaining our design goals?

To The Top

The Traditional MES(S)

  • Poorly integrated
  • Monolithic
  • Inflexible
  • Difficult to change
  • Expensive to maintain

To The Top

What IS a "next generation" MES?

  • A 3-tier client-server architecture based upon a message-passing object model.
  • Reusable software classes or components which represent a Manufacturing Domain Model.
  • Plug & play application modules.

To The Top

What Were Our Goals?

  • Take the time to write down a list

To The Top

Why Object-Oriented?

  • Based upon the SEMATECH SGMM.
  • Complexity of the domain model.
  • Component/object nature of the architecture.

To The Top

Factors For Success

  • 3-tier client/server.
  • Platform independence - common core services.
  • Integration with existing tools - standards compliant.
  • Plug & Play, "shrinkwrapped" components - encourage third-parties to develop add-ons.

To The Top

3-Tier Client/Server Architecture

FACTORYworks Component Framework

To The Top

Key Foundation Components

  • Interprocess and object communication.
  • Persistent object storage.
  • Deployment language(s).
  • Support libraries and/or frameworks.

To The Top

Implementation - Critical Factors

  • Scalability - need to grow to very many users.
  • Availability - resistence to failure.
  • Integrity - maintain data validity.
  • Consistency - use a common framework API.
  • Integration - work with existing equipment and systems.

To The Top

Architectural Components

  • Distributed Message Bus - DMBX
  • Object Repository and Database - RDBMS
  • User Presentation Services - GUI
  • Distributed Transaction Processing Framework - DTPF
  • Application Component Classes - Transactional API

To The Top

Distributed Message Bus

Why a message bus and not RPC or Corba?

  • Lower network overhead.
  • Scales better for many users.
  • Corba not available when system was implemented.
  • CELLworks required for some components.

To The Top

CELLworks Message Bus - DMBX

  • Proven middleware for client-server manufacturing systems.
  • Application location independence.
  • Platform independence.
  • Reduced programming requirements.

To The Top

Object Repository & Database

Why use a relational database as an object repository?

  • Industry standards.
  • Better 3rd-party support.
  • Maturity and perceived reliability of products.
  • More familiar to developers and engineers.

To The Top

Interfacing C++ Classes To Relational Database

  • Database independence.
  • Hybrid O-O/Relational systems.
  • Object mapping vs. object wrappers.
  • Develop our own interface library.

To The Top

User Presentation Services - GUI

Mixed platforms require different services.

  • Microsoft Windows-NT
    • Visual Basic and OLE custom controls (OCX).
    • Simple customization using standard tools.
    • Many engineers are comfortable with VB.
  • Unix and X-Windows
    • Simple customization using CELLworks tools.
    • Ease of use with standard workstations.

To The Top

Distributed Transaction Processing Framework

  • Easily understood and used by application class developers.
  • Reduced programming overhead.
  • Fully orthogonal & testable (black-box) behavior.

To The Top

DTPF - Utility Class Library

General utility and support classes:

  • String handling
  • Collections - ordered (array), set, dictionary, binary-tree
  • Errors
  • Event tracing
  • Tokenizer
  • International languages
  • Garbage collection

To The Top

DTPF - Distribution Class Library

Generic object communcations and event management:

  • Distribution class registration and metadata
  • Object marshaling and unmarshaling
  • Callback function and object registration
  • Message bus event manager
  • Server command and option processing

To The Top

DTPF - Persistence Class Library

  • Abstract interface to object repository.
  • Dynamic generation of optimized SQL code for target DBMS.
  • Generation of universally unique object identifiers.
  • Automatic memory management and intelligent object reference semantics (lazy-fetch via smart pointers).
  • Minimize programmer concern with circular and recursive object references.
  • Manage complex referential integrity issues.

To The Top

DTPF - Presentation Class Library

  • Abstract (message-based) interface to window system.
  • Registration of callback handler functions and objects attached to window events and widgets.

To The Top

FACTORYworks Core Class Library

Service Classes:

  • Object versioning
  • Networks, trees, and lists
  • Object caching
  • Rule processing
  • Domain attributes
  • State machines

To The Top

FACTORYworks Core Class Library

User Interface Classes:

  • Error handling
  • Acceptance dialogs
  • Object editing
  • Event notification

To The Top

Application Component Libraries

Base product libraries and transactional API:

  • Site Modeling (MDL)
  • Process Planning (PRP)
  • Work-in-Process (WIP)
  • Equipment Status Monitoring (EQP)
  • Operator Tracking (OPR)
  • Engineering Data Collection (EDC)

To The Top

FACTORYworks Execution Model

  • Multi-platform work dispatch clients.
  • Distributed application servers.
  • Custom business rule processing.

To The Top

Work-Flow And Dispatch

  • Clients for Unix and Windows-NT.
  • Platform and language independent API.
  • Business rules to control work flow.

To The Top

Unix Run-time Client
NT Run-time Client
Business Rule Processing

  • Tailor system behavior to enterprise needs.
  • Rule processing can be arbitrarily complex.
  • Rules are persistent - stored in the database.

To The Top

Application Servers

Basic services provided by servers for each application component library:

  • Site modeling - MDLsrv
  • Process planning - PRPsrv
  • Work-In-Process - WIPsrv
  • Operator tracking - OPRsrv
  • Equipment status and monitoring - EQPsrv
  • Engineering data collection - EDCsrv

To The Top

Conclusion

  • Extensible framework for MES.
  • Use familiar tools to build systems.
  • Works the way you want it to.
  • Not perfect, yet...

Back to DCI's Speaker-Features

©Copyright 1996 by Digital Consulting, Inc.

All Event names are trademarks of DCI or their clients.
Comments?
webmaster@dciexpo.com