## 2 Proposed Methodology
### Approach
Since the proposed approach is in principle simulation-based, the overall computational time required for simulating the 3d printing process for a wide range of machines would be quite long. Instead, by using agents, the designer will only have to wait for as long as it is required for the slowest Machine Agent to return its process alternatives. At the same time, the interaction of each agent with operators and other IT systems could also be done independently, i.e., each Agent may be interfaced to a different MES or CAM platform. A part geometry analysis tool has been developed and integrated with a commercial CAD platform for launching the Design Agent and for automatically passing to it basic design information, such as the CAD file and the maximum external dimensions and the minimum wall thickness of the part. The designer may edit these values, especially in cases where the geometry of the parts is complex and the calculation of the values of certain features, such as the wall thickness, is not straightforward. Each platform (belonging, for instance, to a particular manufacturing OEM) will have to host the main container and can have as many other containers (each one belonging, for instance, to a particular AM service provider) as needed. Different platforms may also be connected, which in principle would allow different networks of service providers to be connected. An Agent Management System (AMS) is also part of the platform, providing an assigning service. The Directory Facilitator (DF) provides a Yellow Pages service, allowing agents to find other agents that are also part of the proposed JADE framework. The sequence of steps followed, and the information contained in the messages exchanged among the Design and Machine Agents and the platform components, including the CAM software and the MES are depicted in the UML sequence diagram of Figure 4. The list below provides more details about each of these steps:  
* Once a part is designed, the design engineer (Designer) uses the part geometry analysis tool, which launches the Design Agent (a software instance) who then uploads the CAD file to the cloud or to a remote repository and provides the minimum technical specifications (maximum layer thickness, minimum part density), the basic geometric information (external dimensions and minimum wall thickness), the list of alternative materials that can be used, the number of parts to be produced, the order due date, and decision criteria weights. * The Design Agent finds all available Machine Agents (software instances) through the platform DF and then sends a message to all suitable Machine Agents, encapsulating all information provided  
Figure 3: Agent-based platform. by the Designer, including the link to the repository containing the CAD file, while asking for a bid. * The Machine Agent selects all CAM process profiles that fulfil all material, density specifications, and support options and calls the CAM software to generate the G-code and simulate the AM process for each one of these profiles. * The output of the CAM software is then received by the corresponding Machine Agent and the processing time and cost per part are calculated. * The Machine Agent then requests information regarding the availability of the machine from its MES and estimates the end date for the specific order. This is done by utilising all available idle time slots for producing the number of parts requested by the Design Agent. * All alternative process configurations are sent by the Machine Agents back to the Design Agent who then estimates their utility by considering the relative importance of all criteria identified by the Designer. * Then the best alternative is identified by the Design Agent, who sends a message with an order placement request to the corresponding Machine Agent. * As soon as the Machine Agent confirms the order, the best alternative process configuration with all pertinent information, regarding the process parameters, the service provider and cost, tardiness performance is presented back to the Designer.