form based systems
Semantic Computer System Development Programming–A Primer
A Primer on Programming–The Basics, History, Design & Components for Non-Technical Business Executives
By John R. Coyne, Semantic Computing Consultant
In traditional programming and the Systems Development Lifecycle, a process of gathering information from users to describe needs is translated into a systems analysis, confirmed and then codified—thus producing a System Design.
Then, an architecture or framework to support the system is created.John R Coyne Service Oriented Architecture
This will include
•Infrastructure
•Software
•Choice of programming language
•Operating system
•Data elements •These are called from time to time and potentially modified
Thus, this architecture is then the support system for the system design and all its components.
Programmers perform two fundamental functions:
1.They express the user(s) needs in terms of statements of computer functions.
2.Embedded in those computer functions are the methods that the computer will need to perform in order to execute them. These are: •descriptions of data to be used
•networks to traverse
•security protocols to use
•infrastructure for processing
(Summarized at the most abstract level, these could be described as: Transport, Processing and Memory)
This intricate association of descriptions of 1) what the system should do, and 2) how it will do it relies on the programmer and system designer to perform their tasks with precision.
In many cases both will rely on third-party software, the most common of which is a proprietary database.
These proprietary databases come with tools that make their use more convenient. (That is because these databases are complex and, without the tools, the systems designers would have to have intimate knowledge of how the internals of the database systems work.)
Thus, the abstraction allows the systems builder to concentrate on what the user wants, versus what the database system needs to perform its functions.
In the early days of computing, programmers would have to make specifications of the data they needed, test the data and merge or link other data types. Now, databases come with simple tools like “SQL” that allow programmers to simply ask for the data they want. The database system does the rest.
Programs written in programming languages are also abstractions.
How Computer Programming Developed
In the early days of programming, programs were written in machine language, which was an arcane art blending both engineering and systems knowledge. Later, assembler languages were developed as a first level of abstraction. These were known as second generation languages. Even these languages required specialized skills. The next leap was with third-generation languages—the most common of which was COBOL (short for Common Business Oriented Language, which was developed so that people without engineering skills could program a computer).
With machine languages, there was no translation function to have the computer system understand what the programmer wanted it to do. (With assembler languages, there was a moderate translation, but they are so similar to the machine language that little translation is needed).
In third-generation languages, the concept of a “compiler” was created. The compiler takes a computer language that is easy to program in and translates it to a language the computer can use for processing the requirements. During this generation of programming, many third-party tools were developed to aid systems designers in the delivery of their systems and thus a whole industry was born.
Not surprisingly, computers became more complex and, over time, so did the systems that people wanted designed. This complexity drove systems to become almost impossible to understand in their entirety. Eventually, instead of changing them, systems designers simply appended new programs to the older systems and created what is sometimes termed “spaghetti code.”
Eventually, something had to change. Now, after years of research based on artificial intelligence techniques, new tools have emerged that enable a new generation of programming that allows the computer to determine the best resources it needs to do what is requested of it. The science in this is not important. What IS important is that now, the original process of determining what the user wants can be separated from how it gets done.
In semantic modeling, no programming takes place. Rather, a modeler interviews subject matter experts to determine what they want to happen, the best way for it to happen and the best expected results.
Semantic modeling is constructed much like an English sentence, (which is one reason for the term “semantic”). There is a subject, a predicate (or relationship) to an object of the sentence. Like the building of a story, or report, these “sentences” are connected to one another to create a system.