Ebr Pmx Mes V2.5

130
POLITECNICO DI MILANO Facoltà di Ingegneria dell’Informazione POLO REGIONALE DI COMO Master of Science in Computer Engineering (For the Communication) An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) Supervisor: Prof. Marco Brambilla Assistant Supervisor: Prof. ……………… Master Graduation Thesis by: Mohammad Jannatul Ferdous Student Id. number 707241 Academic Year 2007/2008

description

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES)

Transcript of Ebr Pmx Mes V2.5

Page 1: Ebr Pmx Mes V2.5

POLITECNICO DI MILANO Facoltà di Ingegneria dell’Informazione

POLO REGIONALE DI COMO Master of Science in Computer Engineering (For the Communication) An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) Supervisor: Prof. Marco Brambilla

Assistant Supervisor: Prof. ………………

Master Graduation Thesis by: Mohammad Jannatul Ferdous

Student Id. number 707241

Academic Year 2007/2008

Page 2: Ebr Pmx Mes V2.5

POLITECNICO DI MILANO Facoltà di Ingegneria dell’Informazione

POLO REGIONALE DI COMO Corso di Laurea Specialistica in Ingegneria Informatica An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) Relatore: Prof. Marco Brambilla

Correlatore: Prof. ………………

Tesi di laurea di: Mohammad Jannatul Ferdous

Matr. 707241

Anno Accademico 2007/2008

Page 3: Ebr Pmx Mes V2.5

I dedicate this work

to my parents Mostofa and Jahan

to my sistem mim

to all of my friends

and to my coming wife

……… the never missing support to my studies

Page 4: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

1

Sommario

L'evoluzione delle Soluzioni di Warehouse Management (WMS) è una parte molto importante del

Sistema di Esecuzione Manifatturiero (Manufacturing Execution System). In origine le WMS erano

solo dei sistemi per il controllo degli spostamenti e dello stoccaggio dei materiali all'interno di un

magazzino. Oggi il ruolo delle WMS si sta espandendo, andando ad includere la produzione, la

gestione dei trasporti, la gestione degli ordini, fino anche a completi sistemi contabili. I WSM

presentano ancora alcuni problemi generali tra cui quelli di localizzazione degli impianti di

produzione, quelli legati alla definizione processi efficienti per la raccolta, e quelli che riguardano la

visualizzazione del magazzino. La visualizzazione del magazzino è il problema principale tra quelli

riscontrati e il prodotto Rockwell Automation PMX MES ne fornisce un esempio rappresentativo. Ho

quindi deciso di effettuare un lavoro di ricerca per trovare una soluzione al problema di

visualizzazione, provvedendo altresì a fornire la possibilità di importare le funzioni legate al trasporto

dall'interfaccia utente in maniera più soddisfacente, efficace ed efficiente.

In questo documento viene presentata un'implementazione della parte di visualizzazione e di trasporto

per un magazzino usando la Warehouse Management Solution MES, con lo scopo di migliorarne

l'interazione con l'utente, l'efficacia e l'efficienza. La parte introduttiva di questa tesi presenta le

caratteristiche del prodotto PMX MES di Rockwell Automation, la soluzione, la tecnologia e gli

strumenti utilizzati, l'architettura PMX MES, e il framework. La parte successiva comprende una

recensione dei prodotti usati e del lavoro svolto, evidenziando altri prodotti correlati a PMX MES,

progetti realizzati con WMS e teorie riguardanti il sistema. Successivamente si analizzando i requisiti

delle principali attività da svolgersi durante il lavoro di tesi, con particolare attenzione ai requisiti

funzionali e ad alcuni requisiti non funzionali della compagnia. Si passa in seguito al completamento

della progettazione del modello di struttura di dati, dei relativi diagrammi delle classi, delle attività di

trasporto, dei diagrammi sequenza che descrivono il trasporto e infine alla creazione dei diagrammi di

deployment. Vengono poi presentate l'implementazione scelta e le tecniche usate per risolvere alcuni

requisiti particolari come i linguaggi di programmazione ammessi, gli strumenti di sviluppo da usare, i

framwork e le librerie. Viene presentato anche un piano di sviluppo dettagliato per le prime tre

iterazioni dell'analisi dei requisiti, che includono le stima di costi, budget e allocazione delle risorse

effettuate nella fase iniziale del progetto e in quelle intermedie. Per finire viene sintetizzato l'output del

processo di implementazione, inclusi i passi intermedi per raggiungerlo e le schermate corrispondenti.

Page 5: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

2

Abstract

The evolution of Warehouse Management Solution (WMS) is very important part of Manufacturing

Execution System. Initially it is a system to control movement and storage of materials within a

warehouse. The role of WMS is expanding manufacturing, transportation management, order

management, and complete accounting systems. There are still some general problems in WMS such

as plant location problems, efficient order picking processes, visualization warehouse problem. The

warehouse visualization is one of the major problems among all and Rockwell Automation PMX MES

is the ideal example of that. I therefore decided to conduct a research work to find the solution of

visualization and how to import transport functionality from the visual interface with more user

satisfaction, efficiency and efficient way.

This paper presents an implementation of visualization and transportation of warehouse in to

Warehouse Management Solution regarding MES in order to increase the user interaction, efficient

and efficiency. The background of the thesis is presented by highlighting PMX MES of Rockwell

Automation’s solution, used technology and tools, PMX MES architecture, and frameworks. Then I

explain a review of the related products and work, highlighting other related product of PMX MES,

related works of WMS, and related theory of the system. After that, I analyze the requirements of the

main activities of thesis, with particular attention of the functional requirements as well as also some

non-functional requirements of the company. Then, I complete the design of data structure model,

related class diagram, activities of transportation, sequence diagram of transport creation and

deployment diagram as well. And then, I present my implementation choice to solve particular

requirement in terms of used programming languages, development tools, frameworks, class libraries

as well as solving techniques. I also present the detailed project plan for the first three iterations of the

requirement using initial and intermediate project planning in term of cost estimation and budgeting

and resource allocation. Finally, I summarize the output of the implementation including the steps to

reach the output and corresponding screen shots as well.

Page 6: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

3

Contents Sommario...............................................................................................................................1

Abstract..................................................................................................................................2

Acknowledgement..................................................................................................................7

1 Introduction....................................................................................................................8

2 Background ..................................................................................................................13

2.1 About PMX MES .................................................................................................13

2.2 Used Technology & Tools ....................................................................................14

2.3 PMX MES Architecture........................................................................................15

2.4 EBR PMX MES Framework.................................................................................19

3 EBR PMX Related Products and Works .......................................................................22

3.1 MES Related Product............................................................................................22

3.1.1 PMX Warehouse MES™ ..............................................................................23

3.1.2 PMX Visual MES™......................................................................................23

3.1.3 PMX Recipe MES™.....................................................................................24

3.1.4 PMX Schedule MES™..................................................................................24

3.1.5 PMX Dispense MES™..................................................................................25

3.1.6 PMX Connect MES™...................................................................................25

3.1.7 PMX SkillTrack MES™ ...............................................................................26

3.1.8 PMX EBR MES™ ........................................................................................27

3.1.9 PMX Equipment Management MES™..........................................................27

3.2 WMS Related Works ............................................................................................28

3.2.1 Warehouse Plant Related Algorithm..............................................................28

3.2.2 Other WMS System ......................................................................................30

3.3 EBR Related Theory.............................................................................................31

4 Requirements Analysis .................................................................................................33

4.1 Non-Functional Requirement ................................................................................33

4.1.1 Warehouse Visualization algorithm...............................................................33

4.1.2 Presentation framework.................................................................................35

4.2 Functional Requirement ........................................................................................36

4.2.1 Warehouse Transportation.............................................................................37

Page 7: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

4

4.2.2 Warehouse Plant Visual Representation ........................................................39

4.2.3 Warehouse Plant Navigation .........................................................................42

4.2.4 Transportation in Warehouse Plant................................................................43

4.2.5 Batch Review Tree........................................................................................44

4.3 Use cases ..............................................................................................................47

4.3.1 Transportation...............................................................................................47

4.3.2 Warehouse Plant Navigation .........................................................................48

4.3.3 Transportation from Graphical Representation ..............................................50

5 Design ..........................................................................................................................52

5.1 Data Structure Model (ERD).................................................................................52

5.1.1 ERD Diagram ...............................................................................................52

5.1.2 Description of the Tables...............................................................................53

5.2 Class Diagram Construction..................................................................................54

5.2.1 Class Diagram...............................................................................................54

5.2.2 Description of Key Classes of the System .....................................................55

5.3 Activity Diagram Construction .............................................................................58

5.3.1 Activity Diagram of Transportation (Top Level) ...........................................58

5.3.2 Description....................................................................................................59

5.3.3 Decomposed Activity Diagrams....................................................................60

5.4 Sequence Diagram Construction ...........................................................................63

5.4.1 Sequence Diagram of Transport Order Creation (manual type)......................63

5.4.2 Sequence Diagram of Transport Order Creation (automatic type)..................64

5.5 Deployment Diagram Construction.......................................................................65

5.5.1 Deployment Diagram ....................................................................................65

5.5.2 Description....................................................................................................66

6 Implementation.............................................................................................................67

6.1 Development Strategy...........................................................................................67

6.1.1 Spiral Model .................................................................................................67

6.1.2 Extreme Programming ..................................................................................68

6.2 EBR Transportation ..............................................................................................69

6.2.1 Transport Order Creation ..............................................................................71

6.2.2 Transport Order Execution ............................................................................73

Page 8: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

5

6.2.3 Transport Order View & Searching ...............................................................74

6.3 Warehouse Plant Algorithm..................................................................................76

6.3.1 Design WarehouseModeling Algorithm.........................................................76

6.3.2 Implement Visualization & Navigation .........................................................80

6.4 Transportation in Warehouse Plant........................................................................81

6.5 Presentation Framework........................................................................................81

6.6 Batch review Tree Implementation........................................................................85

7 Detailed Project Plan ....................................................................................................86

7.1 Cost Estimation and Budgeting .............................................................................86

7.1.1 Function Point (FP) Analysis.........................................................................86

7.2 Initial Project Planning..........................................................................................89

7.2.1 Resource Available for the Project ................................................................89

7.2.2 Allocation .....................................................................................................89

7.3 Description of Project Monitoring and Controlling................................................90

7.3.1 1st Internal check: Week 6 .............................................................................90

7.3.2 2nd Internal check: Week 8 ............................................................................94

7.3.3 3rd and final internal check: Week 10.............................................................98

7.4 Final scenario......................................................................................................102

8 Results of the Implementation ....................................................................................103

8.1 Transportation.....................................................................................................103

8.1.1 The steps of transportation ..........................................................................103

8.1.2 Screen shots of transportation......................................................................104

8.2 Visualization of warehouse plant and transportation............................................107

8.2.1 The steps of the visualization plant (Part 4) .................................................107

8.2.2 Screen shots of visualization plant (Part 4) ..................................................107

8.3 Batch review tree ................................................................................................108

8.3.1 The steps of the Batch Review tree..............................................................108

8.3.2 Screen shots of Batch Review tree...............................................................109

8.4 Configuration......................................................................................................111

8.5 How to install or update ......................................................................................111

9 Conclusion .................................................................................................................113

References: ........................................................................................................................114

Page 9: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

6

Annex A (Screen shots of EBR)……………………………………………………….……115

Annex B (Screen shot of Project Plan)……………………………………………………...124

Annex C (Earned value calculation of Project Plan)………………………………………..126

Page 10: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

7

Acknowledgement

I have put a lot of work into my thesis to complete the whole requirements which is related to

warehouse management fields and Manufacturing Execution System as well. This could not

have been possible without the kind assistance of some people to whom I would like to

express my gratitude.

A never-ending thanks to my parents Golam Mostofa Khan and Akter Jahan Mostofa, whose

love for their son has always been my point of reference. Thanks to my only sister also for her

encouragement.

A special thanks to Dr. Marco Brambilla, Assistant Professor, Department of Information

Technology, Politecnico do Milano, for good advice and suggestions. He also reviewed the

thesis and contributed valuable points of view and suggestions regularly. Thanking you very

much.

A special thanks to Professor Piero Fraternali, Department of Information Technology,

Politecnico do Milano, for introducing me as referee with the company before starting this

thesis, and for giving valuable comments to encourage me time to time. Thanking you too.

I would like to thanks all of my friends at Politecnico di Milano and colleagues at Rockwell

Automation for their support in validating and discussing the ideas presented in this work:

Pintu Chandra Shill, Md. Iqbal Mahmood, Lorenzo Cogliati, and also Valerio & Pierluigi.

Thanks to all.

Thanks also to my best friends who always support me from my home country in the good

and bad times: thank you Sultan-e-Alam Khan, Abdullah Al Mehedi Hasan, Syed Ziaur

Rahman, and Kazi Wahidur Rahman.

April 2008

MJ Ferdous

Page 11: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

8

1 Introduction

The evolution of Warehouse Management Solution (WMS) is very similar to that of many

other software solutions. It is a key part of the Manufacturing Execution System and primarily

aims to control the movement and storage of materials within a warehouse and process the

associated transactions, including shipping, receiving and picking. The objective of a WMS is

to provide an application to automatically receive inventory, process orders, and handle

returns. There are still some general problems in WMS such as plant location problems,

efficient order picking processes, visualization warehouse problem.

This thesis project is proposed by Rockwell Automation S.r.l. with the title “An

implementation of visualization of Warehouse including Transportation on WMS

regarding Manufacturing Execution Systems (MES)”. The implementation of the project

will be an extension of Warehouse Management Solution porting some functionality from

stand-alone application architecture to a WEB application and developing a general algorithm

for warehouse visualization as well as adding some new features into the new architecture.

Warehouse Management Solution (WMS) – Desktop Application is a part of Manufacturing

Execution Solution (MES) of Rockwell Automation Solution [*Figure 1.1]. Here, Production

Management Execution (PMX) is the solution for pharmaceuticals field based on MES.

Electronic Batch Recording (EBR) – web application is another part of PMX. EBR is now

running under Apache web server and developed by Python, C++ and Spyce programming

language in the latest developing version.

There are some important functionality that are present in WMS such as allocation storage

area, relocation, transportation, data movement, check stock etc which are used by customers

frequently. Sometimes they also need transportation functionality when access EBR web

application from outside of the local network beside they also need to see the availability and

current status of the storage location in the warehouse. Most of the client currently use textual

records list to see storage location availability and status from the desktop application of

WMS and few of them use third party software to visualize warehouse plant separately.

Page 12: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

9

In both cases, the operator needs to remember storage location identifier or name when switch

back to the movement operation in the desktop application. Moreover, it is also less efficient

and time consuming work to make any operation by remote access of desktop application

while they are outside of local network. Since third party software is external based software,

there was no possibility to add any functionality there such as transportation. Rockwell

development team started to think how to solve this scenario in the next release version while

some companies were asking to integrate transportation functionality in EBR.

Finally, the research and development (R&D) team decided to make an experiment to

visualize warehouse plant in their EBR system and also import movement functionality from

WMS as well as use it from the graphical interface of warehouse plant if it is possible. After

that, they summarized the following problems to solve the above requirements:

1. Make available warehouse transportation functions into a WEB application;

2. Define an easy-configurable method for a visual definition and representation of a

high-rack warehouse plant;

3. Allow navigation trough warehouse starting from an high-level point of view (the

plant) through the intermediate levels (storage areas and location) till the low level

details (cells content);

4. Allow the movements management (relocations, transportations) using the new visual

application;

5. Integrate a presentation framework with new Spyce platform using MVC;

6. Implement a Batch Review Tree with a visual navigator to access process related data.

But it was not possible to be an experiment by R&D team at this moment because they were

extremely occupied with the current release product. And it was not wise decision to give this

task to the external company for developing because of security issue of existing source code

and money issue as well. In addition, there was no open source software for visualization of

warehouse plant in the same platform so that company can integrate it with their solution.

