We call such systems "computational metamodels" or "computational frameworks". This is the level where communalities across different systems can be factored out, can be focused. But what is surprising is that even at this second level, if we want to keep the mathematical overhead in representing systems to a minimum, we have to entertain more than one computational metamodel.
If we want to have transparent encodings we cannot have a unique metamodel. And this is somehow a general lesson that we are learning from using formal methods in computer science, that is the multitude, the multiplicity of different systems.
Of course it may help to build more abstraction levels, but still we cannot find a unique general framework.