Glossary
A
- Android
Operating system and software platform for mobile devices developed by the Open Handset Alliance, managed by Google. Android is based on Linux and mainly programmed through Java. Android is a free and open source software, which is one of the reasons for its countless software enhancements.
More information: http://www.android.com/See also:- Apache CXF
Open source web service framework by the Apache Software Foundation. Web service standards support, various front end programming models and the simple use and support of binary and proprietary protocols are some of its core features. CFX is often used in SOA infrastructure projects.
See also:- API (Application Programming Interface)
Sub-program provided by a software system to allow other programs to access that particular system. Program access is defined at source code level. The API allows or simplifies the access of databases or hardware components, as well as the creation of graphical user interface components.
- ARTOP
Eclipse-based implementation of basic functionality for AUTOSAR authoring tools. Artop and its source code are freely available for all AUTOSAR members and partners.
See also:- ASP.NET
Server-side technology developed by Microsoft used to create web applications based on the Microsoft .NET-Framework. It can be used with all .NET supported programming languages – however the most common and nearly exclusively used ones are C# and VB.NET.
- AUTOSAR (AUTomotive Open System ARchitecture)
Popular architecture standard, which is slowly becoming the basis of software development in the automobile industry. The aim is to facilitate easy replacement of software in different control units. Standardized software architecture was developed specifically for this purpose. This is to ensure that software components can be reused, replaced, scaled and integrated.
C
- C
Imperative programming language, which has been used for programming of systems and applications since the beginning of the 1970’s. The kernels of many operating systems and the basic programs of all Unix systems have been programmed in C. Many programming languages are inspired by C, such as C++, C#, Java and PHP.
- C#
Object-oriented programming language developed by Microsoft, which takes up the concepts of the programming languages Java, C++, Haskell, C and Delphi.
See also:- CDT
Plug in for Eclipse providing a good basis for software development in the programming languages C and C++.
D
- DSL (Domain-Specific Language)
A language formally defined and specifically designed for a particular problem space (domain). All problems of this (and only this) domain must be presentable. It can be graphical or textual and it facilitates easy communication without particular additional knowledge.
See also:
E
- EBNF (Extended Backus-Naur Form)
Formal meta-language used to describe the syntax of the formal language.
- Eclipse
Open source programming tool for software development. Eclipse was originally used as an integrated development environment for programs written in Java. Today, thanks to its enhancement possibilities, it is used for many other development processes. Many of these enhancements are also open source. Eclipse was developed by the Eclipse Foundation with itemis as an active strategic member.
- EJB 3 (Enterprise Java Beans)
Standardized components within a Java-EE server, which simplify the development of multi-layered, distributed software systems with Java. These systems can be accessed remotely or locally. JavaBeans enables the implementation of concepts required for the business logic of an application.
See also:- Embedded Systems
Electronic computers integrated into a technical context. These computers control the system, in which it is embedded, or are responsible for the processing of data or signals. They can be found in many different technical systems and devices, e.g. cars, planes, washing machines and refrigerators.
- EMF (Eclipse Modeling Framework)
Open source Java-Framework for the automatic creation of source code on the basis of structured models. It is based on open standards. EMF is a project of the Eclipse open source community.
See also:- EMP (Eclipse Modeling Project)
Collection of Eclipse projects, which deal with modeling, creating domain-specific languages and various technologies of model-driven software development.
F
- Framework
Framework describing the environment, in which the developer writes the application. It is used especially in the object-oriented software development, as well as in component-based development approaches.
G
- GEF (Eclipse Graphical Editing Framework)
Eclipse-Framework for the creation of graphical model editors.
See also:- Generator
Computer program for software development. It translates models created in a formal language into the programming language of the selected target platform. It quickly and accurately generates source code (code generation), which can then be linked with other program components to create a program.
- GMF (Graphical Modeling Framework)
Graphical Modeling Framework:Supplement for the Graphical Editing Framework (GEF). Supports generative development of graphical model editors with GEF.
See also:- Groovy
Object-oriented dynamic language for the Java platform. Java classes and libraries can be used directly with Groovy. Groovy simply integrates with existing Java infrastructures. Groovy sets aside the syntactical ballast of classical programming languages and is therefore easy to learn. Groovy is especially suitable for XML-processing and testing.
I
- IIS (Internet Information Services)
A service platform for Microsoft PCs and servers. The core function is hosting websites while the IIS manages the static contents and the delivery. It can be used with different communication protocols, such as HTTP(S), FTP, MTP and WebDAV.
J
- Java
Object-oriented, platform-independent programming language and registered trademark of the Sun Microsystems, which was purchased by Oracle in early 2010. Java programs are initially translated into a bytecode and then executed in the Java run-time environment, the main element of which is the Java Virtual Machine (Java-VM). The bytecode is interpreted in this process and Just-in-Time (JIT) compiled, where necessary. Java programs are platform-independent and operate as a rule on all computers and operating systems, which have an existing Java-VM.
- JAXB (Java Architecture for XML Binding)
A Java program interface, which facilitates XML-data binding. It automatically binds data from an XML-schema to Java classes and generates these Java classes from a given XML-schema.
See also:- JetBrains MPS
Open source software development environment for domain-specific languages, which can be used with a wide range of notations. This tool also facilitates easy modularization and composition of languages and code generators.
See also:- JPA (Java Persistence API)
Inteface for Java applications, which simplifies the allocation and transfer of objects to database entries. The developer persists domain-specific objects in the database while JPA sorts out the necessary mapping to database tables. Even existing database schemas, which cannot or should not be altered, can be utilized by JPA for modern Java applications.
See also:- JPQL (Java Persistence Query Language)
Can be used for database queries. These queries refer to entities rather than database tables JPA translates queries written in JPQL into SQL statements, which are understood by the target database. With this abstraction database systems can be exchanged while Java classes are fully retained.
- JUnit
Framework for testing Java programs. JUnit is particularly useful in testing of individual units, mainly classes or methods. It is the most important resource in Extreme Programming and Test-Driven Development.
M
- MATLAB
Commercial platform-independent software for solving of mathematical problems and graphical presentation of results, primarily for numerical calculations by means of matrices.
See also:- Maven
Build-management tool for object-oriented development with Java. Maven helps developers to create and manage Java applications in a standardized way. In this, Maven supports them from the creation of a software project to the compilation and testing through to the distribution of the software to application computers, which allows for the automation of many steps.
See also:- MDA (Model Driven Architecture)
Standardization initiative by the Object Management Group (OMG) for model-based and generative software development. By clearly separating the abstraction levels in system modeling, the MDA secures reusability and longevity of the models. The automatic generation of source code from the models increases the degree of automation in the development and minimizes sources of errors.
More information: http://www.omg.org/mda/See also:- MDSD (Model Driven Software Development)
- See also:
- MetaEdit+
A commercial tool for developing graphical domain-specific languages and corresponding code generators.
- Model Driven Software Development
MDSD
Increases the degree of automation in software development. Large segments of the program code are automatically generated from formal and abstract models. Separation of functionality (models) and technology (generator) reduces the extent of complexity. Technical decisions are recorded in the generation instructions. This allows for the implementation of a well-defined, binding and easily maintained architecture. The architectural knowledge preserved that way is reusable and independent of expertise. This approach improves the quality of the results and leads to clearly reduced development costs.
N
- .NET
Software platform for the development and execution of programs. It contains a run-time environment, class libraries, program interfaces and service programs (so-called services). Developed by Microsoft, .NET is only available in full to Windows users.
O
- oAW (openArchitectureWare)
Generator framework for model-based software development. The core components of oAW, such as Xtext, Xpand, Xtend and the Modeling Workflow Engine have now been moved to the Eclipse Modeling Project, where the global Eclipse Community will take care of their further development.
More information: http://www.openarchitectureware.org/- OCL (Object Constraint Language)
Supplementary to UML. The aim is a more precise modeling of software by additionally specifying the boundary conditions of a model. OCL expressions can be processed by programs and assist the generation of codes. However, the model is not altered, but monitored in the process.
See also:- OEM (Original Equipment Manufacturer)
Manufacturer, who produces ready components or products, but does not directly sell them. This term is used in various contexts across the IT sector. The difference, for example, between OEM software and the full version could be a smaller scope of supply.
- Open-Source
Open source software is licensed with the approval of the Open-Source-Initiative (OSI). OSI refers to the term “open source”, where the software is available in a form, which is legible and comprehensible for humans, and which can be copied, distributed, altered and forwarded in the altered form without limitations.
- Oracle Forms
Software development tool used in programming of database-assisted interactive dialog masks. It supports not only the Oracle database, but also various other SQL-databases. The current version exclusively supports the web-based 3-tier architecture.
See also:- ORM (Object-relational mapping)
Object-relational mapping:Software development technique, which allows an application program written in an object-oriented programming language to store its objects in a relational database. This database then appears as an object-oriented database, thus simplifying the programming process. There is an available standardized interface for Java for this purpose: the Java Persistence API.
P
- Parser
Computer program responsible for the analysis and translation of an entry into a format, which is useful for further processing. HTML, for example is recognized by a computer simply as a text. The browser’s parser analyzes the HTML and generates from it a description of the website in a data format, which is then transferred by the browser’s layout engine to the output medium, such as a screen.
- PMBoK (Project Management Body of Knowledge)
- See also:
- PMI (Project Management Institute)
Non-profit organization focused on the requirements of professional project managers. Its members, who come from all major industrial sectors, represent the PMI in more than 135 countries. The PMI’s “Guide to PMBoK (Project Management Body of Knowledge)” describes the processes and core functions of applied project management.
More information: http://www.pmi.org- POM (Project Object Model)
Apache Maven concept. Information for a Maven-supported software project is usually stored in a pom.xml-file. This file contains all information about the respective software project in a standardized format. When executed, Maven checks if the file contains all the required information in correct syntax.
R
- Repositories
Managed directory used for storage and description of digital objects, e.g. programs, documents or data models. Repositories often offer functions, which allow versioning, checking out or checking in of the managed objects, as well as recording of the alterations.
- Rich Client
Offers a graphical interface and is similar to a Fat Client in regard to its functionality. Important processing tasks can be executed from the server. After processing, data are transferred in a standard exchange format and interpreted by the Rich Client.
See also:
S
- Scrum
Framework based on the principle guidelines of agile software development used for completing projects. A complete system made up of meetings, artifacts, roles and values, Scrum is a process model for product development.
More information: http://www.scrum-kompakt.de/See also:- Service-Oriented Architecture
SOA
Architectural concept aiming at the provision of specialist services and functionalities in the form of services. This structure facilitates the integrity of enterprise applications by concealing the complexity of individual applications behind the standardized interfaces. The aim is a long-term reduction of costs in software development and increased business process flexibility with the reuse of existing services.
- Simulink
Software for modeling dynamic systems. Simulink is a supplementary product for MATLAB and cannot be executed without it.
See also:- SOA
- See also:
- SOAP (Simple Object Access Protocol)
Protocol for data exchange between systems, which also supports the request of procedures in other address spaces (Remote Procedure Call). SOAP relies on the services of other standards: XML for data representation, as well as internet protocols of transport and application layers for message transmission.
See also:- SQL
Often interpreted as an abbreviation for “Structured Query Language”. It is the language worldwide most commonly used for the definition, query and manipulation of data in relational databases. SQL is standardized by ANSI and ISO and is supported by most common database systems.
- SysML
Standardized language based on the UML used for modeling complex systems. It facilitates the analysis, the design and the testing of these systems.
See also:- Systems Engineering
Interdisciplinary approach for implementing technical systems in large projects. Systems Engineering integrates all disciplines and skills in a standardized team-oriented and structured process.
T
- TDD (Test-driven Development)
Method often used in agile software development, e.g. in Extreme Programming (XP). The software engineer always designs required software tests before the application components, which need testing.
- TMF (Textual Modeling Framework)
Facilitates the development of fully-fledged integrated software development environments for programmer- and domain-specific languages. The TMF provides the tools and frameworks for the development of a textual syntax.
U
- UML (Unified Modeling Language)
Graphical modeling language. Used for specification, construction and documentation of software and other systems. The UML defines identifiers for most of the essential terms in modeling, and determines any possible relationships between them. It also allocates graphical notations for these terms and for models of static structures and dynamic processes.
More information: http://en.wikipedia.org/wiki/Unified_Modeling_Language
V
- VB.NET
Object-oriented programming language, in newer versions based on the Microsoft .NET Framework. In order to distinguish between the old and the new versions, the latter are referred to as Visual Basic.NET (abb. VB.NET).
See also:- Visual Studio
Integrated Microsoft development environment for various high level languages, which allows the programmer to develop classic Windows-programs or dynamic websites for the internet/intranet. The main focus is on the creation of applications for the .NET Framework.
See also:
W
- WCF (Windows Communication Foundation)
Service-oriented communication platform for distributed applications under Windows. In WCF Microsoft connects many network tasks and makes them available to developers in a standardized form. It is mainly used in the area of development of service-oriented architectures.
See also:- WF ((Windows) Workflow Foundation)
Extendable and comprehensive framework for the development of workflow solutions on the Windows platform. Provides an API and tools for the development and execution of workflow-driven applications.
- WPF (Windows Presentation Foundation)
Graphical framework and part of the Microsoft .NET Framework. Ist principle is the separation of presentation and business logic.
See also:- WSDL (Web Services Description Language)
Platform-independent, programming language-independent and protocol-independent description language for web services, which facilitates the exchange of messages on the basis of XML.
See also:
X
- XML (Extensible Markup Language)
Metalanguage for purposes of definition of markup languages for the creation of machine-readable and human-readable documents in the form of a World Wide Web Consortium (W3C)-defined tree structure. Among other purposes, it is used for the exchange of data between computer systems, especially via internet.
More information: http://en.wikipedia.org/wiki/XML- XML-Schema
A W3C standard for the definition of the structure of XML-documents. It describes the structure in the form of an XML-document. A particular XML-schema is referred to as XML-schema definition.
See also:- Xpand
Typified template language for code generation with powerful features. It facilitates write access in template files, allows templates to be called up polymorphically and expanded or hidden by aspects.
More information: http://www.openarchitectureware.org/- Xtend
Functional language, which facilitates the expansion of existing model types. These expansions can be called up within Xtend, but also in other oAW languages (Check and Xpand). The Create Extensions concept simplifies model transformation.
More information: http://www.openarchitectureware.org/- Xtext
Open source framework for the development of textual domain-specific languages (DSLs). Xtext is based on the Eclipse Modeling Framework and integrates perfectly with its technologies. The framework uses the given grammar to generate a complete, language-specific IDE. Xtext was developed by itemis as part of the Eclipse TMF project.
More information: http://www.eclipse.org/Xtext/
Y
- YAKINDU
This term summarizes all itemis activities within the area of tool integration for embedded systems in Eclipse. YAKINDU provides tools for software developers, which allow them to program and test embedded systems faster and more efficiently. The precise digital models of the systems to be developed are essential in this context. These models allow for parts of the software to be generated automatically, their effect to be simulated and their interoperability with other components to be tested.