In my thesis, my intention was to build up an updated version to be used as web application

for fulfilling the growing demand of the present internet world with integrating the following

Page 13: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

10

features. My preliminary work was to export these functionalities into web application so that

user can operate transportation from the outside of their local network. And then I design an

algorithm and develop some easy way with graphical representation to configuration /

navigate the high-rack warehouse plant and to integrate it with EBR web application as a new

module and using an appropriate presentation framework for that. Finally, I integrate a

presentation framework for new architecture. In addition, I also developed batch review tree

for shop order detail in old EBR version.

Warehouse Management Solution (WMS )

Oracle

Electronic Batch Recording ( EBR)

Server

Client

Socket

Client

Client

User

DB

Web server

Internet

WMS - Desktop Application

EBR - Web applicationWeb server - ApacheProgramming Language -Python , Spyce

Figure 1.1: General Architecture of Rockwell Automation PMX MES Solution

The overview of remaining chapters of the thesis is organized as follows:

Chapter 2 presents the background of the thesis, highlighting PMX MES of Rockwell

Automation’s solution, used technology and tools, PMX MES architecture, and frameworks.

As a result, this chapter will describe how solution support in the life science industry

regarding manufacturing, what are the technology and tools have been used behind this

solution, how components are architecturally layered as well as which framework has been

used in EBR application and how.

Page 14: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

11

Chapter 3 presents a review of the related products and work, highlighting other related

product of PMX MES, related works of WMS regarding Management Executing System

(MES), related theory of the system. As a result, this chapter point out key features of other

products, lacks of current approaches or algorithm with the issue relevant of my development

on WMS and the user understanding of related theories.

Chapter 4 analyses the requirements of the main activities of thesis, with particular attention

of the functional requirements as well as also some non-functional requirements of the

company where explains what are the requirements to develop new features such as importing

transportation functionality and which research is needed to implement visualization of

warehouse plant as well as integrating a presentation framework into the new architecture.

Chapter 5 shows the design overview of the implementation part, presenting data structure

model, partial class diagram, activities of transportation, sequence diagram of transport

creation and deployment diagram. It gives the static structure and behavioral view of the EBR

system.

Chapter 6 presents the implementation choice of particular requirement in terms of used

programming languages, development tools, frameworks, class libraries as well as solving

techniques. As a result, this chapter will point out what are the development strategy has been

used, how am I solved the requirements using particular technique or design algorithm and

how am I used presentation framework in the new system.

Chapter 7 presents the project plan detailed for the first three iteration of the requirement

using initial and intermediate project planning in term of cost estimation and budgeting and

resource allocation. It also shows initial as well as finial scenario with respect to project

statistics.

Chapter 8 summarizes the output of the implementation including the steps to reach the output

and corresponding screen shots as well. As a result, it describes the steps of each part to

Page 15: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

12

generate the output and then describes how to perform those steps using textual description of

sub-steps as well as related screen shot of steps or sub-steps.

Finally, the conclusion shows the final results and future works of the thesis in terms of

benefits of the company, Research action will focus on the ongoing enhancement of the

features of the approach.

Appendix includes the related materials of the reports where project plan calculation of MS

Project 2003, Screen shot of the implementation as well as graphical representation of project

planning are present.

Page 16: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

13

2 Background

This section presents the background of the thesis, highlighting PMX MES of Rockwell

Automation’s solution, used technology and tools, PMX MES architecture as well as

frameworks. The interest was to design as well as develop something which is related to web

architecture, Service Oriented Architecture, Enterprise Resource Planning (ERP) & ASP.Net

platform. This project was related to SOA, ERP and also Web architecture. One of the

complex tasks was to show visual interface of WMS (Warehouse Management Solution) and

transportation from the visual interface of storage location through navigation. Another

challenging requirement was to implement current presentation framework into new Spyce

platform. The following sub-section will introduce the whole system of MES, used tools &

technology, general system architecture of PMX as well as EBR framework.

2.1 About PMX MES

Rockwell Automation's solutions for the Life Sciences Industry cover the entire life cycle of a

pharmaceutical or biotechnology product. The complete architecture includes Manufacturing

Execution Solutions (MES) — spanning the phases of the life cycle from Research &

Development (RDM) and Clinical Trial Management (CTM) through production utilizing

Integrated Architecture Solutions.

Rockwell Automation provides PMX MES for on-demand manufacturing information to help

improve productivity and reduce time-to-market. PMX MES offers increased flexibility in

state-of-the-art data management and process execution.

For example, the software helps to simplify the integration of information between resource

logistics and order fulfillment and obtaining raw materials and customer order information

from the Enterprise Resource Planning (ERP) system, it also makes sure the plant floor

receives, processes and documents the proper ingredients and thus enables process accuracy at

increased throughput.

Page 17: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

14

PMX MES allows Life Sciences companies to access key manufacturing information on

demand in order to optimize production processes and make manufacturing capabilities a

competitive advantage. The Figure 2.1 shows how Rockwell Automation's solutions support

different sections of the Life Sciences companies.

Figure 2.1: Graphical representation of Rockwell Automation solutions

2.2 Used Technology & Tools

The following technology & tools have been used to developed Management Execution

System (MES) solutions:

Table 1: Technology and Tools to support PMX MES solutions

Type Technology / Tools

Programming Language Python, Spyce, C++

Client Side Script JavaScript

Page 18: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

15

Database Oracle 10g Server

Web Server Apache Server

Architecture Multi-tier Architecture

Development Environment Visual Studio 6.0, MED – Text Editor v3.02

Reporting Design List & Lables

Designing Tool Microsoft Visio 2003, SnagIt 8

Database Tool Keep Tool 6, Benthic Software

Source Control CVS server

2.3 PMX MES Architecture

This section will explain about overall architecture of PMX MES using Graphical User

Interface (GUI) layer, Business Layer (BL) & Data Access Layer (DAL). The Figure 2.2

shows three layer GUI layer, BL & DAL (Application, Scripting, Reporting & Database

interface) layer and Database system layer.

GUI layer represents the front-end part of windows or web application where OPENUI is for

the web application. Business Layer is developed using Python & C++ mostly and List &

Label for reporting. Then DAL (pddbaccess) is developed using C++ which interacts with the

database system.

The following table describes the tools & technologies that is used in the architecture

including motivation and properties to use.

Page 19: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

16

Figure 2.2: A system architecture of PMX MES of Rockwell Automation solutions

Table 2: Motivation and Properties of used Technology and Tools

Technology / Tools Description

GUI-Tool OpenUI is used as the GUI tool. Motivation:

Design of user interfaces Creation of libraries with

interface elements Controlling of the user interface Validation of user entries

Graphical User Interface

GUI

Database system SELECT FROM... WHERE...

Application

Database interface

Scripting

Reporting

ORACLE 10g SERVER

Trigger Stored

Procedures Stored Functions

ROQUE WAVE SourcePro

Core, DB, Net

C++ BASIS

LABEL & FORMS

LIST & LABEL

PYTHON

PDDBACCESS

OPEN UI

PDCORE

WINDOWS PRESENTATION MANAGER

Page 20: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

17

Properties: Availability on all platforms Clear distinction and simple interface between application and

user interface Independence of the programming language OpenUI offers a simple but powerful (extendable) script language

for procedural control and layout design (OpenUI Programming Language).

Easy implementation of a graphic tool Simple creation of a library for interface elements (class for input

fields for order numbers, start- / end date and similar standard primitives)

Application The programming language for core development is C++.

Motivation: Object-oriented development Realization of basic classes Realization of data processing Properties: Extensive class libraries Wide propagation Many manufacturers of compilers Standardization by ISO Encapsulation of data

Script languages As macro language for calculations and program control ‘Python’ is used.

Python is available on all platforms (in source code), is widespread, includes an interface to C, and is freely extendable. As macro language e. g. for controlling the user interface or validation of the user entries OPL is used (OpenUI Presentation Language). Motivation:

Necessity of a simple script language e. g. for performing calculations or for program controlling

Customization without compiler C/C++ interface Error handling Interface to the database

Properties: Object-oriented interpreter language Automatic memory management (garbage collection) Exception handling Multiple inheritance Useful data structures: tuple, list, dictionary Database interface (Oracle, Informix, ODBC, ...) GUI interface Debugger Extensive API, hence easy integration with C as well as simple

extendibility through DLLs Powerful string functions (regular expressions) Extensive 'internet functions'

Page 21: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

18

Report generation For the generation of reports the tool ’LIST&LABEL’ is used. The respective data is filled in by the program itself. The report layout is freely adjustable by the user. Motivation:

Realization of complex reports including the implementation of graphic elements

Properties: Library for Windows platforms Interface to Python Implementation of any objects (through callbacks) Availability on all platforms

Database connections

For the connection to the databases the class library DB is used (Rogue Wave). It provides a general interface to common SQL databases. Moreover it contains important basic classes (container, strings, files, persistence,time/date, ...).

Database system ORACLE 10g is used as the standard database system Motivation:

Efficient and safe storage and data management Properties:

Relational database Client/server architecture Management of large data quantities and many

competing database users Open industrial standard Data protection and data security concepts High availability Data integrity concept Distributed systems

Page 22: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

19

2.4 EBR PMX MES Framework

EBR PMX MES is developed basically based on Thin Client architecture. Thin Client

architecture is a growing requirement of many companies today and it was a fundamental

requirement for the development of EBR. Typical reasons, among others, for a Thin Client

architecture are

absence of client installations on every user‘s PC because the browser on the end-

user‘s computer is used as application client

easy software upgrades and easy maintainability

These are the basic non-functional requirements “behind” the EBR architecture. EBR

architecture influences

the user interface that the GUI must be build in terms of HTML

the software’s usability that is necessity to spread modal dialogs over many HTML

pages instead of integrating modal dialogs into a “rich” GUI (e.g. by using tabs)

the use of HTTP as communication protocol between client and server (standard for

web applications) that HTTP, as the “communication medium” between client and

server, is a stateless protocol what leads to the necessity to control and protect the

application work flow with other “techniques” (essential for processing dialogs that

are spread over many requests) [see figure 2.3]

The Figure 2.3 shows the different tiers and how EBR is embedded into Mod_python is an

Apache module that embeds the Python interpreter within the server. EBR is a web

application integrated in mod_python. In the meantime there exist a couple of such

frameworks which are divided into event-driven and action-driven frameworks. EBR is based

in some parts on the Python framework, which itself was based on STRUTS, that has

established as a de-facto standard in the Java world.

Page 23: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

20

Figure 2.3: A system architecture of PMX MES of Rockwell Automation solutions

The Presentation Framework is counted among the action-driven frameworks. It is based on

the MVC paradigm. The Presentation Framework particularly deals with the following tasks:

HTTP-Request Handling and Session Management ⇓ as the basis for workflow

controlling

Workflow processing

HTML generation

Browser (IE), dynamic HTML pages & JavaScript

PALETTI

DB

SCADA Historian

EBR MOD_PYTHON

APACHE

WebWeb

TierTier

BusinesBusines

ss

TierTier

ClienClien

tt

TierTier

EISEIS

TierTier Enterprise

Information System

Page 24: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

21

Figure 2.4: A system architecture of PMX MES of Rockwell Automation Solutions

WeWe

bb

TierTier

BusinessBusiness

TierTier

ClienClien

tt

TierTier

EBR

PRESENTATION FRAMEWORK

Batch Review

PMX Core

Components

Procedure Step

Processing

(based on the MVC paradigm)

MOD_PYTHON APACHE

Request Response

Page 25: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

22

3 EBR PMX Related Products and Works

This section represents other related product of MES which uses in different section of

manufacturing company depending on the size of industry as well as related works of WMS

regarding Management Executing System (MES). Each of related product MES has different

visual interfaces, purpose to develop for the same industry. It also presents the theories related

to Electronic Batch Recording application as well as MES.

3.1 MES Related Product

PMX MES mesh customer manufactures with these following powerful function sets

(products) though I only worked with the PMX EBR MES. Every function set describes by

providing general description and key features of that.

Figure 3.1: Graphical overview of different products of PMX MES

Wa rehouse & Wa rehouse & Ma te r ia ls MgmtMa te r ia ls Mgmt

Ba tc hBa tc h Exe cu tionExe cu tion

Qual if ic at iQual if ic at ionon

In te rfacIn te rfaceses

Equipme ntEquipme nt Ma na ge mentMa na ge ment

Page 26: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

23

3.1.1 PMX Warehouse MES™

PMX Warehouse MES uses for inventory and materials management from goods receiving to

goods issue. It consolidate warehouse management among the function sets of the PMX MES

suite, PMX Warehouse MES handles all the tasks related to material management in a GMP-

compliant environment. From inventory and material movement control to storage condition

maintenance, this tool allows you to concentrate on your creative resources for advanced

innovation.

The key features are

Complete material and batch tracking

Maintenance of storage locations and warehouses

Material allocation

Status control for batches and load carrie

Expiry date control

Inventory reporting and documentation

Automatic material identificationing data

3.1.2 PMX Visual MES™

PMX Visual MES uses to process visualization/monitoring and data acquisition and reporting.

It establish compliance in Data Acquisition among the function sets of the PMX MES suite,

PMX Visual MES contributes extensive monitoring features to your manufacturing process.

This human machine interface for supervisory control and data acquisition (SCADA)

consolidates your management, e.g., with applied reports, monitoring, and facility overviews.

The key features are

Direct machine data collection

Line monitoring

Integrated material flow control (MFC)

Log of failures, stoppages

Event-triggered processing of checklists and in-process controls (IPC)

Detailed balances

Page 27: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

24

Comprehensive set of prepared reports

Object linking and embedding for process control (OPC) compliant client

3.1.3 PMX Recipe MES™

PMX Recipe MES uses to audit trailed and veion-controlled management of master data and

production recipes. It eases client Recipe Handling among the function sets of the PMX MES

suite, PMX Recipe MES provides you with targeted functions for efficient and safe recipe

development. The reusability of existing procedures and controlled veioning are just some of

the features that will help you improve your throughput rates and the quality of your master

batch records.

The key features are

21 CFR Part 11 compliant electronic signatures

Configurable veion control and release workflow

Audit trail

Graphical recipe definition

Procedure library

Archiving

3.1.4 PMX Schedule MES™

PMX Schedule MES uses for order management and finite planning on short-term bases. It

optimizes client Resource Utilization among the function sets of the PMX MES suite, PMX

Schedule MES serves as an electronic planning board with a variety of valuable features. The

clearly structured graphical user interface allows you to schedule orders, facilities, and setup

times in order to achieve optimum resource exploitation.

The key features are

Graphical planning board

Optimum order sequencing

Optimum setup times

Page 28: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

25

Resource requirements

Checking of dates and resources

Simulation of alternative plans

Order progress monitoring

Interface with ERP ( PMX Connect MES)

3.1.5 PMX Dispense MES™

PMX Dispense MES uses to integrate weighing & dispensing tailored to the needs of

pharmaceutical dispensing operations. It enables a Compliant Weigh and Dispense Process

among the function sets of the PMX MES suite, PMX Dispense MES comprises forceful

features for optimum material utilization. Process-specific calculation, identification, and

control functions form the basis for you to improve regulatory compliance while at the same

time reducing costs.

The key features are

21 CFR Part 11 compliance

Prevalidated

Enforcement of compliant workflow

Extensive predefined functions

Labeling and reporting

Barcode identification

Tolerance checking

Potency calculations

3.1.6 PMX Connect MES™

PMX Connect MES uses to interface for ERP systems (SAP certified) and other connected

systems such as DMS, LIMS. It connects to the World Outside MES among the function sets

of the PMX MES suite, PMX Connect MES bares the intelligence and power required for

seamless integration. This univeal, interface allows you to link your manufacturing solution to

all relevant systems and thus reduces the chance of data alteration and loss.

Page 29: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

26

The key features are

Configurable to your needs:

o ERP

o LIMS

o DMS

Warehouse / inventory control systems interfacing

Data exchange with XML connector

