In this thesis we present an integrated theoretical and practical approach towards the development of complex robotic agents. We describe APOC, an architecture framework intended for the analysis and implementation of complex agent architectures. We then show how APOC can be used to implement agent architectures in various architectural design paradigms and how these designs can be analyzed in APOC. Next, we show how APOC can be used to introduce new elements into architecture design, by creating architectures which modify as the agent interacts with its environment. The practical side of the research is presented next, with a description of the APOC Development Environment, ADE. We show how ADE functionality is based on the properties of the APOC framework and present in detail the features ADE presents to the agent designer and architecture developer. Examples of these features are shown for illustration. In the last part of the thesis we focus on work done using APOC and ADE towards the development of a robotic waiter. Here we discuss the main problems which need to be solved in the development of a complex agent and present ADE solutions to these problems. We next introduce the overall structure of the robowaiter architecture and show in detail some of the main sub-systems of this architecture. Results of experiments which form the building blocks for the robowaiter architecture are then presented. The thesis concludes with a brief discussion of future work using ADE, including the upcoming implementation of the robowaiter.