- Multiple modeling methods for constructing agent-based systems have been suggested, however none of them has been accepted as a standard. A prominent reason for this is the gap that exists between agent-oriented methods and the modeling needs of agent-based systems. This gap is, in large part, due to lack of an agreed-upon set of building blocks for modeling Multi-Agent Systems (MAS) and standalone agents, and lack of support for essential software engineering properties. To bridge the gap, we suggest a set of building blocks and an agent-based modeling method. The building blocks should be useful as a basis for developing modeling methods for MAS, and as a benchmark for comparison between such methods. Our proposed modeling method, which is based on the building blocks, is novel in its ability to capture the different aspects of MAS in a single unifying framework. It further excels in providing accessibility, expressiveness and flexibility, which are major lacking software engineering properties in other methods. We demonstrate the usage of the method for modeling MAS, optionally, in conjunction with an existing MAS infrastructure. Thus, our method enhances both the utilization of existing infrastructure and the development of agent-oriented models.