Cognitive Agent-based Computing A Unified Framework for Modeling Complex Adaptive Systems using Agent-based and Complex Network-based Methods (Springer, 2013)