Smart Card Applications: Design models for using and programming smart cards