Developed in Java™

SAP certified

3.1.7 PMX SkillTrack MES™

PMX SkillTrack MES uses for peonnel qualification, skill management and training

scheduling. It keeps customer Staff Trainings Compliant among the function sets of the PMX

MES suite, PMX SkillTrack MES supplies you with reliable management and verification

features for internal training and qualification. Extensive forecasting, planning, and

scheduling functions, as well as qualification-related access restriction will improve your

compliance considerably.

The key features are

Maintenance, routing, and veion control of standard operating procedures (SOP)

Definition of training plans

Forecasting of training requirements

Scheduling of trainings

Access based on training status

Record of all training activities

Reporting

Page 30: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

27

3.1.8 PMX EBR MES™

PMX EBR MES uses for paperless electronic batch recording, workflow definition,

execution, exception handling and review functionality. It improves Performance without

Paper among the function sets of the PMX MES suite, PMX EBR MES delivers all you need

for complete electronic data handling in the manufacturing and packaging area. The

comprehensive automated documentation, electronic signature, and online plausibility check

functions, e.g., allow you to omit costly paper production and archiving.

The key features are

Paperless production

21 CFR Part 11 compliance

Thin client architecture

Graphical recipe definition

Reusable procedures

Bill of paramete

Configurable veion control and release workflow

Audit trail

Integrated material flow control

Electronic signature

Review by exception

Single repository for all compliant manufacturing data

3.1.9 PMX Equipment Management MES™

PMX Equipment Management MES uses to enhance your equipment overview. It enhances

Your Equipment Overview among the function sets of the PMX MES suite, PMX

Equipment Management MES complements your system with comprehensive, cross-PMX

features for all equipment used in the manufacturing environment. Besides othe, the

classification, scheduling, tracking, and log functions provide valuable support for your

execution and validation activities.

Page 31: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

28

The key features are

Highly generic structure definition

Extendible template library for freely definable types of equipment

Bill of equipment

Equipment orde with cross-PMX functionality

Automated / manual status changes

Electronic logbooks

Consolidated logbook views for powerful analysis and statistics

Complete genealogy of all types of equipment

Open client/server architecture — defined interfaces to external systems (API)

3.2 WMS Related Works

This section presents related algorithm of warehouse plant where most of them related to

solve storage location problem as well as some other WMS software developed by other

companies (I described only two) so far I found in the web. It does not match with my

requirement that is related to visualization of warehouse plant based on existing record. Here

are the following details of some existing algorithms and software.

3.2.1 Warehouse Plant Related Algorithm

Resolution of simple plant location problems using an adapted genetic algorithm: This

investigation presents an adapted genetic algorithm to resolve simple plant location problems.

The proposed algorithm applies a clustering technique as mutation guidance and a novel local

search method to enhance the solution quality. The proposed algorithm is then applied to the

fifteen test problems taken from Beasley's OR-Library (J.E. Beasley, 1990). Empirical results

indicate that the error rate of the proposed adapted GA is less than 0.3 percent. In addition, the

computational time is bounded by a polynomial function of the problem size [1].

An efficient branch and bound algorithm for the warehouse location problem: This

paper introduces an efficient and bound algorithm for a special class of mixed integer

programming problems called the warehouse location problem. A set of branching decision

Page 32: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

29

rules is proposed for selecting warehouse to be constrained open and closed from any node of

the branch and bound tree. These rules are tested for their efficiency in reducing computation

times and storage requirements to reach optimal solutions. An improved method of solving

the linear programming problems at the nodes which substantially reduces the computations is

also introduced in this paper [2].

Planning of order picking processes using simulation and a genetic algorithm in multi-

criteria scheduling optimization: In profit-oriented environments, such as warehousing, the

minimization of labor costs, and thus the flexibility of labor force is an increasingly important

issue. Such an operating policy requires effective capacity planning methods to determine the

number of personnel and equipment per activity and scheduling procedures to define the

sequence of tasks by considering their strict deadline. In the following, the use of a discrete

event simulation model for multi-criteria scheduling optimization of order picking activities in

a warehouse with genetic algorithm (GA) is presented. The operative planning system

consists of a database, a discrete event simulation model, an application for capacity

estimation and a scheduling algorithm. The system was designed to support operative

warehouse management personnel in order picking process scheduling and planning [4].

A particle swarm optimization algorithm for the multiple-level warehouse layout design

problem: Warehouse operation and management is one of the essential parts of

manufacturing and service operations. The warehouse layout problem is a key to warehouse

operations. Generally, warehouse layout design models attempt to optimize different

objectives such as the orientation of storage racks, the allocation of space among competing

uses, the number of cranes, the overall configuration of the facility, etc. The warehousing

strategies can be classified as distribution-type, production-type and contract-type warehouse

strategies. In this study, a distribution-type warehouse considered that various type products

are collected from different suppliers for storing in the warehouse for a determined period and

for delivery to different customers. The aim of the study is to design a multiple-level

warehouse shelf configuration which minimizes the annual carrying costs. The turnover rates

of the products are classified and they are considered while putting/picking them to/from

shelves regarding the distances between the shelves and docks. Since proposed mathematical

Page 33: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

30

model was shown to be NP-hard, a particle swarm optimization algorithm (PSO) as a novel

heuristic was developed for determining the optimal layout [5].

3.2.2 Other WMS System

Lilly Software (ERP, WMS, CRM, and MRP): Announces New Features and

Enhancements in VISUAL Manufacturing Version 6.2. Version 6.2 is packed with beneficial

tools to help automate business processes and streamline workflow. VISUAL Manufacturing

now includes the much anticipated MRP by Warehouse capabilities, which allow companies

to set different planning policies for separate warehouses by part. Lilly Software also offers a

new Plant Maintenance module, which helps companies easily schedule and manage planned

and unplanned maintenance activities. Customers who use VISUAL Design Link will find

support for AutoCAD 2000 and EDI users will see integration enhancements [7].

Logility (WMS, TMS, B2B, Nasdaq: LGTY): Announces Version 6.0; Logility Voyager

Solutions Version 6.0 expands Logility's Microsoft-centric platform to include SQL Server

2000 and extends its native support of the IBM eServer iSeries (AS/400). Logility Voyager

Solutions 6.0 also delivers significant functional enhancements to help trading partners

collaborate across both private and public marketplaces increasing supply chain optimization,

expanding visibility and providing supply chain event management [7].

Page 34: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

31

3.3 EBR Related Theory

Warehouse

– Named warehouse (A, B, C..) and type: internal/external warehouse

– A warehouse contains storage areas

Storage Area

– Named storage area (e.g. production area, goods receipt). The storage type

describes the area (e.g. line warehouse)

– Define QC-statuses of storage areas (quarantined, released, blocked)

– A storage area contains storage locations

Storage location (SL)

– Shelf A01, shelf C04, …

– Spatial arrangement (topology) of the individual locations is defined

Storage location type

– Characterizes the properties of equal storage locations by attributes

Figure 3.2: Graphical representation of different objects of PMX MES

Inventory:

Warehouse Storage Area

Material in trading unit

Storage Location

Batch

Load Carrier (LC) = single transfer unit

Container = (TU)

Page 35: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

32

– administrated on the level of TU´s

– always refers to a batch

– is always on a load carrier / in a trading unit (TU).

Load carrier (LC):

– determines exactly one LC (transfer unit).

Trading Unit (TU):

– describes the smallest unit of a batch

– usually describes material in a container.

Batch:

– Homogenous manufactured material related to an order

– Result of one process

Thin Client: The term Thin Client architecture is based upon the emphasis on

doing as less as possible on the client side. So this architecture places the storage

and processing burden on the server side and relegating the end-user's computer to

the minimal role of web browser access. May be advantage for the customer:

– Ease of client installation and configuration management

– Ease of application configuration management

– Just-in-time deployment

CVS - Concurrent Versions System: CVS is a version control system, an important

component of Source Configuration Management (SCM). Using it, you can record

the history of sources files, and documents. It fills a similar role to the free

software RCS, PRCS, and Aegis packages[3]:

– Client/server CVS enables developers scattered by geography or slow modems

to function as a single team.

– Unreserved checkouts, allowing more than one developer to work on the same

files at the same time.

– CVS provides a flexible modules database that provides a symbolic mapping

of names to components of a larger software distribution

Page 36: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

33

4 Requirements Analysis

One of the most important phases is analyzing requirements of the main activities, in

collaboration with the stakeholders, such as customers or users of the Rockwell Automation’s

PMX MES system. The new system requirements are to be deliverable for a single client at

this moment but the target is to be general for others system as well.

The requirement of the project is to extension of Warehouse Management Solution (WMS)

porting some functionality from stand-alone application architecture in to WEB application,

developing new features such as importing transport functionality, researching to develop an

optimized algorithm to implement visualization of warehouse plant as well as integrating a

presentation framework into the new architecture.

This section will summarize the most important requirements during analysis phase, with

particular attention of the functional requirements and also some non-functional requirements

of the company. Each section is described by relevant pictures, diagrams, use cases and

functional and non-functional description of the main steps.

4.1 Non-Functional Requirement

This section will define the non-functional requirement of the new system, aiming to

implement it in the functional requirement. The formal textual description and graphical

figure are provided for each requirement including conceptual sketch of the implementation if

needed. The textual description will give the general idea of the requirement as well as the

graphical figure will give the visualization concepts.

4.1.1 Warehouse Visualization algorithm

Since the warehouse plant has common attributes for any kind of manufacturing company, it

is important to generalize the algorithm to use it for others. The requirement is optionally

extended to develop a general algorithm for warehouse plant and implement it for Life

Page 37: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

34

Science manufacturing company warehouse plant. The algorithm has to be work with Aisle,

High Rack Level, Bay and Direction attributes and able to manipulate matrix and generate a

graphical view from the existing data of any warehouse management system (WMS).

The following figure 4.1 is given to get the idea of generating algorithm of warehouse plant

visualization. Here we assume that a sample warehouse has one storage area including several

storage locations using two Levels high rack, number of Aisles, Directions (Left & Right) and

numbers of Bays. Level 1 and 2 are presented in two parts and Bay and Aisle are represented

horizontally for each where storage location and they are presented one after another depends

on maximum length of Bay. For example, each storage location has the following

information:

For each Storage Location Level 1…n

Aisle 1…n

Direction L / R

Bay 1 …n

High rack warehouse

IN

OUT

1

IN

OUT

High rack warehouse

IN

OUT

2

IN

OUT

Level

Level

Aisle1

Aisle1

Bay

Page 38: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

35

Figure 4.1: Graphical representation of a part of storage area (2 levels) of a warehouse plant

It is easily distinguishable from the figure 4.1 that it is only possible to represent one level

graphical representation of storage area at the same time in the 2-Dimentional view. So, the

implementation of the above algorithm would be look like the following table for each Level

of Storage Area.

Where:

[ B = Bay,

A= Aisle,

Left/Right = Direction,

X = SL,

- = Empty SL ]

Bay/

Aisle

Left Right Left Right Left

B1 X X X X …

B2 X X X X …

B3 X - X X …

B4 - X X X …

B5 X X X X …

B6 X

A1

X

X

A2

X

Figure 4.2: Conceptual sketch of a part of storage area of a warehouse plant

4.1.2 Presentation framework

It is necessary to implement a presentation framework with new Spyce platform using MVC

(Model view Controller) after completing all functional requirements but there is no well

defined framework for Spyce + python application using MVC like Apache Struts. However,

they developed a presentation framework by their German research development team

according to the following figure 4.3.

Page 39: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

36

It could be possible with the help of old version presentation framework which is based on

Struts principles even though Struts is not directly used because it is only available for Java 2

EE web application and the presentation framework of existing platform is programmed in

Python & HTML + PDL-SQL.

So, the complete principles “behind” Struts that are responsible for the world-wide success of

this open source framework were implemented of their HTML + PD-SQL version. Now the

challenging task is to integrate this presentation framework with new Spyce platform using

this. The current presentation framework of the old version is working look like the following

diagram and the requirement is to implement it for the Spyce platform according to their

suggestions.

Figure 4.3: Architectural representation of presentation framework of the old system

4.2 Functional Requirement

V C

HTTP request HTTP response

FRONT CONTROLLER

Deployment Descriptor 1

Deployment Descriptor 2

REQUEST PROCESSOR

1

REQUEST PROCESSOR

2

...

Action A Action B Action C ...

HTML generati

ng scripts (executed on the server

side)

Tag- Librarie

s

M

HTML JavaScript Cookies

CLIENT (Browser)

Business Delegate

System State Business Logic

Page 40: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

37

This section will describe about the functional requirement related to EBR module of the

Rockwell Automation’s PMX (MES) system. Each requirement will explain with the textual

description, functional requirement table as well as related figure. The textual description will

describe about the general idea of the problem and the concrete steps will identify in the table

including references steps. Moreover, the related figure will give the complete understanding

of the requirement graphically.

4.2.1 Warehouse Transportation

It is necessary to make available warehouse transportation functions into a WEB application.

Transportation is basically done by transports and relocates Trading Unit (TU) / Load Carrier

(LC) from one storage location (source) in to another storage location (target). Transport order

is necessary to control the movement of goods through the warehouse. When a transport order

is generated, the system executes various plausibility checks, to determine whether the storage

attributes of the selected target location match those of the load carrier or trading unit to be

transported.

Transportation can be done among storage locations of one storage area or among storage

locations of different storage area or even among storage locations of different storage area of

two different warehouses. The figure 4.4 shows how transportation works from Warehouse A

to Warehouse B by creating transport order manually or automatically and then execution

manually and so on. Here the creation means the order is created in the system to transport TU

/LC and the execution means the TU/LC physically moved to target location.

Page 41: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

38

Figure 4.4: Graphical representation of Transportation among warehouse A & B

The following table 4.1 will represent the required main steps of implementing transportation

function where F1, F2 & F3 indicates the Function Requirement Step (FRS) Number.

Table 3: Functional description of warehouse transportation

FRS

No.

Description of Requirement Reference to Function

or Activity (ID)

F1 The steps of creation transport order so that the user is guided to

create order in an easy and predictable way

F2 The steps of execution transport order so that the user is guided to execute a created order in an easy and predictable way

F3 The steps of view list of transport orders which are already created,

executed or moving.

FRS F1: When the user request for the steps of creation transport order, the system need to

take LC/TU number from the keyboard or barcode reader and creation type (automatic or

manual) as input. Then the system will check the validation of LC/TU as well as availability

to create order and go for 2nd step of creation if it is valid otherwise throw an exception from

LC/TU identification at target SL

Warehouse A Warehouse B

Target Storage Area Source Storage Area

LC/TU identification (option)

Target Storage Location

Source Storage Location F2: At execution manually

F1: At creation automatically

F1: At creation manually

Other Storage Area

Other Storage Area

Page 42: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

39

the system. In the 2nd step, the system will ask for target storage area and location (if creation

type is manually) and send it to the server to check the valid area & location. If the location

and area are valid and compatible for LC/TU then the creation will be done successfully. User

will be able to cancel the transaction from any intermediate step of the above flow of creation

order.

FRS F2: When the creation is done, the LC/TU is ready to move physically and the steps of

execution of the transport order will be start when LC/TU starts to move. The system will take

LC/TU number from the keyboard or barcode reader as input before start to move and the

status would be Moving of that transport order. The system will take again LC/TU number

from the keyboard or barcode reader as input after reach into target location and the status

would be Finish of that transport order. The system would be ready again to create another

transport order (FRS F1) of this LC/TU after this status.

FRS F3: When the user create, start to execute (moving), execute transport order, it is also

necessary to view the list transport orders which are already created, executed or moving. The

user will able to search using TO number, LC/TU number, as well as by status including list

of all transport orders. The logical AND, OR & XOR options have to be available with each

item of them and user will able to choose according to their choice.

4.2.2 Warehouse Plant Visual Representation

This has to be an easy-configurable method for a visual definition and representation of a

high-rack warehouse plant using a generalized algorithm which is developed as not-functional

