Applikationer har udviklet sig fra at være enkeltstående programmer, der er udviklet fra bunden af, til i stadig stigende grad at være sammensat af eksisterende programdele. Dette er nødvendigt og hensigtsmæssigt for at kunne lave store, komplekse, individuelle løsninger.
Programmer består i vid udstrækning af genbrugsprogramkode i form af funktionsbiblioteker og programkode kildetekst. Disse ting er tæt bundet til det enkelte program og er primært under programmørens kontrol.
Igennem de senere år har objektorienterede softwarekomponent arkitekturer med "softwarebusser" som OMG CORBA og Microsoft COM vundet udbredelse. Derigennem består applikationer i stigende grad af uafhængige, eksekverbare komponenter, der hver især uden videre kan videreudvikles og udskiftes forudsat at grænsefladerne og den grundlæggende funktionalitet bevares uændret. Disse softwarekomponenter er dog primært passive programmeringskomponenter som programmører binder sammen i programmer der kontrollerer softwarekomponenterne.
Målet for Object Management Group er at videreudvikler CORBA softwarekomponenter fra at være programmerbare til også at være konfigurerbare, således at slutbrugere/superbrugere selv kan udvikle applikationer bestående af forbundne softwarekomponenter. Specifikationerne for dette er stadig under udarbejdelse men det foreløbige forslag omfatter anvendelse af flere forskellige alternativer i form af CORBAscript og en række andre, eksisterende scripting programmeringssprog som Javascript, Tcl og Python. Konfigurering af applikationer bestående af et antal eksisterende komponenter kræver således stadig en vis programmeringsforståelse men kan eventuelt også ske indirekte med visuelle værktøjer tilgængelige for almindelige slutbrugere.
Linda er et generelt koordineringsprogrammeringssprog som supplement til andre programmeringssprog i form af yderligere funktioner til koordinering og kommunikation mellem forskellige programmer, der eventuelt er programmeret i forskellige programmeringssprog. Koordineringssproget er formuleret med udgangspunkt i en generel koordineringsmodel, der omfatter alle nødvendige koordineringsmekanismer i såvel simple som parallelle og distribuerede maskinarkitekturer. Som generel koordineringsmodel omfatter/erstatter Linda traditionelle koordinerings- og kommunikationsmekanismer som Remote Procedure Calls samt traditionel styresystem funktionalitet som filsystemer og datakommunikation over netværk.
Flow-baseret programmering omfatter et simpelt datafloworienteret koordineringsprogrammeringssprog, der giver slutbrugere mulighed for selv at konfigurere applikationer bestående af softwarekomponenter forbundet igennem et netværk af inddata og uddata. Flow-baseret programmering består for slutbrugerne/superbrugerne udelukkende af konfigurering af forbindelser mellem softwarekomponenternes inddata og uddata og kræver dermed umiddelbart ingen programmeringsforståelse for kontrolstrukturer med mere - dette ligger udelukkende i softwarekomponenterne.
Programmer's Playground er ligeledes et datafloworienteret koodineringsprogrammeringssprog, og i forbindelse med dette er der desuden udviklet brugergrænseflade og applikation styringssystemer, som giver slutbrugere mulighed for selv at konstruere/konfigurere avancerede, distribuerede, multimedia applikationer med komplekse datatyper/-strukturer, brugergrænseflader og maskinarkitekturer.
|