1. A method for modeling interactive sequential applications for smart mobile devices, comprising the steps of: a) generating in a central processing unit (CPU) a static model describing all goals of target applications using their screens, Screen Input Elements (SIEs), transitions between screens, sub-goals and the links between them; b) building in said CPU a dynamic model based on said static model by tracking the use of the application screens over an actual device while using an inheritance mechanism whereby model entities having a parent-child relationship are reusable in different models; c) creating instances of said static and dynamic models specifically generated for a variety of devices; d) storing said static and dynamic models with their instances into a passive Task Model database, being in data communication with said CPU; e) downloading relevant passive Task Models to user's device according its type and the application supported by said user's device; f) tracking in real-time user's actions during user-system interactions and generating a unique identifier for each application's screen that is visited by the user of said mobile device by choosing an identifier that matches a signature of each application's screen, wherein created identifiers are used for generating an active model of the user's actual usage; g) storing said tracked model into an active Task Model database being in data communication with said CPU; and h) comparing said active Task Model to said passive Task Model and generating usage patterns for said user; wherein the static and dynamic models are in the form of an Entity Relationship Diagram (ERD), and implemented in a relational database.