requirement. The components of a warehouse have a hierarchical structure. The component

“storage area” defines a physical area in a warehouse and is relevant to goods receipt and

goods issue transactions. Each storage area consists of a specified number of storage

locations. This number depends on the warehouse type (e. g. high-rack warehouse). Storage

locations with identical dimensions are grouped as types. This facilitates the management of

the storage locations and reduces the time required for data input.

Page 43: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

40

Figure 4.5: Graphical representation of warehouse plant in 2D view.

Here, Warehouse Plant (WP) is represented in the graphical view of Storage Area & Storage

Location of a WP in 2- dimensional view in figure 4.5. Storage Area 1 is showing single

Level, 2 Aisle and 10 Bays for each side of Direction (Left / Right). The LC/TU will OUT

between the creation of transport order and start to execute order. ). The LC/TU will IN

between start to execute and to finish executing order. The representation of the warehouse

has to implement in the web page only representing the storage areas inside each warehouse

and storage location inside each storage area indicating current Level, Aisle, Bay, and

Direction.

Warehouse Plant

Storage Area1

IN

reject

High rack warehouse I-Point

Shuttle

IN IN

OUT

IN

OUT

IN

OUT

IN

OUT

IN

OUT/IN

Storage Area2

. . .

Aisle1

Aisle2

Page 44: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

41

The conceptual view of the warehouse plant can be look like the following figure 4.6 in the

web page and has to be accessible from warehouse to storage area and storage area to storage

locations. It is a graphical interface of storage of the warehouse plant where user can see all

Storage Area of the WP and can also see the inside view of each SA. Each SA consists by a

list of Storage Location which contains Load Carrier or Trading Unit. User will able to see

the list of Load Carrier inside Storage Location. Table 4.2 represents the required main steps

of implementing warehouse visualization.

Figure 4.6: Conceptual sketch of warehouse plant in 2D view.

Table 4: Functional description of warehouse visualization

FRS

No.

Description of Requirement Reference to Function

or Activity (ID)

Warehouse

Storage Location

Storage Location

Storage Location

Storage Area 1

Storage Area 2

Page 45: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

42

F4 The steps of view Storage Areas (SA) of a Warehouse Plant (WP)

F5 The steps of view Storage Location (SL) for each Storage Area of WP

FRS F4: User will be able to see a list of Storage areas by selection warehouse like a small

block or any visual object to understand an area. The warehouse boundary will be defined

depending on the number of Storage areas of that plant. Each block will contain the name of

storage area and other related information according to importance.

FRS F5: When the user selects each storage area, the storage locations will be visible for this

area and each location have to be set according to the attributes value from the database. The

empty storage locations have to be distinguishable from the others using different colour or

any other technique.

4.2.3 Warehouse Plant Navigation

This functional requirement will allow navigation through warehouse starting from a high-

level point of view (the warehouse plant) through the intermediate levels (storage areas and

location) till the low level details (cells content). User will be able to view the warehouse

plant inside several storage areas (SA) and each SA has to be clickable to view storage

locations (SL) of that SA and then also each SL has to be clickable to see the list of trading

unit (TU) or load carrier (LC) of that SL. The following table will show the main functional

steps of implementing navigation.

Table 5: Functional description of warehouse navigation

FRS

No.

Description of Requirement Reference to Function

or Activity (ID)

F6 The steps of view Storage Areas (SA) of a Warehouse Plant (WP) so

that the user is guided through the SA

F4

F7 The steps of view Storage Location (SL) for each Storage Area so

that the user is guided through the SL

F5

F8 The steps of view list of TU/LC for each Storage location.

Page 46: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

43

FRS F6: This step follows the enhanced of FRS F4 implementing the navigation functionality

among different storage areas of warehouse plant including backward and forward technique

so that user can easily enter into a warehouse plant and navigation through storage areas

easily.

FRS F7: This step follows the enhanced of FRS F5 implementing the navigation functionality

among different storage locations of each storage area of warehouse plant including

navigation between different level & aisle of the same storage area.

FRS F8: When user selects a storage location to see inside, they will able to see the list of

Trading Unit or Load Carrier of that location in a grid view and able to backward for another

location. The current status of the TU/LC have to be shown with the list to understand what is

the available operation could be possible using it.

4.2.4 Transportation in Warehouse Plant

It is necessary to allow the transportation movements management (relocations,

transportations) using the new visual application here. User will able to TO creation,

execution automatically or manually from the list of LC/TU of the storage location instead of

putting manual entry or using barcode scanner to set LC/ TU identification to start creation or

execution TO. The functional requirement is basically the integration among transportation

function and visual representation. The process will be start from the warehouse visual

representation, navigation among different intermediate levels (storage areas and location),

and finish with creation or execution of TO. The following Table 4.4 will show the main

functional steps of implementing navigation where F1, F2, F6-8 are the reference functional

number for implementing this step.

Page 47: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

44

Table 6: Functional description of transportation in warehouse plant

FRS

No.

Description of Requirement Reference to Function

or Activity (ID)

F9 The steps of enabling Warehouse Transporting Function (Creation,

Execution) from each Storage Location

F1, F2, F6-8

FRS F9: When the user select an operation (create or execute) from the list of Trading Unit

/Load Carrier of a Storage Location, this step will start to perform transportation from

graphical representation. Here system will take the Trading Unit /Load Carrier number

automatically and will perform transportation according to FRS F1 & FRS F2. The sub steps

of transportation will be similar to the previous implementation.

4.2.5 Batch Review Tree

Batch Review is to be performing in a bottom-up direction which is another part of EBR

(Electronic Batch Processing) to get shop order details and there is no relation with the

transportation. It is another vast part of PMX system related to shop order.

Page 48: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

45

Figure 4.7: Conceptual sketch of tree representation of batch review process of shop order.

Table 7: Functional description of transportation in warehouse plant

FRS

No.

Description of Requirement Reference to Function

or Activity (ID)

F10 The steps of creating a Batch Review Tree for list of shop order

where user can navigate among the nodes of Figure 4.7

F11 The steps of enabling navigational system among Tree leaf where user can get the details part each leaf of Figure 4.7

FRS F10: When user expands the nodes of the batch review tree the buttons to the right of the

tree nodes will indicate which functions are available for the individual items of the tree such

as order details, order steps, event logs in the first level. Order steps will be expanding more

in the 2nd level and so on like Figure 4.7 tree.

Procedure step

Check List

Material log

Procedure Work center

Instance Instance

Event Log

Order details Order steps

Batch Review

Instance Instance

Page 49: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

46

FRS F11: The tree has to be shown as pop-up and the content of the leaf has to be shown in

the parent frame according to user interactions. The content will be refreshed by new one each

time in the parent frame during the interaction request with the leaf of the tree. There has be a

functionality to hiding and showing popup in the front by user interaction and also retrieve

popup mechanism if the popup tree is close accidentally by user during interaction and

checking duplicate popup mechanism as well when switch one batch review to another

without closing the previous one.

Page 50: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

47

4.3 Use cases

4.3.1 Transportation

Table 8: Textual Description of Use case 'Transportation'

Name Transportation of the EBR system

Purpose To show how EBR Client (User) will perform transportation using PALETTI server and EBR server from the top level view.

Primary Actor EBR Client, PALETTI server and EBR server.

Pre-Condition PALETTI server is stopped. EBR server is running.

Post-Condition PALETTI server is running

Main Success Scenario

1. The client start PALETTI server. 2. Start Transport Order (TO) creation 3. Set LC/TU number and TO type to start Creation or execution TO. 4. Perform checking validation of LC/TU number by PALETTI server. 5. Perform Creation or execution by setting target storage location (SL) &

