Kravene til et generelt systemmodelleringssprog, der skal kunne benyttes til alle modelleringsaktiviteter i forbindelse med systemudvikling af computerbaserede systemer, er meget brede. Modelleringssproget skal være så fleksibelt at det kan anvendes til beskrivelse af såvel helt uformelle systemer som helt formelle systemer; samt konkrete, fysiske fænomener såvel som abstrakte, logiske koncepter.
Modelleringssproget må dermed nødvendigvis bestå af nogle relativt få, meget generelle koncepter, da det vil være umuligt på forhånd at formulere specielle koncepter for alle mulige systemtyper, og indtil videre er der i hvert fald ikke grundlag for at kunne begrænse sig til nogle bestemte systemtyper.
Modelleringssproget bør desuden nødvendigvis bestå af et formaliseret grundlag, der gør det muligt at validere og på anden måde at analysere modellerne udfra eventuelle yderligere kriterier i forbindelse med formelle (del)systemer.
Et generelt systemmodelleringssprog bør ikke binde systemer til bestemte koncepter medmindre at de er helt generelle. Et objektorienteret modelleringssprog er dermed formodentligt for specialiseret med blandt andet en bestemt opfattelse af relationer mellem data og processer i form af gruppering omkring data som objekter. Omvendt bør et generelt systemmodelleringssprog heller ikke lægge begrænsninger på antallet og variationen af koncepter til at sikre modellens udtryksfuldhed for at mindske usikkerheden ved modellen i forhold til det virkelige fænomen.
Det grundlæggende i et generelt systemmodelleringssprog er modellering af systemer bestående af "ting" og relationer mellem disse, hvor såvel tingene som relationer principielt kan være hvad som helst. Disse "ting" og relationer bør ligeledes kunne beskrives nærmere som systemer i sig selv eller eventuelt som aksiomatiske, numeriske eller tekstuelle data.
Et helt centralt koncept for simplificering af kompleksiteten i systemmodeller er hierarkisk abstraktion. Modelleringssproget bør derfor omfatte et "whole-part" koncept for opdeling af systemer i delsystemer. Dette er ikke begrænset til nødvendigvis at afspejle fysiske "whole-part" relationer i de modellerede fænomener men omfatter også abstrakte, koceptuelle "whole-part" relationer.
Et andet helt centralt koncept for simplificering af kompleksiteten i systemmodeller er klassificering af systemer med fælles egenskaber og fælles modellering af disse egenskaber. Modelleringssproget bør derfor omfatte et "type-instance" koncept for opdeling af systemer i systemtyper. Dette omfatter ikke også inkludering af relaterede objektorienterede koncepter som nedarvning og polyformisme. "Type-instance" konceptet er kun et modelleringsværktøj til opdeling af systemer i systemtyper og systemforekomster.
Endeligt bør et generelt modelleringssprog afspejle at systembegrebet er konstruktivistisk og derved muliggøre modellering af systemer udfra forskellige og vekslende synsvinkler. Samtidig med modellering udfra forskellige synsvinkler bør modelleringssproget understøtte integreret modellering af de forskellige synsvinklers fælles egenskaber.
I forbindelse med computerbaserede systemer og mange andre systemer er der som minimum behov for at modellere to konceptuelt forskellige systemtyper i form af henholdsvis data og processer. Den konceptuelle skelnen mellem data og processer er relevant for mange systemer men i forbindelse med computerbaserede systemer er der ikke nødvendigvis nogen grundlæggende forskel. Computerbaserede processer skal i sidste ende modelleres som programmer i form af statiske datastrukturer af instruktionskoder, der lagres og eksekveres i computeren. Modelleringssproget bør således kunne integrere de to konceptuelt forskellige data og proces synsvinkler.
|