Digital Twin: Generalization, characterization and implementation