storage area (SA 6. Finish creation or execution of TO 7. View created or executed TO.

Alternatives *.A.1 The client can cancel TO whenever he wants. 3.A.1 LC/TU number can comes from another device (bar code reader) 5.A.1 Creation Automatically 5.A.2 Creation Manually

Exceptions *.A.1 The system alerts the user if there are technical problems or system failure. 4. A.1 The system alerts the user if LC/TU number is wrong. 5. A.1 The system alerts the user if target SA/SL number is wrong.

Page 51: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

48

Transportation

TO Creation

TO Execution

View Transport

Order

EBR ClientPALETTI Server

EBR Server

Run Server

Automatically

Manually

«uses»

«uses»

Figure 4.8: Use case diagram of transportation of EBR system.

4.3.2 Warehouse Plant Navigation

Table 9: Textual Description of Use case 'Warehouse Plant Navigation'

Name Navigational system in warehouse plant

Purpose To show how EBR Client (User) will perform navigation from warehouse plant to

each storage location.

Primary Actor EBR Client, EBR server

Pre-Condition EBR server is running

Post-Condition Generated Warehouse Plant (WP) graphically

Page 52: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

49

Main Success

Scenario

1. To view the storage areas of the WP

2. Navigate to Storage Location of each storage area

3. The list of LC/TU is shown for each storage location

Alternatives *.A.1 The client can go backward from any step.

2.A.1 To view the storage location of another level

Exceptions *.A.1 The system alerts the user if there are technical problems or system failure.

2.A.1 The system alerts if no storage location is available for the storage area

Warehouse Plant

View Storage Area

View Storage

Location

View List of LC/TU

EBR Client

EBR Server

Generate W. Plant

Figure 4.8: Use case diagram of warehouse plant navigation.

Page 53: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

50

4.3.3 Transportation from Graphical Representation

Table 10: Textual Description of Use case 'Transportation form graphical representation'

Name Transportation from graphical representation

Purpose To show how EBR Client (User) will perform transportation from the storage location of a warehouse plant.

Primary Actor EBR Client, PALETTI server and EBR server.

Pre-Condition PALETTI server is stopped. EBR server is running.

Post-Condition PALETTI server is running Generated Warehouse Plant (WP) graphically

Main Success Scenario

1. To view the storage areas of the WP 2. Navigate to Storage Location of each storage area 3. The list of LC/TU is shown for each storage location 4. Perform checking validation of LC/TU number by PALETTI server. 5. Perform Creation or execution by setting target storage location (SL) &

storage area (SA) 6. Finish creation or execution of TO 7. View created or executed TO.

Alternatives *.A.1 The client can go backward from any step.

2.A.1 To view the storage location of another level 5.A.1 Creation Automatically 5.A.2 Creation Manually

Exceptions *.A.1 The system alerts the user if there are technical problems or system failure. 2.A.1 The system alerts if no storage location is available for the storage area 5. A.1 The system alerts the user if target SA/SL number is wrong.

Page 54: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

51

Warehouse Plant

View Storage Area

View StorageLocation

View List of LC/TU

EBR Client

EBR Server

Generate W. Plant

TO Creation

TO Execution

PALETTI Server

Run Server

Figure 4.8: Use case diagram of transportation from graphical representation.

Page 55: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

52

5 Design

5.1 Data Structure Model (ERD)

5.1.1 ERD Diagram

PALSarea

PK ID

IDENTIFIER

NAME

FK1 PALWAREHOUSE

FK3 STATUS

FK2 STORAGE _TYPE

REMARK

...

PALSloc

PK ID

AISLE

BAY

DIRECTION

HEIGHT_LEVEL

IDENTIFIER

NAME

FK2 PALSAREA

FK1 PALSLOCTYPE

REMARKS

...

...

PLASLocType

PK ID

NAME

...

...

PALWarehouse

PK ID

IDENTIFIER

NAME

REMARK

FK1 SITE

FK2 TYPE

...

PALWarehouse _Site

PK ID

NAME

...

...

PALWarehouse _Type

PK ID

NAME

...

...

PALTransportOrder

PK ID

IDENTIFIER

LOADCARRIER

NUMBEROFSTEPS

PALROUTE

FK3 PALSAREA _DEST

FK4 PALSAREA _SOURCE

FK1 PALSLOC _DEST

FK2 PALSLOC _SOURCE

PRIORITY

SLOCSELTYPE

...

...

PALTransOrderStep

PK ID

IDENTIFIER

LOADCARRIER

NUMBEROFSTEPS

FK4 PALSAREA _DEST

FK3 PALSAREA _SOURCE

FK1 PALSLOC _DEST

FK2 PALSLOC _SOURCE

PALSUBROUTE

FK5 PALTRANSPORTORDER

PRIORITY

STARTTIME

FINISHTIME

STATUS

STEP

...

PALSarea _Status

PK ID

NAME

...

...

PALSareaStorage _Type

PK ID

NAME

...

...

Figure 5.1: A partial Database structure model of EBR PMX MES

Page 56: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

53

5.1.2 Description of the Tables

I started to design after completing the requirement analysis phase according to the

development strategy and first task was to design database structure. Since it is not possible to

show the whole system database in a page section 5.1.1 shows only the partial structure of the

EBR PMX MES system database. The following key tables are necessary for implementation:

PALWarehouse

o Contains warehouse name, identifier, site, type and other related attributes

information.

o Attributes site & type contains foreign key as reference of

PALWarehouse_Site & PALWarehouse_Type primary key.

PALSarea

o Contains Storage Area name, identifier, status, storage type,

WAREHOUSE and other related attributes information.

o Attributes PALWAREHOUSE, status & type contains foreign key as

reference of PALWarehouse, PALSarea_Status & PALSareaStorage_Type

primary key

PALSloc

o Contains Storage Loc name, identifier, status, storage type & area, aisle,

bay, direction, level and other related attributes information.

o Attributes type &PALSAREA contains foreign key as reference of

PALSloc_Type & PALSarea primary key

PALSTransportOrder

o Contains order information such as Load Carrier, Source & Target location

and area as well as other related attributes information.

PALSTransportOrderStep

o Contains sub-order information such as Load Carrier, Source & Target

location and area as well as other related attributes information

o It refers the Primary key of PALSTransportOrder as foreign key.

Page 57: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

54

5.2 Class Diagram Construction

5.2.1 Class Diagram

+ getStorageLocation () : PALSloc

+ getId() : long

+ getName() : string

-id : object

-identifier : string

-name : string

-palWarehouse : PALWarehouse

-status : long

-storage _Type : long

-remark : string

PALSarea

+getId ()

+getName()

+getAttribute () : object

-id : long

-identifier : string

-aisle : int

-bay : int

-direction : int

-hight_Level : int

-name : string

-palsArea : PALSarea

-palsLocType : int

-remarks : string

PALSloc

+getTransportOrderbyId () : PALTransportOrder

+creationTOmanually ()

+creationTOAutomatically ()

+executeTO ()

+viewTransportOrder ()

-id

-identifier

-loadcarrier

-numberofsteps

-palRoute

-palsArea _Dest : PALSarea

-palsArea _Source : PALSarea

-palsLoc _Dest : PALSloc

-palsLoc _Source : PALSloc

-priority : int

PALTransportOrder

+getId ()

+getName ()

-id : long

-name : string

PALSareaStorage _Type

1..* 1

1

1..*

1..*

1

1..*

1

+getLCID() : LoadCarrier

+getLoadCarriers()

-id : long

-name : double

-identifier : double

-status : int

-type : long

-palsLoc : PALSloc

LoadCarrier

+generateStorageArea ()

+getStorageArea () : PALSarea

-id : long

-warehouseId : long

-

View _Warehouse _Plant

+changeStatus () : bool

-statusID : long

-name : string

LC_Status

1 1

11..*

11

+getId ()

+getName ()

-id : long

-name : string

PALSarea _Status

+getId ()

+getName ()

-id : long

-name : string

PALWarehouse _Type

+getId ()

+getName()

-id : long

-name : string

PALWarehouse _Site

+getId ()

+getName()

+getStorageArea () : PALSarea

-id : long

-name : string

-identifier : string

-remark : string

-site : int

-type : int

PALWarehouse

1

0..*

0..* 1

1

0..*

+ getId()

+ getName()

-id : long

-name : string

PALSloc _Type

+getTOStepbyId () : PALTransportOrderStep

+checkPALSArea () : bool

+checkPALSloc () : bool

-id

-identifier

-loadcarrier

-numberofsteps

-palRoute

-palsArea _Dest : PALSarea

-palsArea _Source : PALSarea

-palsLoc _Dest : PALSloc

-palsLoc _Source : PALSloc

-priority : int

-palsSubRoute : long

-palTransportOrder : long

-startTime : object

-finishTime : object

-status : int

-step : int

PALTransportOrderStep

1

1..*

+generateStorageLoc ()

+getLocation () : PALSloc

-id : long

-storageAreaId : string

View _Storage _Area

1

1..*

Figure 5.2: A partial Class diagram of EBR PMX MES

Page 58: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

55

5.2.2 Description of Key Classes of the System

The class diagram are composed of several classes and there relationship between these

classes. Using the above class diagram we represent the vocabulary of partial EBR PMX MES

system. It is built and refined when system is developed. Each class description consists of a

class name, state variables, reference variables and methods. We make a clear distinction

between variables containing the state of an object and variables that express which other

objects a given object knows. A class description defines the types of each variable as well as

a signature for each method.

The objectives of class diagram are:

Names and models concepts existing in the system.

Specifies collaboration paths.

Specifies the basic logical schema.

Table 11: Textual description of Key Classes

Class Name Description

PALWarehouse This class represents a Warehouse structure which contains all the relative data and methods to manage of a warehouse or a collection of warehouse data. It is a primary class for transportation which is interrelated to the different classes i,e PALSarea, View_Warehouse_Plant, PALWarehouse_Site, PALWarehouse_Type and so on. Relationship: The degree of relationship among PALWarehouse class and PALSarea, View_Warehouse_Plant classes are One To Many, One To One respectively.

PALSarea This class represents a Warehouse Storage Area structure which contains all the relative data and methods to manage of a warehouse Storage Area or a collection of warehouse storage areas data. It is an important class for transportation as well as visualization area which is associated with the different classes i,e PALSLoc, PALSWarehouse, PALSarea_Status, and PALSareaStorage_Type. Relationship: The degree of relationship among PALSarea class and PALWarehouse, PALSloc classes are Many To One, One To Many respectively. There is also a dependency relationship with the View_Warehouse_Plant.

Page 59: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

56

PALSloc This class represents a Storage Location of Warehouse which contains all the relative data and methods to manage of a Storage Location or a collection of Storage Location of a warehouse data. It is a class to represent actual position of Trading Unit or Load Carrier using Level, Bay, Aisle, and Direction. It is associated with the different classes i,e PALSarea, LoadCarrier, PALSloc_Type and so on. Relationship: The degree of relationship among PALSloc class and PALSarea, LoadCarrier classes are Many To One, One To One respectively. There is also a dependency relationship with the View_Storage_Area.

PALTransportOrder This class represents a Transport Order which contains all order creation or execution related data and methods to manage of a transport order or a collection of transport order data. It is a most important class for transportation which is dependent with the Warehouse related classes i,e PALSLoc, PALSarea, LoadCarrier, and associate with PALTransportOrderStep . Relationship: The degree of relationship among PALTransportOrder class and PALTransportOrderStep is One To Many. There are also dependency relationships among PALTransportOrder, PALSarea, and PALSloc classes.

PALTransportOrderStep This class represents sub-steps of Transport Order which contains all sub-routes of order creation or execution related data and methods to manage of a transport order or a collection of transport order data. It is a important class for transportation which is dependent with the Warehouse related classes i,e PALSLoc, PALSarea, LoadCarrier, and associate with PALTransportOrder. Relationship: The degree of relationship among PALTransportOrderStep class and PALTransportOrder is Many To One. There are also dependency relationships among PALTransportOrder, PALSarea, and PALSloc classes.

LoadCarrier This class represents a Load Carrier / Trading Unit which contains related data and methods to manage of a Load Carrier / Trading Unit or a collection of Load Carrier / Trading Unit data. It is one of the most important class for transportation where other classes are dependent with the Warehouse related classes i,e PALSLoc, PALSarea and associate with LC_Status and PALSloc . Relationship: The degree of relationship among LoadCarrier class and PALSLoc, LC_Status classes are One To One, Many To One respectively.

Page 60: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

57

View_Warehouse_Plant This class used to visualize warehouse which contains all the relative data and methods to visualization of a warehouse. It is a class for graphical representation of storage areas Where PALSarea is depending class and View_Storage_Area is associated class. Relationship: The degree of relationship between View_Warehouse_Plant and View_Storage_Area classes are One To Many.

View_Storage_Area This class used to visualize warehouse Storage Area which contains all the relative data and methods to visualization of a Storage Area. It is a class for graphical representation of storage locations Where PALSloc is depending class and View_Warehouse_Plant is associated class. Relationship: The degree of relationship between View_Warehouse_Plant and View_Storage_Area classes are Many To One.

Page 61: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

58

5.3 Activity Diagram Construction

5.3.1 Activity Diagram of Transportation (Top Level)

Transportation

Access Transportation module

Transport Creation

Transport Execution

Complete Transaction

Login authenticate user

View Transport Order

View Warehouse plant

Runing EBR server

Starting EBR client

[Go Back ]

[Exit ]

Figure 5.3: Activity diagram of Transportation of EBR PMX MES

Page 62: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

59

5.3.2 Description

In Electronic Batch Recording (EBR) system, the activity diagram of Transportation is shown

in the above figure where diagram are composed of several activities, sub-activities and there

relationship between these activities. The activities are described in the following:

Table 12: Textual description of Activities

Activity Name Activity Description

Running EBR server It is the first activity to work with EBR System which initialized the set-up environment variable for the system.

Starting EBR client The activity is to run the EBR application in a browser according to configuration startEBR.bat

Login authenticate user

It is user authentication to make any operation in the EBR module.

Access Transportation module

The activity is simple to go in to Transportation module to transport order creation, execution, view or warehouse plant generation.

Transport creation This is a composition sub-activity of transportation where several sub-activities are presents for transport creation. The Figure 5.4 is showing the decomposition this sub-activity of transportation.

Transport execution This is another composition sub-activity of transportation where several sub-activities are presents for transport execution. The Figure 5.5 is showing the decomposition this sub-activity of transportation.

View Transport order

This is presents for viewing transport order of creation or execution as well as search transport order.

View warehouse plant

This is a composition sub-activity of visualization warehouse plant where several sub-activities are presents for visualization. The Figure 5.6 is showing the decomposition this sub-activity of visualization warehouse.

Complete Transaction

This is the end state of any transaction of the transportation module.

Page 63: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

60

5.3.3 Decomposed Activity Diagrams

SystemClient

Select Transport Creation

Opening new thread of Creation

Get exception msg

Checking LC identifier and status

Set Target Area

Checking Target area or location

Set Target Area & Location

Runing PALLETI server

Set source LC

Get exception msg

Set TO creation type

[Manually ]

[Automatic ]

Complete Order

Figure 5.4: Sub-Activity diagram of Transport creation of EBR PMX MES

Page 64: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

61

Client System

Select Transport Execution

Opening thread of TO execution

Get exception msg

Start Transport order execution

Set Target Location by system

Next to finish order

Set Target Location

Run PALLETI server

Set source Load Carrier for execution

Get exception msg

[Manually]

[Automatic ]

finish Order

Request for execution

Change System Target Loc

Figure 5.5: Sub-Activity diagram of Transport execution of EBR PMX MES

Page 65: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

62

Customer System

Getting warehouse configuration

generate List od LC /TU of SL

Request for view warehouse plant

Retrieve storage areas from DB

Generate Storage Area

View storage areas of WP

[No Storage area ]

Request for Storage Loc Generate Storage Loc of SA

View storage loc of SA

view LC /TU

TO creation or execution

Figure 5.6: Sub-Activity diagram of view warehouse plant of EBR PMX MES

Page 66: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

63

5.4 Sequence Diagram Construction

5.4.1 Sequence Diagram of Transport Order Creation (manual type)

pt:PALTransportOrder pts:PALTransportOrderStep pa:PALSArea pl:PALSloc

createTOmanually(pt)

checkPALSArea()

calculate_Route

LC

checkPALSloc()

Location exist

<<destroy>>

lc:LoadCarrier

getLoadCarrier()

Area Exist

TO created

Fig

ure 5.7: Sequence diagram of Transport order creation (manual type)

PALTransportOrder class create an object to call createTOmanually() method by accessing

PALTransportOrdeStep Class. PALTransportOrdeStep object call getLoadCarrier for creating

transport order and check Storage by calling checkPALSArea(). PALSArea object returns

after checking that is exist or not. Pts: PALTransportOrdeStep object calculate the route for

transportation and check for Storage Location by checkPALSloc() whether the location is

exist and available for load carrier. PALTransportOrder destroy PALTransportOrdeStep

object after TO creation.

Page 67: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

64

5.4.2 Sequence Diagram of Transport Order Creation (automatic type)

pt:PALTransportOrder pts:PALTransportOrderStep pa:PALSArea pl:PALSloc

createTOautomatically(pt)

checkPALSArea()

calculate_Route

LC

getAutomatedPALSloc()

system sends Location

<<destroy>>

lc:LoadCarrier

getLoadCarrier()

Area Exist

TO created

Fig

ure 5.8: Sequence diagram of Transport order creation (automatic type)

PALTransportOrder class create an object to call createTOautomatically() method by

accessing PALTransportOrdeStep Class. PALTransportOrdeStep object call getLoadCarrier

for creating transport order and check Storage by calling checkPALSArea(). PALSArea

object returns after checking that is exist or not. Pts: PALTransportOrdeStep object calculate

the route for transportation and ask for suitable Storage Location by getAutomatedPALSloc()

whether the location is defined by the system for particular type of load carrier.

PALTransportOrder destroy PALTransportOrdeStep object after TO creation.

Page 68: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

65

5.5 Deployment Diagram Construction

5.5.1 Deployment Diagram

Database Server

Server

Web service 1 (ERP Interface )

Web Service 2 (Credit Card Validation )

Application Server

Business Logic

Web Server (Apache)

EBR PMX MES 4.2

RDBMS (Oracle 10g)

<<SOAP >>

EDB PMX MES

Thin Client

EBR Client (GUI )

FAT Client

WMS(GUI)

<<LAN>>

<<Internet>>

<<LAN >>

Data Access Layer

1

0..*

1

1 .. *

1 .. *

1

Figure 5.9: Deployment diagram of overall PMX MES solutions

Page 69: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

66

5.5.2 Description

The Deployment Diagram (Figure 5.9) shows the overall setup of the PMX MES System

applications. The operators of the life science industry use the WMS or other desktop module

over the LAN (Local Area Network). They are treated as the FAT Client in the architecture.

The operator or the users of the system access the EBR PMX MES through web server from

the outside of LAN or inside as well. They are treated as the Thin Client in the architecture.

Web server has the web service for the Thin Client. Application Server (e.g. PALLETI server)

serves the clients with business logics and DB Server with Data. Web services are used ERP

interface and Credit Card validation. Database Server stores the data and serves Web Server

and Application Server with necessary Data.

Page 70: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

67

6 Implementation

This section represents the implementation choice of particular requirement in terms of used

programming languages, development tools, frameworks, class libraries as well as solving

techniques. It also describes development strategy and some particular algorithms of

implementation as well.

The programming languages C++, Python, Spyce are mostly used to develop Transportation

section in EBR module as well as JavaScript is used as client side script. An existing

architecture has been followed to make new module and old presentation framework has been

integrated for new Spyce technology as well.

6.1 Development Strategy

It has been decided to use Spiral model as development lifecycle of my project because of

iterative way and extreme programming as development methodology due to pair

programming. Here are the following details of project lifecycle and methodology:

6.1.1 Spiral Model

The main idea of this model is to organize phases in an iterative way using a cycle. The

project has five iterative phases for the deliverable product. Those are:

Iterative 1: Implementing transportation module into EBR system

Iterative 2: Implementing visual interface of warehouse plant and navigation through

intermediate steps

Iterative 3: Implementing transportation function from storage location of of

warehouse plant

Iterative 4: Implementing presentation framework for spyce module

Iterative 5: Implementing Batch Review Tree in EBR system

Page 71: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

68

Figure 6.1: A sketch of development life cycle of Spiral Model

If Iterative 1 is successfully implemented and tested then the Iterative 2 will be go on and

Iterative 2 will be develop depending on iterative 2. That’s why this model is perfect for my

project for constructing development cycle. Each of the Iterative phases will have sub-

Iterative for the prototype version of each.

At first, the goal of my project is to implement Iterative 1 prototype and testing my QA team.

After that it will send to the customer end for verification requirement and end-user testing.

We will go for final product for according to the customer suggestions in an iterative way.

Then we will go for Iterative 2 prototype after completing the Iterative 1 finished product and

go on.

6.1.2 Extreme Programming

XP Programming methodology has been adopted as an agile programming practice. I have

been decided to take this methodology for the advantages of pair programming. The core of

XP is pair programming. Meaning, two programmers work together and share a computer.

This is like two brains working on one computer. This always poses questions on productivity

compared to two programmers working independently on separate computer. Programming

always involves writing code, checking for quality, code refactoring and meeting standards.

Since the development language (Spyce and Python) is new for the developer, it is most

necessary to use it for avoiding complexity of task.

Page 72: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

69

XP enables all of the above to be executed in a much efficient way in a shorter time compared

to the traditional methodology. The team size also attributes to the success of XP

methodology. Team size of 4 to 12 has reported greater success compared to larger teams.

Since our team size is 4, so there is no barrier to use this methodology. In summary, when

the requirements are dynamic and there is an increased risk of meeting deadlines, XP practice

proves to be the methodology to adopt. Also, XP does not mandate a Strict Process to follow.

It creates a very flexible, and fun to work environment, which results in increased

productivity and quality output.

6.2 EBR Transportation

Transportation is already implemented in the Desktop application of other Warehouse

Management Solution (WMS) where the requirement is to implement it in to EBR to access

from outside of the local network. The creation and execution of transport order together is

called transportation where searching or viewing transportation is an additional requirement. I

started to work with database after designing though the tables were already there. I review

database from Oracle 10g server and make a new developing instance of that as well as

modified necessary changes according to design.

Here, one of the critical aspects was to unchanged database table as much possible as well as

adding new attributes instead of introducing new table according to company instructions.

The tool Keep Tool 6 & Benthic Software have been used as database designing tool for

running script or query and modifying table, relationship on Oracle 10g Server as well. The

partial database diagram is shown in Figure 5.1 which is mostly used for implementing

transportation as well as some other reference table is used also.

Data access layer is same compare to desktop application because of same functionality which

is developed by C++ but there was some modification for changing in the database. I have

Page 73: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

70

been used Visual Studio 6.0 as integrated development environment for editing, debugging &

compiling as well.

Business Layer and Server-Side code has been developed by Python where several Python

library has been used commonly for all workflows such as pddbaccess. The following section

will describe more about used libraries of each part. Finally the front-end has been developed

by Spyce.

The first task was to create a new folder (path:\ebr\ebrroot\workflow\[new folder]) for

creation new workflow including a __init__.py initialized and configuration file according to

framework convention. There are also 4 folders have to be created for action, CVS, forms and

templates to keep action files, CVS repository configuration, necessary forms, and Spyce

templates (e.g. createTO1Mask.spy)

It is necessary to set workflow of each process in the root folder of process according to the

architecture as well as configure the configuration file web-config.xml in the same location

for <action-mappings> …</action-mappings>. The presentation framework section will

explain more about implementation of configuration. Here is the example of setting workflow

where workflow is set for initialize folder.

from pmx.ebrroot.workflow.esignworkflowbaseext import ESignWorkflowBaseExt

from pmx.ebrroot import workflow

class Workflow(ESignWorkflowBaseExt):

""" Class to initialize the paletti workflow"""

def __init__( self, session, name ):

ESignWorkflowBaseExt.__init__(self, session, name, __path__[0])

self.current_state = None

# Last called action, needed for going back in SOP state

self.last_action = 'selectShopOrder'

self.initializeWfl = self.session.getWorkflow("initialize")

Page 74: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

71

MED – Text Editor V3.02 has been used as a development environment to edit any Python

and Spyce Script of implementing Transportation as well as JavaScript has been used in the

Spyce file as client-side interaction.

6.2.1 Transport Order Creation

The implementation of transport order creation has been started by making workflow folders

and necessary configuration in the configuration file. For example, I developed an action class

called CreateTO1Action.py using following libraries. [Libraries]

from pmx.ebrroot.workflow.workflowbase import Action

import pddbaccess

import pmx.ebrconst

import pmx.ebrconst_wes

import pdvalue

import customer.checkBarcodes

There are three possibilities of creation has been considered during implementation according

to the requirements. Those are in the following:

Table 13: Type of Transport Creation

Type Definitions

At execution manually

After you started the sub-transport order the system forces the operator to enter the target storage location.

At creation manually

If you create a transport order you are forced by the system to enter the target storage location.

At creation automatically

If you create a transport order PALETTI will take care for an appropriate target storage location according to storage location constraints and further possible optimization algorithm.

I have been implemented this options in the business logic layer and added options in the

Spyce createTO1Mask.spy file where user will give the LC number and choose creation type.

The following sample code will take the user options and send to the action class to validated

and execute. [[.import names="pdsession"]]

[[.taglib name=pdTaglib as=pd]]

[[\

Page 75: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

72

s = pdsession

form = pdsession.form()

]]

<form name="createTO1Form" method="post"

action="[[=s.action('createTO1')]]">

. . . //Script code

</form>

Here is the example of partial Action class code of implementation in abstract view.

class CreateTO1Action(Action):

def __call__(self, form, req, res):

fc = self.namespace.functionContext

# perform initialize functions code

# Save value of scanned TU/LC and TO creation type in context

# Check if scanned object is LC or TU

return self.workflow.forward("next")

else:

return self.workflow.forward("self")

# open Paletti client/session

try:

self.workflow.openPalClient()

except Exception, ex:

# When LC control function switch to this action

# forward

return self.workflow.forward("self")

There are several file has been implemented for different type action of creation and steps. All

of them are implemented like the above sample codes. The source is executed according to

the following diagram logic (implemented in the business layer) when user perform request

for new transport order. PALLETI server calculates the intermediate route for target location.

In figure 6.2 source LOC is A and Target LOC is B where three intermediate LOC is

calculated as route to move from A to B but it could be direct transport from A to B

depending on type of location and transfer path.

Page 76: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

73

Figure 6.2: Graphical representation of creation Transport Order (TO)

6.2.2 Transport Order Execution

The implementation of transport order execution has been started while creation is ready for

transaction using the same technique, libraries, framework, languages, tools and others except

business logic. There are two implicit possibilities of execution has been considered during

implementation according to the requirements but user can not choose it from the front-end. It

is only depend of the status of order. Those are in the following:

Table 14: Type of Load carrier status

Type Definitions

Moving If the transport order status is ‘created’ then it is ready to execute for moving LC/TU

Finish If the transport order status is already ‘moving’ then it is ready to execute for finishing transport order

I have been implemented this options in the business logic layer and added options in the

Spyce executeTO1Mask.spy & executeTO2Mask.spy files where user will give the LC number

only. The corresponding action classes ExecuteTO1Action.py & ExecuteTO2Action.py is also

Location Location AA

Location Location BB

Location Location C1C1

Location Location C2C2

Location Location C3C3

TO from Loc. A to Loc. B

Route: A C1 C2 C3 B

Sub-TO A C1

Sub-TO C1 C2 Sub-TO

C2 C3

Sub-TO C3 B

Page 77: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

74

implemented like creation with different logic. The following figure 6.3 shows how TU/LC

physically execute during moving status of transport order and executing become finish when

is totally moved in to target LOC.

Figure 6.3: Graphical representation of execution Transport Order (TO)

6.2.3 Transport Order View & Searching

The implementation of transport order view & searching has been implemented using existing

processing workflow folders and same presentation framework. For example, I developed an

action class called transportOrderAction.py using following libraries where

selectionHelper helper class has been used additionally for searching. [Libraries]

import pddbaccess

from pmx.ebrroot.workflow.workflowbase import Action

import selectionHelper

import pmx.ebrconst

The transportOrder.spy has been developed for interface where the following taglib and user

control (grid) is used as example. Figure 6.5 shows the 3 selection criteria for searching

AGV System

Warehouse: south

LOC 1 area: line storage

Warehouse: south

DIS 2 area: dipensing

Source Destination

Intermediate destination

Page 78: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

75

including logical condition for each and results is reflected in a grid view. pd:gridLayout &

pd:gridControl have been used for generating search options and grid where pd is pdTaglib. [[.import name=pdsession]]

[[.taglib name=core as=spy]]

[[.taglib name=pdTaglib as=pd]]

[[submitAction = pdsession.action('transportOrder')]]

<spy:let var="form" val="=pdsession.form()">

<pd:page>

[[-- -------------------Selection criteria ---------------- --]]

<pd:gridLayout debug="false">

<pd:layoutItem y="1" x="1"></pd:layoutItem>

// more layout added

</pd:gridLayout>

<form style="display:inline" method="post" action="[[=submitAction]]">

<fieldset>

[[.include file="select_results.spi"]]

[[-- --------------------------Grid ------------------------------ --]]

<pd:gridControl

// set properties

/>

</fieldset>

</form>

</pd:page>

</spy:let>

Figure 6.4: View & searching example of Transport Order (TO)

Page 79: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

76

6.3 Warehouse Plant Algorithm

The aim of warehouse plant algorithm is to visualization of warehouse plant which is one of

the major requirements in this project. I started to design a generalized warehouse algorithm

to implement this requirement and also for my thesis as well. Then I implement visualization

a warehouse plant in the EBR web application on basis of algorithm part by part and develop

a navigational system from warehouse plant to load carrier or trading unit. The following sub-

sections will describe the implementation technique each of them separately.

6.3.1 Design WarehouseModeling Algorithm

Developing a correct algorithm can be a significant intellectual challenge. So, First I develop

a small algorithm for basic warehouse point of view which has some Storage Area only. This

algorithm will able to design warehouse plant with Storage Areas from 0 to n where set of SA

identifier stored in the DB Table referring a warehouse identifier.

Input Warehouse

Count <

StorageArea

Read Storage Areas

of Warehouse

Call StorageArea

Generator

FLOWCHART

Go to next line

Count ++

NO

Window Width

< MAXLIMITNO

YES

YES

Pseudo -Code

#define MAXLIMIT n

FUNCTION warehouseModeling(whouseID: warehouse,

saData: set of SA )

# To count the number of storage area

Initialize numberOfElement by 0

# Each row will generate one storage area in the

warehouse

# and will show the graphical interface of

storage location inside

FOR each element of all storage area(saData):

IF (numberOfElement MOD MAXLIMIT <> 0) THEN

Call storageAreaGenerator(each element)

ELSE

Go for next section and call again

ENDIF

INCREMENT numberOfElement

ENDFOR

END FUNCTION

Page 80: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

77

Figure 6.5: Flow chart and Pseudo-code of generating storage area of a warehouse plant

The above Figure 6.5 shows the flowchart and pseudo-code of the design Storage Area part

and the below Figure 6.5 shows the flowchart and pseudo-code of the design Storage

Location part for each Storage Area and it is the complex one which has some common

attributes Level, Aisle, Bay like others warehouse plant.

In Figure 6.5, warehousModeling(…,…) takes warehouse name or identifier and set of

storage areas in matrix format like array of array from programming point of view. Then

Function will generate storage area one by one as separate block and call Figure6.5 for each

storage area to generate storage location.

In Figure 6.6, StorageAreaGenerator(…,…,…,…,…) takes each storage area name or

identifier and set of storage areas in matrix format like array of structure from programming

point of view and attributes of each storage location as well. Then Function will generate

storage location one by one as separate block and positioning correctly placing common

attributes Level, Aisle, Bay. The following function has been developed to check common

attributes of storage location to place the storage location correctly in the graphical view as

well as to find empty locations of storage areas.

# to check the matrix location which is exist or not in the recordset FUNCTION checkLocation(data, asile, bay, direction, level) j = 0 FOR each elem on the data INCREMENT j by 1 IF (elem[2] == asile and elem[3] == bay and elem[4] == direction and elem[5] == level) THEN return j ENFIF RETURN NULL END FUNCTION

Page 81: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

78

Read Storage Area Data

Initialization of MAX limit of Level, Aisle, Bay

MAX Level > 0 && Aisle > 0

NO

Set current Level

Generate paging Index using MAX Aisle

Aisle < PAGE LIMIT && Aisle < Max Aisle

Generate column label

Bay < MAX Bay

Generate Bay Block

Generate Storage LOC BLOCK

Storage Location = true

Generate empty LOC BLOCK

Bay ++

Aisle ++

YES

NO

YES

NO

YES

YES

NO

Figure 6.6: Flow chart and Pseudo-code ⇓ of generating storage location of a warehouse plant

⇓Pseudo-code of generating storage location of a warehouse plant

Pseudo-Code ====================== storageAreaGenerator =========================== This algorithm is working for any kind of warehouse management system if the warehouse plant has at least aisle, bay and direction for each storage location. It will also work for single level warehouse plant. ======================================================================= #define MAXAILIMIT m ALGORITHM storageAreaGenerator(

storageAR: Storage Area, saData[][][]: Matrix storage location with Level,Aisle,Bay,Direct maxLevel: max Level of the warehouse plant,

maxBay: maximum Bay Length of Row of Storage Location, maxAisle: maximum Aisle of column of Storage Location)

