Semantic-oriented programming

Semantic-oriented programming

Semantic Oriented Programming (SOP) in which you express your code directly in semantic meanings, most suitable to reflect your task. This means, that for each task you may need to add new semantic meanings, thus you'll need an extendable and configurable programming language and development environment. Actually, any programming language is extendable - by defining new methods, by defining new classes and types, or sometimes by defining or overloading operators and statements. But SOP assumes much higher level of extensibility.

As a key change to a programming model SOP proposes to change text representation of programmes to a linked tree of nodes, where each node represents a concrete or abstract semantic meaning or action. A "linked" means that there are cross-referencies between nodes, for instance - a link from an operation "load value of the variable X" to the node "declaration of variable X". Giving up with textual representation of the code and programmes we achieve following advantages:

* A programmer can freely and quickly add new semantic meanings (as new kind of tree nodes) to the language he uses, without breaking compatibility with development tools, as far as he will provide some rules for automatic transformion of new nodes into the base set of semantic meanings.
* The same code may be rendered in different way, using a text syntax, or graphics, or a mix of both. This can be used for a more convenient code display according to personal prefearences (using C-style or Pascal-style syntax, or different formatting and pretty-printing of the code); as a convenient way for interative programming - to fold/unfold some constructs, to use condensed or detailed code view, to switch between design view (like UML diagrams) and code, to show the program as self-documented code and so on.
* Much easier writing of different code refactoring and automatic transformation tools, measurement and auditing tools, because they will operate on a standardized internal representation of the code, convenient to analyse.

ee also

*Model Driven Engineering
*Domain Specific Languages
*Service Oriented Programming
*Language-oriented programming
*Aspect-oriented programming
*Generative programming
*Intentional Programming
*Code generation

External links

* [http://www.symade.org/ SYMbolic Adaptable Development Environment] as an open-source, reference implementation of SOP.
* [http://www.symade.com/ Semantic Oriented Programming] description and standardization page.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Subject-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Service Oriented Programming — (SOP) is a programming paradigm that uses services as the unit of computer work, to design and implement integrated business applications and mission critical software programs. Services can represent steps of business processes and thus one of… …   Wikipedia

  • Object type (object-oriented programming) — See also: Object (computer science) In computer science, an object type (a.k.a. wrapping object) is a datatype which is used in object oriented programming to wrap a non object type to make it look like a dynamic object.[citation needed] Some… …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • Programming paradigm — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concu …   Wikipedia

  • Programming in the large and programming in the small — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computin …   Wikipedia

  • Programming language theory — (commonly known as PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and programming language features. It is a multi disciplinary field, both… …   Wikipedia

  • Semantic Web — The Semantic Web is an evolving extension of the World Wide Web in which the semantics of information and services on the web is defined, making it possible for the web to understand and satisfy the requests of people and machines to use the web… …   Wikipedia

  • Intentional programming — In computer programming, intentional programming is a collection of concepts which enable software source code to reflect the precise information, called intention , which programmers had in mind when conceiving their work. By closely matching… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”