Fachsprachen
Version vom 22. April 2008, 13:51 Uhr von DarkGhost (Diskussion | Beiträge) (→Fachsprachen Vorlesung)
Einordnung
- Begriff: Fachsprache (FS) - kein Äquivalent in englischer Literatur
- ähnliche Begriffe: Spezifikationssprachen, Special Languages (triffts am ehsten), 4.GL
- es existieren Vielzahl von FS
grobes Schema:
Eigenschaften von FS:
- eindeutig
- widerspruchsfrei
- vollständige Problemlösung
Generationsentwicklung von Programmiersprachenstellungen von Fachsprachen
Folie
I. Generation
- Niveau ist binärer Maschinencode
- Abstraktionsniveau = Flip Flop
- Maschinenkenntnisse erforderlich
- Sprache spiegelt Prozessorarchitektur wieder
II. Generation
- Strukturierungsmerkmale in Assemblersprache
- symbolische Namen für Operanden, Befehle
- erste Ansätze zur Modularisierung der Programme (Makroassembler, Binder, Lader)
- Abstraktionsniveau = Register, Menge von Flip Flops
- Maschinenkenntnisse erforderlich
- Sprache spiegelt Prozessorarchitektur wieder
III. Generation
- maschinenunabhängig
- höheres Abstraktionsniveau als Register
FORTRAN - Formula Translation
- keine while-Schleife
COBOL (1954) - Common Business Oriented Language
- sehr häufig eingesetzt
- immer höhere Abstraktion
- algebraische Schreibweise
- A = B(I) + C
ALGOL 60 - Algorithmic Language
- europäische wissenschaftlich-technische Anwendung
- richtungsweisende Eigenschaften:
- Bindung von Datenobjekten (Einführung Variable, Felder) an Datentypen
- rekursive Unterprogrammtechnik
- Vereinfachung strukturierte Programmierung (Zählschleifen, while-Klausel)
- Unterstützung Selbstdoku der strukturierten Programmierung
- keine größere Bedeutung
- aber positive Eigenschaften in PASCAL
Spezialsprachen
- anwendungsorientierte Programmiersprachen = FS
- für zeitkontinuierliche Simulation:
- CSMP - Contineous System Modelling Program
- CSML - Contineous System Modelling Language
- für zeitdiskrete Simulation
- GPSS - General Purpose Simulation System
C-Unix
- verbindet Eigenschaften von Assemblersprachen mit Eigenschaften von Hochsprachen (HS)
Java
IV. Generation
- notiere "was" !
- notiere nicht "wie" !
- interaktives Arbeiten
PROLOG - logische Programmierung
- Theorembeweise über Datenbasis
Programmiersprachen
- 60. Jahre - prozedurale Abstraktion
- 70. Jahre - strukturierte Programmierung
- 80. Jahre - Modularisierung
- 90. Jahre - objektorientierte Programmierung, HTML / XML
Aussage
→ tendenziell Sprachen I... IV geeignet für Fachsprachen-Entwurf im Sinne EZ-PDV-Systeme
- günstige Eigenschaften (speziell III Generation)
- geringer Kodierungsaufwand
- hohe Zuverlässigkeit der Programme
- stark verbsesserte Selbsdokumentation
- erfüllbare Hardwareanforderungen
- Mangel der Sprachen der III- Generation für PDV- Programmierung
- eingeschränkte bzw. keine EZ-Fähigkeit
- Compiler erzeugen meist ineffizienten Code
- Unzureichende Verarbeitung spezieller Operationen (Analogsignale/Binärsignale)
- Versuch der Lösung der EZ-Probleme
- Spracherweiterung für prozeßgekoppelte Datenverarbeitung
- Spracherweiterung im Sinne Parallelprogrammierung
- Implementierung von EZ-Verarbeitungen
Fazit:
- Erfordernis von Fachsprachen in EZ-Systemen
- angepaßte Fachsprachen nach Anwendungsfall
Rolle von Fachsprachen bei PDV-Systementwurf
[Bild ...]
Tendenz
- Embedet Systeme
- CAN-Bus
- EBS (1..20 Kb, Konfigurierbar)
- C-Compiler
- CPU
- 32-bit
- 64-256 kb Speicher
- AD/DA Kanäle
- CTC, Bin E/A
- Kommunikationskontroler
Anforderung an Fachsprachen der PDV aus Anwendersicht
- Realisierung EZ-Fähigkeit
- erhöhte Ausdrucksmächtigkeit
- Berücksichtigung der Entwurfs und Anwenderspezifikation
- Effizienz von Laufzeit und Speicher
- Komfortabel (analog Hochsprache)
- Funktionsoffen (Modularität, Erweiterbarkeit)
- einfache Erlernbarkeit, Anwendung
- Selbstdokumentation
- Verfügbarkeit/Preis
PDV System als Gegenstand der Fachsprachen Anwendung
- Aussage – PDV System – Struktur
- Aussage – Entwurf
- Anforderung + Eigenschaften von Fachsprachen
- exemplarische Fachsprachen
- Beachtung von Eigenschaften und Forderungen Allgemein → Ableiten einer verallgemeinerten Fachsprache
Allgemeine Aspekte der Begriffe, Automatisierung
- Nach Neumann:
- on-line Kopplung Automatisierungseinrichtungen → Prozess
- Echtzeit-Informationsgewinnung und Verarbeitung
- Forderung der Einhaltung und Prioritätsvorgaben
- Niveau der Automatisierungseinrichtung orientiert sich am Prozess
- Systemgedanke
- im Systemgedanken deutliche Niveaustufen möglich/sinvoll
Abgrenzung auf Problemklassen
- Alle Ebenen sind/bleiben berechtigt
- weiter auf 2.) konzentrieren
- Koppelbarkeit zu hierarchischen Systemen soll gegeben sein
- BILD: Kommunikation in PDV Systemen
Systemkommunikation
- Gewinnung und Darstellung von Informationen über Systemsignalen und Zustände der Automatisierungsanlage (AA) für Bediener und
- gezielte Beeinflussung dieser im Dialog
- Prozesskomunikation
- Signalwege und Darstellung der Größen des technischen Prozesses für Bediener
- Prozessbeeinflussung in Echtzeit und Dialogbetrieb
- Erforderlich weil:
- Realisierungsart, -tiefe von den Ebenen und den Anforderungen an die Kommunikation abhängig ist
Allgemeine Betrachtung zur Entwurfsmethodik
- Entwurf ist Festlegung der Struckturierung und Funktion des Systems
- Entwicklung ist die Kombination von Analyse und Synthese
- funktionelle Entwicklung → Abbildung von Eingangsfolgen auf Ausgangsfolgen
- strukturelle Entwicklung → Menge der Systeme realisierbarer Strukturelemente und deren Verkopplungen
- Funktion + Struktur = Architektur