Page 82: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

79

# initialization IF (maxLevel or maxAisle or maxBay is NULL) THEN Initialize by ZERO(0) which is NULL ENDIF # If any storage area available IF (maxLevel > 0 and maxAisle > 0) THEN # Setting Level of the storage area IF Current Level is NONE THEN Initialize by 1 ELSE Initialize by current Level ENDIF # Generate paging between height level WP FOR p = 0 to range(maxLevel): GENERATE STORAGE_AREA_NAVIGATION_LINK for different LEVEL IF (Current Level == p + 1) THEN LEVEL(p+1) is HIGHLIGHTED ELSE LEVEL(p+1) is not HIGHLIGHTED ENDIF ENDFOR # Set start index(view area) of the storage loc IF controlIndex <> 1 THEN index = (controlIndex -1) * MAXAILIMIT + 1 k = (controlIndex -1) * MAXAILIMIT + 1 ELSE Initialize all by 1 ENDIF # Set total # of paging index for the Storage Loc control IF (maxAisle MOD MAXAILIMIT == 0) THEN countIndex = maxAisle / MAXAILIMIT ELSE countIndex = (maxAisle / MAXAILIMIT) + 1 ENDIF #Generate the paging index FOR r = 0 to range(countIndex): GENERATE STORAGE_AREA_NAVIGATION_LINK for AISLE & LEVEL ENDFOR flag = 0 WHILE(k <= range(maxAisle) and k < (index + MAXAILIMIT)) GENERATE Left + AISLE + Right label FOR i = 0 to range(maxBay)) IF (flag == 0) GENERATE BAY ELSE GENERATE SEPERATOR ENDIF #Check S Location for the left & right side of Aisle k #[ k = Aisle, i+1 = Bay, 1 = Left, 2 = Right, l = Level] checkIndexL = checkLocation(saData, k, i + 1, 1, l) IF (checkIndexL <> NULL) THEN GENERATE STORAGE_LOCATION ELSE GENERATE EMPTY LOCATION ENDIF INCREMENT i by 1 # to increase bay

ENDFOR flag = 1 INCREMENT k by 1 # to increase Aisle ENDWHILE ENDIF END ALORITHM

Page 83: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

80

6.3.2 Implement Visualization & Navigation

Once i developed an algorithm, I started to implement with the existing platform since the

visualization will be in the transportation module of EBR application. It is already explained

before that EBR is developed by Spyce + Python. So, implement DHTML in the python script

using the above algorithm on the basis of database record of warehouse table. First I

implement only warehouse areas and then warehouse storage locations for each area as well

as navigation between them. The following figure 6.7 is shown some storage areas of a

warehouse plant.

Figure 6.7: Visual representation of implementation of a warehouse plant

JavaScript, DHTML, CSS has been used to generate interface where Python script generate it

dynamically according to algorithm. Storage area can be shown only 1 level at a time with

limited number of aisle. I also implemented paging between level and aisle so that user can

access frequently among all level or aisle. The following figure 6.8 is shown some storage

locations of a storage area of warehouse plant where all attributes are present such as Bay,

Aisle, and Directions & Level.

Here, the last step is to implement LC/TU of storage location and I implement it using another

python script redirecting in to another Spyce web page.

Page 84: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

81

Figure 6.8: Visual representation of implementation of a single storage area

6.4 Transportation in Warehouse Plant

This issue was come after implementing visualization and navigation while user can see the

list of load carrier or trading unit by accessing each Storage Location. I simple edit the SQL

stored procedure to get the current status of the Load Carrier and depending on status I

established an operation links like creation or execution for each of them as well as keeping

LC identifier. Then Transportation is implemented is this way that operation links will call the

specific Transport workflow for creation or execution.

Here, execution page directly go to the 2nd step of execution because it has already identifier

of LC from the operation link and creation page will take the creation type only.

6.5 Presentation Framework

One of the challenging tasks was to implement a presentation framework with new Spyce

platform using MVC but there was no well defined framework for Spyce + Python application

using MVC like Apache Struts. It becomes possible with the help of old version presentation

framework which is based on Struts principles even though Struts is not directly used because

it is only available for Java 2 EE web application and the presentation framework of existing

platform is programmed in Python & HTML + PDL-SQL.

Page 85: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

82

Figure 6.9: A Sketch of implementation of presentation Framework

New EBR Web application is based in Spyce and Python. So, I used Spyce instead of HTML

+ PD-SQL and integrate the RAStruts framework with the new system. The Presentation

Framework particularly deals with the following tasks:

1. HTTP-Request Handling and Session Management ⇓ as the basis for workflow controlling

2. Workflow processing

3. HTML generation

It is based on the MVC paradigm. So View contains Spyce templates, Model contains business

logic and Controller contains deployment Descriptor & Action class. One of the major

differences with STRURS is here different deployment descriptor web-config.xml for

different workflow of the same application where Struts has only one struts-config.xml.

Here is the example of sample deployment descriptor of TO creation.

V C

HTTP request HTTP response

FRONT CONTROLLER

Deployment Descriptor 1

Deployment Descriptor 2

REQUEST PROCESSOR

1

REQUEST PROCESSOR

2

...

Action A Action B Action C ...

Spyce

(executed on the server

side)

Tag- Librarie

s

M

HTML JavaScript Cookies

CLIENT (Browser)

Business Delegate

System State Business Logic

Page 86: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

83

<form-beans>

<!-- Relocation function forms -->

<form-bean name="createTO1Form" type="ActionForm">

<form-property name="source_LC_TU" type="str"/>

<form-property name="TO_creation_type" type="int"/>

<form-property name="SLID" type="str"

scope="session"/>

</form-bean>

. . .

</form-beans>

<action-mappings>

<!-- Relocation function actions -->

<action path="createTO1" type="CreateTO1Action" name="createTO1Form">

<forward name="self" path="createTO1Mask.spy"/>

<forward name="main" path="showSubMenu_5_transport"

workflow="paletti" redirect="true"/>

<forward name="submain" path="selectLoadCarrier"

workflow="processing" redirect="true"/>

<forward name="next" path="createTO2" redirect="true"/>

</action>

. . .

</action-mappings>

Here is the following steps are needed to implement this framework in to spyce:

1. Create the .spy-files

Typically you need a “startpage.spy” for the user input (also used for displaying

error messages if the user input is invalid) and a “successpage.spy” where the

results will be displayed if processing was successful.

It is necessary to remember in the tag libraries there are already a lot of useful

