With rapid technological advances in network infrastructure, programming languages, compatible component interfaces and so many more areas, today the computational Grid has evolved with the potential of seamless aggregation, integration and interactions. This has made it possible to conceive a new generation of realistic, scientific and engineering simulations of complex physical phenomenon. These applications will symbiotically and opportunistically combine computations, experiments, observations, and real-time data, and will provide important insights into complex phenomena. However, the phenomena being modeled are inherently complex, multi-phased, multi-scaled, dynamic and heterogeneous (in time space and state). Furthermore, their implementations involve multiple researchers with scores of models, hundreds of components and dynamic compositions and interactions between these components. The underlying Grid infrastructure is similarly heterogeneous and dynamic, globally aggregating large numbers of independent computing and communication resources, data stores and sensor networks. The combination of the two results in application development, configuration and management complexities that break current paradigms that are based on passive components and static compositions. In fact, we have reached a level of complexity, heterogeneity, and dynamism that our programming environments and infrastructure are becoming unmanageable/insecure . In this paper we attempt to explore an alternative programming paradigm and management technique that is based on strategies used by biological systems to deal with complexity, heterogeneity and uncertainty. This approach is referred to as autonomic computing . We discuss key technologies to enable the development of autonomic Grid applications. We also present a middleware architecture that sits on top of the existing Grid middleware, intelligently managing and executing autonomic applications with huge computational requirements over limited Grid resources. We discuss in detail how the proposed vGrid middleware can be used to dynamically control and manage large-scale forest fire simulation.