Software Testing Formal Specification and Formal Program Development Gamification and Game with a Purpose Bio-inspired Computing Big Data Software Architecture