In the current ICT world, billions of smart devices utilise computational, network and storage resources of complex systems. These devices are composed of various sensors and connected to Internet of Things systems, which are often managed by Fog or Cloud Computing services. Within the fog paradigm, nodes are deployed close to the user devices to reach a higher quality of service, achieved by faster and more reliable communication, compared to the former, cloud-based operations. Though fog models are already implemented in some distributed system simulators, they are far not complete and need further research. In this paper, we present a revision and extension of the DISSECT-CF-Fog simulation environment, which provides a more detailed fog model by enhanced location awareness and multi-layer fog node management to foster IoT application execution. To validate our proposal, we developed different, basic task allocation strategies for IoT-Fog-Cloud environments. We also propose a sophisticated fuzzy-based allocation algorithm using the Pliant system that is able to react to multiple system parameter changes. Finally, we evaluate these strategies for different scenarios in terms of cost, network utilisation, data management and application makespan.