B: Glossary
  
Glossary
Every knowledge area has its own terminology, the same applies to software applications. Certainly the nomenclature FactoryStudio uses follows market standards whenever possible, but there are specific terms related to the system and other common words may have a special meaning when using in this context.
This glossary has most the terms and keywords used by FactoryStudio and also concepts and related technologies that are relevant to our context.
It is extremely recommended to at least read of this glossary once, after you used FactoryStudio for a couple of months. Doing a review of the definitions and nomenclature used by the FactoryStudio platform and Tatsoft development and engineering teams, combined with your experience with the product, will put your understanding of system and efficient on creating applications to a new higher level.
 
.
App Domain or Application Domain
Represents the virtual isolated computer environment, where a .NET application runs. Isolated, in its context, means that the memory areas and components used by programing running in that environment are completely isolated from other programs running in the same computer.
The inherent isolation of the .NET domains creates an intrinsically safe protection for the running projects, as it prevents one process from interfering with another, allowing even two different versions of the same program to run side by side.
A more technical definition if AppDomain is the boundaries that the CLR (Common Language Runtime) provides around the objects created from the same application.
Application
Refers to solution or final system created using FactoryStudio. The terms Application and Project are used with close meanings: Project refers engineering configuration and files necessary to implement the Solution and Application refers to conceptual solution that was created.
Assembly
Refers to an executable file (.EXE or Library.DLL) created using managed code and Microsoft .NET framework. 
Designer
Component of the Engineering Workspace used to draw and animate displays and synoptic screens.
DLL Hell
Term used to refer the complications on running the legacy Windows applications as there is no built-in isolation on the DLL libraries, memory and COM objects used by the applications. The .NET Framework completely eliminated that problem.
Domain, Server Domain, Client Domain
Refers to the values and location of objects at run time. Domain server objects running on the server are the objects running on the server during runtime. Values associated with this object are system-wide. Client domain means that the object is running on the client station and each machine can have different values.
Internal Module
Features and programs that implement internal system functions that run without any user configuration.
Examples are the Network Synchronization task and the Background Report Generator. Some Studio tools e.g., ModuleInformation.exe, may display status information of those internal Modules, however that information is required only for advanced system optimizations.
Main Project File
Refers to the SQL Studio encoded database that contains the project configuration. The extension.TPROJ references the current project still under development. The extension.TRUN references read-only published projects.
Modifier (Device/Points)
Auxiliary parameter to effect read and write points for a device, the treatment of Arrays, bit masks, strings, swap and other operations in which a DataType definition can not define them completely.
Module
A program that accesses the database in real time (RtDB) and can be composed of one or more Assemblies.
Namespace
An address space. All objects created with a Namespace have unique names. "Address space" can also be understood as a form of tier objects. All process variables are grouped in the tag namespace; all reports grouped in the namespace report. The name of an object should be unique within the namespace to which the object belongs.
Object Type (RunObj type)
Determines the type of runtime object (display, report, script).
Objects, Runtime Objects
Runtime objects are those objects visible (through their names) to access the project via scripts and displays, such as Tags, Reports, Alarms, Displays among others. The namespaces also identify which execution module is reponsible to update those values, for example the Alarm Module will start and will update the values of the runtime objects associated with the alarms.
ObjectValues, PropertyValue
Runtime objects (for example, Tags, deviceNodes, etc.) can have one or more properties defined. The TAG (and the property value), for example, MIN, MAX, description, among other properties.
PropertyWatch
Diagnostic utility to check and modify the values of the objects at runtime.
Parameters(Tag Configuration)
Definition of the parameters of behavior and values processing for Tags.
Project
A configuration set Studio sketches of displays, reports, scripts and user notes created and edited with a single entity.
projectDB / ProjectDatabase
ProjectDB (or project database) is a database that contains configuration information. Matches files with the extension <Project>.Tproj (current type, for example) or <Project>_ version.Teng (type released, for example).
Property or Atribute
Property (value) associated with a Tag or object.
RunDB, Runtime Database/RtDB
The real time database created when the project is running. All objects running accessible (such as Tags, Displays, Reports) are objects on the Runtime Database, also called Real-Time Database or RtDB.
Runtime
Refer to a project with modules loaded and running.
Runtime Startup
Operation that is the project at run time. This operation can be performed from the program TStartup.exe in the current version of FactoryStudio, or TServer.exe in the published version of the project.
Tag
A process variable. Name of a Namespace that includes all the variables created by the user in a project configuration.
Tag Type
Defines the type of objects in the Tag Namespace: Digital, analog, text. These Tags are a class of compounds or properties accessed directly such as minimum, maximum, Value, quality. Each property is internally created as ValueType.
Task (Script.Task)
Task program written in VB.NET (or C #) that runs on the server or client during the runtime of a project. The execution will be on the server or client, depending on the configuration of the domain property in the script.
TManager
The program that performs the configuration of a project.
Toggle
Reverses the value of a variable. Values greater than zero are converted to zero; zero is converted to the value "1".
Trust, Partial Trust, Full Trust
Partial Trust: Environment in which an application has limited access to resources (restricted access to files from particular folders, running other applications, etc.). XBAP applications that run within a browser (e.g., Internet Explorer) should run in "Partial Trust".
Full Trust: Environment in which an application has access to all system resources. Applications installed on a computer usually run in "Full Trust" mode.
Visibility (Tag Visibility)
Refers to the tagging system; Tags can be Private, Public or Protected.
Public:
The value of the Tag during the execution of the Runtime is available for access to external Programs via TCP / IP or OPC Server. Also, the value of Tag is necessarily global or shared in all the client stations (Server Domain).
Protected:
Read-only.
Private:
A Tag set to "Private" can not be accessed by external applications (OPC Server, TCP / IP) and will run in Client or Server machines according to the application configuration with the following characteristics:
Tags used only in modules called by the client (such as displays and Reports) run in the scope of the client, or may have different values on each client machine (Client Domain);
Tags used in server modules, such as Devices and Alarms have a unique value in the system (Server Domain).
 
XBAP
Xaml Browser Application (XBAP) is a graphical application using the XAML technology that runs inside a browser (Internet Explorer).