functions for “building” a view templets.

It is necessary Remember the internationalization of form labels, paragraphs and

error messages. For any output text the message catalogs are to be used and not the

source code files! Use the <pd:i18ntext>-tag in SPYCE and define the message in

pmx/ebr/ebrconst.py

Page 87: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

84

2. Extend the web-config.xml

Insert into the <form-beans> section the <form-bean> element with its <form-

property> elements according to the parameters of the form contained by

“startpage.spy”

Add an <action> element into the <action-mappings> section. Define the different

<forward> elements inside the action element among others by resorting the

created spy-files. By using the <action> element’s attributes specify if a syntactic

validation should be carried out, which form-bean is responsible for a syntactical

validation and finally specify the Action that gains the processing control (type /

path)

3. Create a subclass of ActionForm to implement the form-bean

Make use of the standard validation mechanism. Just override the valid()-method

in your subclass and the framework will automatically validate the input from the

request form using your method!

Creating a new ActionForm subclass is necessary only for new workflow cases, if

special form data should be sated up or a special syntax validation is necessary.

Remember complex validation and semantic validation should be done in the

Action and not in the ActionForm!

4. Create a subclass of Action

The goal of an Action class is to process a request and return an ActionForward

object that identifies where control should be forwarded.

Typically the __call__()-method is used for the semantic validation of the form

bean properties, the validation of the current state of the user session and the actual

processing performance (connecting the business logic).

Page 88: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

85

Figure 6.9: A Sketch-code of how presentation Framework work

6.6 Batch review Tree Implementation

Batch Review has been implemented using advance JavaScript and editing old python script

mostly where Pop-up tree has been generated using some online JavaScript references but not

exactly same as it is. Here is the main difference of implementing batchre view tree.

Tree is implemented depend of the data of ShopOrderDetails

when user click for batch review order.

Each leaves is linked with the parent page middle-right frame

to show the details of leaves of that order

Special checking is implemented before opening a new tree

that any existing window is open of old order or not.

http://.../workflow1.pd?action=viewWC

<form-beans> <form-bean name="ViewWCForm" type="ActionForm"> <form-property name="arbpl.id" type="PDDecimal"/> </form-bean>

<action-mappings> <action path="viewWC" type="viewWCAction" name="ViewWCForm" validate="true" input="start"> <forward name="start" path="startpage.spy"/> <forward name="success" path="successpage.spy"/> </action> </action-mappings>

WORKFLOW 1

viewWCAction

web-config.xml Form Bean

s

Action Mappings

CLIENTCLIENT

startpage.spy

successpage.spy

Page 89: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

86

7 Detailed Project Plan

Planning is one of the most important project management and time management techniques.

It prepares a sequence of action steps to achieve some specific goal. By following a plan, we

can always see how much we have progressed towards our project goal and how far we are

from our destination. Knowing where we are is essential for making good decisions on where

to go or what to do next.

So, this chapter shows the project plan detailed for the first three iterations (Iteration 1, 2 & 3)

of the requirement using initial and intermediate project planning in term of cost estimation

and budgeting as well as resource allocation. Function Point Analysis has been used for

estimation and MS Project 2003 has been used for planning in the following.

7.1 Cost Estimation and Budgeting

7.1.1 Function Point (FP) Analysis

It is necessary to make an estimation using some technique before starting project planning. I

have been used FP analysis to estimate the first three iteration of transportation module in to

EBR web application. It has already been explained about iteration in the section 6.1.1 Spiral

Model of development strategy part. So, there would be 12 web pages in the 1st iteration and

3& 5 web pages in the 2nd & 3rd iteration according to the requirement and estimation is the

following of that.

Assume that our team has four members. And one person is available twenty hours each week

for 16 weeks. And other three are available for 8 hours per week for 16 weeks.

I will use the information provided below to develop an estimate of:

The number or function points associated with our project;

The number of SLOC associated with our project;

The number of hours required for our project, effort;

The Five Components of Function Points are

Data Functions

Page 90: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

87

Internal Logical Files (ILF) & External Interface Files (EIF)

Transactional Functions

External Inputs (EI), External Outputs (EO) & External Inquiries

Data

The following date will be consider to calculating function point

Iterative 1: 12 web pages

Iterative 2: 3 web pages

Iterative 3: 5 web pages

Total people: 3 people, 6 hours/week + 1 people, 20 hours/week

In each of these iterative projects, a consistent set of counting rules was used for estimating

function points. All function point estimates area developed assuming the “simple” level of

complexity. The factor used to convert to adjusted function points has been calibrated from

prior projects: 0.75.

Each new Web page includes 1 Spyce file, 2 image and 3 external links. Each HTML file is

counted as 1 internal logic file (Python script). Each image is counted as 1 internal logic file.

Each Web page is counted as 1 external output. Each external link is counted as 1 external

inquiry.

Assume the project teams will develop a factor of 10 SLOC per adjusted function point. They

have also calibrated a parametric equation for estimation the effort required. This equation is:

E = EAF * A(KSLOC)1.0

E = effort in labor hours

EAF = nominal value (1.0)

A: a constant developed from project data

KSLOC: source lines of code, in thousands

Page 91: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

88

Calculations

Iterative 1 + Iterative 2 + Iterative 3

3 heads * 5 hours/week * 16 weeks + 1 heads * 20 hours/week * 16 weeks = 240 +320 = 560

head-hours available

Adjusted Function Point (AFP) calculation SPYCE * ILF 1 * 7 = 7 Image * ILF 2 * 7 = 14 Py Script * EO 1 * 4 = 4 Link * EI 3 * 3 = 9

Unadjusted Function Points (UAF) = 34

AFP / page = UAF * conversion factor

= 34 * 0 .75

= 25 .5

AFP(Iteration 1) = AFP/page * pages = 25.5 AFP/ page * 12 pages = 306 AFP

AFP(Iteration 2) = AFP/page * pages = 25.5 AFP/ page * 3 pages = 76.5 AFP

AFP(Iteration 3) = AFP/page * pages = 25.5 AFP/ page * 5 pages = 127.5 AFP

_________________________________________________________________________

Total = 509 AFP

SLOC calculation:

SLOC = SLOC/AFP * AFP = 10SLOC/AFP * 509AFP = 5090 SLOC

Effort calculation:

E = A (KSLOC)1.0(EAF)

E = A (KSLOC)1.0(1.0)

E = 3 heads * 5 hours/week * 16 weeks + 1 heads * 20 hours/week * 16 weeks = 240 +320 =

560 head-hours

KSLOC = 20 (12 + 3 + 5) pages * 25.5 AFP/page * 10 SLOC/ AFP = 5100 SLOC = 5.1

KSLOC

560 head-hours = A * 5.1 A = 109.8

Page 92: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

89

For my project the calculation would be:

KSLOC = 5090 SLOC/1000 = 5.09 KSLOC

E = 109.8 * 5.09 = 558.88 head-hours

Time comparison:

Time available – time required = 560 hours – 558.88 hours = 1.12 head-hours reserve

7.2 Initial Project Planning

EBR project has been started from 24th April 2007 and will be end on 26th September 2007

according to baseline planning. Here is the all information in the following:

7.2.1 Resource Available for the Project

Total 4 resources over the entire project.

1 resources are dedicated full time

Figure 7.1: Total resources of ERB

7.2.2 Allocation

Elapsed Time: 67.75 Working days (5 Months)

Total Effort: 477 working units hours

Allocate Estimate:

Figure 7.2: Estimated hour of the task of project

Page 93: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

90

7.3 Description of Project Monitoring and Controlling

7.3.1 1st Internal check: Week 6

I have started my internal check from the 6th week of start date of my project. Because of the

regular schedule of my internship has been started from 28th of May’07. The following figure

is showing the difference before and after monitoring on 5th June.

Figure 7.3: Project plan status according to base plan

The blue mark block is showing the actual duration with the start and end date. So, it is easily

define the difference with the baseline plan.

Figure 7.4: Project Plan status after monitoring on 5th June

Page 94: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

91

Analysis

Date: June 05, 2007

Earn Value Management: it depends on three key data points.

Planed Value (PV) = Budgeted Cost of Work Scheduled (BCWS) = 846.00

Earned Value (EV) = Budgeted Cost of Work Performed (BCWP) = 738.00

Actual Cost (AC) = Actual Cost of Work Performed (ACWP) = 1224.00

Budget at Completion (BAC) = Total PV = 5922.00

Time Performance Analysis:

Schedule variance:

SV = EV – PV = 738 – 846 = -108

Comparison to the schedule:

SV%= SV/PV = -108/846 = -12.8%

So, Project has a delay of 12.8% compared to previous forecasts

Schedule Performance Index:

SPI = EV/ PV = 738/846 = 0.872

So, Project is now 87.2% Efficiency

Time Estimate at Completion:

EACt = (BAC/SPI)/(BAC/m) = (5922/0.872)/( 5922/5) = 5.73

So, if the project continues at these rates, I will need 0.73 more months to complete it.

Cost Performance Analysis:

Cost Variance:

CV = EV – AC = 738 – 1224 = -486

CV% = -486/738 = -65.86%

Project costs are 65.86 more than the value that I have created

Page 95: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

92

Cost Performance Index:

CPI = EV/ AC = 738/1224 = 0.60

Project efficiency is 60%, it means that for every dollar spent only 0.60 $ create value

To-Complete Performance Index:

TCPI = (BAC-EV)/(BAC-AC) = (5922 - 738)/( 5922 - 1224) = 1.10

To reach project objectives, the efficiency that must be achieved is 1.10

Performance Analysis and Forecast:

Project Tracking_5th_June.mpp

$0.00

$500.00

$1,000.00

$1,500.00

$2,000.00

$2,500.00

4/22

/200

7

4/29

/200

7

5/6/

2007

5/13

/200

7

5/20

/200

7

5/27

/200

7

6/3/

2007

6/10

/200

7

6/17

/200

7

6/24

/200

7

7/1/

2007

7/8/

2007

Weeks

Cost

Total ACWP

Total BCWP

Total BCWS

Figure 7.5: Performance Analysis and Forecast on 5th June

Page 96: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

93

Comments: At the end of analysis, I understood that we could not meet the base line plan

because of the complexity of system mainly and also for unknown technology specially

Spyce. The existing system is using own framework without using latest Development

Environment (IDE). If we see the following Tracking Gantt, the problem has been occurred

from task number 13 (Study Existing MES 4.1). Since I did not understand about the

complexity of the system before, I did a wrong plan for the task form number 13. So I have

taken the necessary action for that. Please check the action part.

Tracking Gantt:

Figure 7.6: Tracking Gantt with base line on 5th June

Action

I have just assigned new resources for the pending task to complete as soon as possible and

also added some overtime work for the full-timer developer in this project. The project cost

increased for that but reduced the delay of deadline.

Page 97: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

94

Re-planed

Figure 7.7: Project Plan status after taking action on 5th June

7.3.2 2nd Internal check: Week 8

I have taken my 2nd internal check (after 2 weeks) on the 8th week of start date of my project.

The following figure is showing the status after monitoring on 20th June.

Figure 7.8: Project Plan status after monitoring on 20th June

Analysis

Date: June 20, 2007

Earn Value Management:

Planed Value (PV) = 1086.00 Earned Value (EV) = 1042.80 Actual Cost (AC) =

2101.33

Budget at Completion (BAC) = 5922.00

Time Performance Analysis:

Page 98: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

95

Schedule variance:

SV = EV – PV = 1042.8 – 1086.00 = -43.2

Comparison to the schedule:

SV%= SV/PV = -43.2/1086 = -3.98%

Project has a delay of 3.98% compared to previous forecasts

Schedule Performance Index:

SPI = EV/ PV = 1042/1086 = .9602

So, Project is in 96.02% Efficiency

Time Estimate at Completion:

EACt = (BAC/SPI)/(BAC/m) = (5922/0.96)/( 5922/5) = 5.21

So, if the project continues at these rates, I need 0.21 more months to complete it

Cost Performance Analysis:

Cost Variance:

CV = EV – AC = 1042.8 – 2101.33 = -1058.53

CV% = -1058.53/1042.8 = -102%

Project costs are 102% more than the value that I have created

Cost Performance Index:

CPI = EV/ AC = 1042.8/2101.33 = 0.5

Project efficiency is 50%, it means that for every euro spent only 0.50 $ create value

To-Complete Performance Index:

TCPI = (BAC-EV)/(BAC-AC) = (5922 - 1042.8)/( 5922 - 2101.33) =

1.28

To reach project objectives, the efficiency that must be achieved is 1.28

Page 99: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

96

Performance Analysis and Forecast:

Project Tracking_20th_June.mpp

$0.00

$500.00

$1,000.00

$1,500.00

$2,000.00

$2,500.00

4/29

/200

7

5/6/

2007

5/13

/200

7

5/20

/200

7

5/27

/200

7

6/3/

2007

6/10

/200

7

6/17

/200

7

6/24

/200

7

7/1/

2007

Weeks

Cost

Total ACWP

Total BCWP

Total BCWS

Figure 7.9: Performance Analysis and Forecast on 20th June

Comments: At the end of 2nd analysis, I understood that we could not meet the updated plan

again because of the complexity of system mainly. Then I introduce some pair programming

according to XP methodology to solve more complex work of the system. So I have taken

following the necessary action for that.

Action

I have just assigned new resources for the new tasks to complete in next planned deadline

and also added some overtime work for the full-timer developer. The project cost again

increased for that but I did not get any way except that.

Page 100: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

97

Re-planed

Figure 7.10: Project Plan status after taking action on 20th June

Figure 7.11: Tracking Gantt with base line on 20th June (after re-planed)

Page 101: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

98

7.3.3 3rd and final internal check: Week 10

This check is final before submitting my report based on 5th July’07. The following figure is

showing the status after monitoring on 5th July’07.

Figure 7.12: Project Plan status after monitoring on 5th July

Figure 7.13: Tracking Gantt with base line on 5th July

Page 102: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

99

Analysis

Date: July 05, 2007

Earn Value Management:

Planed Value (PV) = 2454.00 Earned Value (EV) = 1878.00 Actual Cost (AC) =

2994.13

Budget at Completion (BAC) = 5922.00

Time Performance Analysis:

Schedule variance:

SV = EV – PV = 1878.00 – 2454.00 = -576

Comparison to the schedule:

SV%= SV/PV = -43.2/1086 = -23.4%

Project has a delay of -23.4% compared to previous forecasts

Schedule Performance Index:

SPI = EV/ PV = 1878.00 / 2454.00 = 0.7652

So, Project is in 76.52% Efficiency

Time Estimate at Completion:

EACt = (BAC/SPI)/(BAC/m) = (5922/.7652)/( 5922/5) = 6.53

So, if the project continues at these rates, I need 1.5 more months to complete it

Cost Performance Analysis:

Cost Variance:

CV = EV – AC = 1878.00 – 2994.13 = -1116.13

CV% = -1116.13/1878 = -59.4%

Project costs are 59.4% more than the value that I have created

Cost Performance Index:

Page 103: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

100

CPI = EV/ AC = 1878/2994.13 = 0.62

Project efficiency is 62%, it means that for every euro spent only 0.62 $ create value

To-Complete Performance Index:

TCPI = (BAC-EV)/(BAC-AC) = (5922 - 1878)/( 5922 - 2994.13) =

1.38

To reach project objectives, the efficiency that must be achieved is 1.38

Performance Analysis and Forecast:

Project Tracking_5th_July

$0.00

$500.00

$1,000.00

$1,500.00

$2,000.00

$2,500.00

$3,000.00

$3,500.00

4/29

/200

7

5/6/

2007

5/13

/200

7

5/20

/200

7

5/27

/200

7

6/3/

2007

6/10

/200

7

6/17

/200

7

6/24

/200

7

7/1/

2007

7/8/

2007

7/15

/200

7

7/22

/200

7

Weeks

Cost

Total ACWP

Total BCWP

Total BCWS

