[SystemInfo] Abstract a father class and use a map to reconstruct the code