1. A method for providing to a plurality of software applications executing in a software environment controlled access to limited hardware resources on a portable multimode communication device (PMCD), comprising: establishing a software environment in the PMCD in which a plurality of software applications are executing, each configured to perform a predetermined application function using a respective hardware set, each hardware set including a plurality of hardware resources provided on said PMCD; evaluating a usage scenario of the PMCD based on one or more parameters; and responsive to the evaluating step, dynamically allocating to each software application selected ones of said plurality of hardware resources comprising said respective hardware sets.