Figure 7.14: Performance Analysis and Forecast on 5th July

Comments: At the end of 3rd analysis, I understood that we will not be able to meet the base

line plan (by only introducing some pair programming and assigning over allocation)

because of delay of task completion. We are already too much late from the initial milestone.

So I have taken following the necessary action for future. Figure 15 is showing how much far

from baseline to actual milestone

Page 104: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

101

Action

Since the deadline is the major factor for this project, I have just started some parallel task

with the on going task which is not depended with the others and also added some overtime

work for the full-timer and part-time developers. As a result, the project cost again increased

for that but I am not getting any other way to solve that.

Re-planed

Figure 7.16: Project Plan status after taking action on 5th July

Tracking Gantt (Re-plan):

Figure 7.17: Tracking Gantt with base line on 5th July after re-planned

Page 105: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

102

7.4 Final scenario

Figure 7.18: Project Statistics of final plan till 5th July

Project Tracking_5th_July_Action

$0.00

$200.00

$400.00

$600.00

$800.00

$1,000.00

$1,200.00

4/29

/200

7

5/6/

2007

5/13

/200

7

5/20

/200

7

5/27

/200

7

6/3/

2007

6/10

/200

7

6/17

/200

7

6/24

/200

7

7/1/

2007

7/8/

2007

7/15

/200

7

7/22

/200

7

Weeks

Cost

Total Actual Cost

Total Baseline1 Cost

Figure 7.19: Baseline and actual cost analysis graph till 5th July

Page 106: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

103

8 Results of the Implementation

The result phase is the final phase of any kind of implementation before deployment of new

requirement of the system. It is the most important part to test or measure weather the

implementation is matched with the customer requirement or not and also to measure the error

of the system.

This section will summarize the output of the implementation including the following steps to

reach the output and corresponding screen shots as well. First, I will describe the steps of each

part to generate the output and then describe how to perform those steps using textual

description of sub-steps as well as related screen shot of steps or sub-steps.

8.1 Transportation

Transportation has four main parts in the EBR web application such as Transport Order (TO)

creation, execution, view Transport Order as well as graphical presentation of warehouse plan

from the resulting point of view.

8.1.1 The steps of transportation

The first three parts are related to core functional transportation of EBR module and the last

part is related to visualization of warehouse plant. The following steps are needed to see the

results of each part separately.

Part 1: In the TO creation, the user can create a transport order using the following steps. The

steps are:

1. Starting PALETTI Server to Creation or Execution of TO.

2. Getting transport order creation type

3. Select transport order creation type and put source LC

4. Select target area and target location depending on creation type

5. Finish transport order creation

Page 107: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

104

Part 2: In the TO execution, the user can execute a transport order using the following steps.

The steps are:

1. Starting PALETTI Server to Creation or Execution of TO.

2. Putting source LC which is created

3. Select target area and target location depending on creation type

4. Finish transport order execution

Part 3: In the TO view, the user can view a list of transport orders using the following steps.

The steps are

1. Click for view transport order

2. Generate list of all transport order in to grid

3. User can filter and search TO by Order number, LC/TU and status

4. Back to the main module

8.1.2 Screen shots of transportation

The transport module appears when the user clicks from the top menu after authentication.

User needs to login and password to authenticate or to access this module like others section

of EBR application. The screen is look like the following *Figure 8.1 after authentication.

As you can easily see the transport button is present at the first-right position of the top menu.

The top menu is the only module navigator for this application. You will get the following

screen of main page of transportation when you click on the transport button:

All parts of the functional requirement will go forward from this page like creation, execution,

view, and warehouse plant graphical representation.

Part 1: In the TO creation, the user can create a transport order using the following steps.

Each step will be done by performing some tasks.

__________________________

* See Annex A for Screen Shot

Page 108: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

105

1.1: Starting PALETTI Server is the first task to Creation or Execution of Transport order.

The relative path of the startapp.bat batch file is \MES4.2\runtime\palserver\startapp.bat

1.2: User will get the first page (*Figure 8.4) of the creation with transport order creation

type.

1.3: You have to select transport order creation type and put source LC which LC you want to

relocate in to a new target location. If the source LC is already moving to any target location

then system will generate an error and it will be unable to go forward. User can check the

status from the TO view (Part 3) section. Here we have chosen A00-FAT0002100 LC as an

example. So the screen will be like following.

1.4: You have to set target area for the Automatic creation type and target location will be

generated automatically from the system and you can also change it during execution. But you

have to set target location manually for the manual creation type and target location. So,

depending on creation type operation will be changed. Now you have to click on the next

button to confirm the target area or location for the final step. You can also go back from this

step and can choose different creation type or to cancel all operation.

1.5: You need only one click on OK button to finish transport order creation. After that, you

will go back to the main page (*Figure 8.2) of the transport module. Now the status of this

new transport order should be “Created” like the following screen if you go to view TO

section. It is described later how to view transport order in the part 3.

Part 2: In the TO execution, the user can execute a transport order using the following steps.

Each step will be done by performing some tasks.

2.1: Starting PALETTI Server is the first task to Execution of Transport order. The relative

path of the startapp.bat batch file is \MES4.2\runtime\palserver\startapp.bat. See *Figure 8.3

__________________________

* See Annex A for Screen Shot

Page 109: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

106

2.2: Putting source LC which is already created. Here we have chosen A00-FAT0002100 LC

as an example which has been created before as TO creation in Part 1. Then move next to start

execute of this order.

2.3: Then Target area will show what you have already set during creation and target location

depending on creation type. If it is automation type then system will generate a location but

you have option to change this or keep the system generated location. But you have to provide

location specifically for the other types of transport order. Then move next to finishing the

start execute of this order. In this the total steps will be only 2. and you have to execute again

to finish execution. After that, you will go back to the main page (*Figure 8.2) of the

transport module. Now the status of this new transport order should be “Moving”. You have

to repeat step 2.2 again and after that you will get the following screen of *Figure 8.11. Then

*Figure 8.12 move next to finish execution of this order.

2.4: you need only one click on OK button to finish transport order execution. After that, you

will go back to the main page (*Figure 8.2) of the transport module. Now the status of this

new transport order should be “Finished” means the order is completed like the following

screen if you go to view TO section. It is described later how to view transport order in the

part 3.

Part 3: In the Transport Order view, the user can view a list of transport orders using the

following steps. Transport Order view also support filter search.

3.1: you have to click to view transport order in the transport menu. See *Figure 8.2 at the

begin of design part

3.2: It will generate list of all transport order in to grid including six columns such as TO

number, LC number, Source SL etc. (Like *Figure 8.8 & 8.13)

3.3: You can also perform a filter search by Order number, LC/TU and status (*Figure 8.8 &

8.13)

__________________________

* See Annex A for Screen Shot

Page 110: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

107

3.4: Then you can back to the main module by back button. Back to *Figure 8.2 at the begin

of design part

8.2 Visualization of warehouse plant and transportation

The output of visualization of Warehouse Plant (WP) is basically the graphical view of

Storage Area & Location. It is a visual interface of storage of the warehouse plant where user

can see all Storage Area (SA) of the WP and can also see the inside view of each SA. Each

SA consists by a list of Storage Location (SL) and each SL is specified by Level, Aisle and

Direction (Left / Right). Each SL contains list of Load Carrier where the user will have the

creation or execution of transport order.

8.2.1 The steps of the visualization plant (Part 4)

User can see the warehouse plant, storage area, storage location and list of Load Carrier (LC)

inside SL and can create or execute Transport Order (TO) of that LC through these steps. The

steps are

1. Select WP from the transport module of the EBR project.

2. Getting Warehouse ID from the configuration file.

3. Generation of list of SA of the selected WP.

4. Generation of graphical view of SL of the selected SA.

5. Generation of grid view of LC of the selected SL.

6. Go to Part 1 or 2

7. Continue to creation or execution.

8.2.2 Screen shots of visualization plant (Part 4)

In the Transport Warehouse Plant, as you can easily imagine, a graphical view of Warehouse

Plant is presented in the EBR web application. The design of the Warehouse Plant UI is based

on the EBR framework with generating Dynamic HTML. The wizard consists of seven states,

as already mentioned:

__________________________

* See Annex A for Screen Shot

Page 111: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

108

4.1: Select WP from the transport module of the EBR project. In the first state the Transport

module has to be selected from the Top menu after login

Go to *Figure 8.1 at the begin of design part. Then the Transport module will appear. Go to

*Figure 8.2 at the begin of design part.

4.2: Getting Warehouse Identifier from the configuration file. Fist of all, you have to set the

DEFAULT_WAREHOUSE Identifier variable in the following source file and the system

will get the default warehouse ID from the configuration file when user go for Warehouse

Plant. Source: \MES4.2\runtime\system\prefs\mes\paldefs.ini. Go to Configuration Section

4.3: System will generate a list of SA of the selected WP like the following screen shots

4.4: Generation of graphical view of Storage Location appears

4.5: Generation of grid view of LC of the selected SL.

4.6: Go to Part 1 or 2

4.7: Now you can continue to creation or execution operation from the list of load carriers.

8.3 Batch review tree

Batch review tree has been implemented in the different version of EBR and the interface of

the EBR of MES4.0 is different from the current one. The following section will show the

related step and screenshot of the implementation.

8.3.1 The steps of the Batch Review tree

The main steps of viewing batch review tree are:

1. Set any work center number

3. Login authentication

3. Select any shop order to see batch review: Batch Review View review

4. Select one of the leaves to get details.

__________________________

* See Annex A for Screen Shot

Page 112: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

109

8.3.2 Screen shots of Batch Review tree

1. Start EBR server

Select Batch review from any work center

Step 1: Set any work center number

Step 2: Login authentication

Step 3: Select any shop order to see batch review: Batch Review View review

Page 113: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

110

Next

You will get the following popup tree of batch review

Step 4: Select one of the leaves to get details.

Page 114: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

111

8.4 Configuration

In paldefs.ini you can specify the Warehouse identifier of the company is the local site. This

entry is necessary to generate warehouse Storage Area.

[warehouse]

; Doc: Shall input warehouse ID to be considered when checking

; storage area of an specific warehouse?

; Type: String

; Range: VARCHAR2(50)

; Sources:

/var/cvs/pmx/pylib/pmx/ebr/ebrroot/workflow/processing/actions/storeageARAc

tion.py

; Default: CHIESI001

DEFAULT_WAREHOUSE = CHIESI001

8.5 How to install or update

You have to have only only folder runtime to update the source code of MES4.2 project. The

folder is inside MES4.2_Update_Patch.rar file. You will get this file with this package

Page 115: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

112

release folder. You have to extract MES4.2_Update_Patch.rar file into MES4.2 inside

\MES4.2\ or overwrite existing runtime folder with the new one. It will update automaticall

with the new changes. The list of changes folders are given below.

1. The files are changed inside the following rumtime sub folder for the new changes.

• \runtime\system\prefs\

• \runtime\system\pylib\

• \runtime\system\wwwroot\ebr\

• \runtime\system\wwwroot\ebr\style\

• \runtime\system\pylib\pmx\ebr\

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\initialize\

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\processing\

2. The following folders are newly created in this version

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\inc\

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\paletti\

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\createto\

• \runtime\system\pylib\pmx\ebr\ebrroot\workflow\executeto\

3. Then you have to configure the Werehouse Name as default for the local site in the

following file paldefs.ini.

• \runtime\system\prefs\mes\paldefs.ini

Go to configuration code.

Page 116: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

113

9 Conclusion

At the end, I would say the main work of thesis was to visualize warehouse, transportation

from that interface as well as integrating presentation framework. In additional requirement

was to implement batch review and related part of the transportation such as transport order

view & searching, generalized algorithm and so on.

The output of implementation shows that all of the requirements have been implemented and

delivered successfully in time. First, I developed classical transportation in EBR, then

generalized algorithm & visualized according to this in the web page. Finally I added

transportation from the visual interface as well as developed other requirements.

The implementation of visualization of warehouse proves that is possible to use generalized

warehouse algorithm as well as transportation from one location to another navigating visual

warehouse for any Warehouse Management System. It also proves that is possible to use a

well-defined presentation framework for the Spyce platform.

I think that future steps would be the following

To implement warehouse visualization for other companies WMS software using this

algorithm.

To integrate Transportation interface easily from visual warehouse interface of any

warehouse management system.

To develop a well-define presentation framework for the Spyce platform.

Page 117: Ebr Pmx Mes V2.5

Politecnico di Milano

An implementation of visualization and Transportation of warehouse on Electronic Batch Recording (EBR) application regarding Manufacturing Execution Systems (MES) – MJ Ferdous Thesis 2008

114

References:

[1] http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/6342/16979/00782570.pdf?arnumber=782570 [2] http://links.jstor.org/sici?sici=0025-1909(197208)18%3A12%3CB718%3AAEBABA%3E2.0.CO%3B2-H [3] http://www.nongnu.org/cvs/ [4] http://www.scs-europe.net/services/ess2004/pdf/meth-29.pdf [5] http://www.sciencedirect.com [6] http://idii.com/esn/vol2num11.htm [8] http://csiweb.ucd.ie/Staff/jmurphy/fecs/5_algodev.pdf [9] PressMan, Roser S. Software Engineering [10] http://www.cefriel.it/en/index.html [11] http://www.qpmg.com/fp-intro.htm [12] http://www.nps.navy.mil/wings/DevelopmentTeam1/Exercises_Examples_Folder/function_point_calculation_examp.htm

Page 118: Ebr Pmx Mes V2.5

Annex A

115

Figure 8.1: EBR First page after authentication (successful)

Figure 8.2: Screen shot of the menu of Transport module

Page 119: Ebr Pmx Mes V2.5

Annex A

116

Figure 8.3: Screen shot of starting PALETTI Server

Figure 8.4: Screen shot of the getting TO type (Process: Step 1)

Page 120: Ebr Pmx Mes V2.5

Annex A

117

Figure 8.5: Screen shot of the creation TO of LC A00-FAT0002100 (Process: Step 1)

Figure 8.6: Screen shot of the creation TO of LC A00-FAT0002100 (Process: Step 2)

Page 121: Ebr Pmx Mes V2.5

Annex A

118

Figure 8.7: Screen shot of the creation TO of LC A00-FAT0002100 (Step 3)

Figure 8.8: Screen shot of 'Created' TO from the transport view (LC A0-FAT0002100)

Page 122: Ebr Pmx Mes V2.5

Annex A

119

Figure 8.9: Screen shot of the start execution TO of LC A00-FAT0002100 (Step 1)

Figure 8.10: Screen shot of the start execution TO of LC A00-FAT0002100 (Step 3)

Page 123: Ebr Pmx Mes V2.5

Annex A

120

Figure 8.11: Screen shot of the finish execution TO of LC A00-FAT0002100 (Step 2)

Figure 8.12: Screen shot of the finish execution TO of LC A00-FAT0002100 (Step 3)

Page 124: Ebr Pmx Mes V2.5

Annex A

121

Figure 8.13: Screen shot of list of 'Finished' TO filtered from the transport view (A00-FAT0002100)

Figure 8.14: Screen shot of the selected Warehouse Plant (storage areas)

Page 125: Ebr Pmx Mes V2.5

Annex A

122

Figure 8.15: Screen shot of the Storage Locations of a selected Storage Area SA001 (Top)

Figure 8.16: Screen shot of the Storage Locations of a selected Storage Area SA001 (Bottom)

Page 126: Ebr Pmx Mes V2.5

Annex A

123

Figure 8.17: Screen shot of the list of load carriers (LC) of Storage Location (SL) PESA001

Page 127: Ebr Pmx Mes V2.5

Annex B

124

Figure 7.20: Screen shot of Detailed project plan from MS project 2003

Page 128: Ebr Pmx Mes V2.5

Annex B

125

Figure 7.21: Graph of Detailed project plan from MS project 2003

Page 129: Ebr Pmx Mes V2.5

Annex C

126

Page 130: Ebr Pmx Mes V2.5

Annex C

127