DESIGN
Architectural Pattern
We can think of an architectural pattern as a stylized, abstract
description of good practice, which has been tried and tested in
different systems and environments. So, an architectural pattern
should describe a system organization that has been successful in
previous systems. The purpose of Architectural Patterns is to
understand how the major parts of the system fit together and how
messages and data flow through the system. We can have multiple
patterns in a single system to optimize each section of our code.
Pipe and filter architecture
In pipe and filter architecture is a system where functional
transformations process their inputs and produce outputs. Data
flows from one to another and is transformed as it moves through
the sequence. Each processing step is implemented as a transform.
Input data flows through these transforms until converted to output.
In other words, it consists of any number of components, called
Filters, that transform or filter data, before passing it to other
components through connectors called Pipes. A Filter transforms
the data it receives through Pipes with which it is connected. A Filter
can have many input Pipes and many output Pipes. A Pipe is some
kind of connector that passes data from one Filter to the next. There
are also two other components, the Pump, which is the data source,
and the Sink, which is the final target. It is commonly used in data
processing applications where inputs are processed in separate
stages to generate related outputs. The advantage of this
architecture is that it is easy to understand and supports
transformation reuse. Workflow style matches the structure of
many business processes. Also evolution by adding transformations
is straightforward and can be implemented as either a sequential or
concurrent system. So we can conclude that pipe and filter
architecture is most the suitable architecture for Robot Packing
system.
Pipe and Filter Architecture Diagram of Robot Packing System
Detect Object Capture Image Read Barcode
Calculate Object
Position Get Dimensions
Pick Object
Get Object
Hardness Get Weight
Wrap Object Place Object Conveyor Line
Key
Data
Source
Pipe
Filter
Sink
Package Diagram
UML: Package Diagram
Deployment Diagram
UML: Deployment Diagram
User Interface