Question: What is the name of this small company producing operating systems and programming languages, whose employee Kathleen O'Brien programmed the Atari Assembler Editor?

Context articles: Atari Assembler Editor
Usage share of desktop operating systems
Pattern directed invocation programming language
Shepardson Microsystems
Data-centric programming language
Optimized Systems Software
Scripting language
As (Unix)
Macro instruction
API-Calculus

The Atari Assembler Editor is a cartridge-based development system used to edit, assemble, and debug 6502 programs for the Atari 8-bit family of home computers.
 It was programmed by Kathleen O'Brien of Shepardson Microsystems.
 It was the first commercially available assembler for the Atari 8-bit computers.
The usage share of desktop operating systems is the percentage of the operating systems (OS) used in computers (approximately market share) with so-called (retronym) desktop operating system, that also run on e.g. laptops. Originally the only computers running those operating systems, where desktop computers, while with the introduction of so-called new class of mobile operating systems, desktop got to be the part of the name of the former class of OSes.
 The computers running these OSes have the desktop metaphor style of GUI, unlike the mobile OSes.
 See also usage share of operating systems for breakdown of the share of desktop, mobile (and other styles of) operating systems, separately, and share of those all operating systems as part of across classes.
In computer science, pattern-directed invocation programming languages are programming languages in which procedures are invoked indirectly by specifying a pattern for a set of procedures as opposed to specifying one directly by name, pointer, URL, etc., as in conventional programming.
 These languages were initiated by Planner which featured high level plans invoked by patterns for assertions and goals.
 They include logic programming languages such as Prolog as a special case.
 Ether was a pattern-directed invocation language introduced in the Scientific Community Metaphor.
Shepardson Microsystems, Inc. (SMI) was a small company producing operating systems and programming languages for the Atari 8-bit and Apple II computer families.
 SMI is most noted for authoring Atari's BASIC and Disk Operating System (DOS) products.
Data-centric programming language defines a category of programming languages where the primary function is the management and manipulation of data.
 A data-centric programming language includes built-in processing primitives for accessing data stored in sets, tables, lists, and other data structures and databases, and for specific manipulation and transformation of data required by a programming application.
 Data-centric programming languages are typically declarative and often dataflow-oriented, and define the processing result desired; the specific processing steps required to perform the processing are left to the language compiler.
 The SQL relational database language is an example of a declarative, data-centric language.
 Declarative, data-centric programming languages are ideal for data-intensive computing applications.
Optimized Systems Software (OSS) was a small company that produced disk operating systems and programming languages for primarily the Atari 8-bit computers.
 OSS is best known for their enhanced versions of Atari BASIC, the MAC/65 assembler (which is much faster than Atari's products), and the Action!
 programming language.
A scripting or script language is a programming language that supports scripts: programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator.
 Scripting languages are often interpreted (rather than compiled).
 Primitives are usually the elementary tasks or API calls, and the language allows them to be combined into more complex programs.
 Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), embedded systems, as well as numerous games.
 A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, this is also known as an extension language.
 Scripting languages are also sometimes referred to as very high-level programming languages, as they operate at a high level of abstraction, or as control languages, particularly for job control languages on mainframes.
as is a generic name for an assembler on Unix.
 On many systems the standard or pre-installed assembler is the GNU Assembler, commonly called GAS, whose executable is simply named as.
 This often causes the generic as to be often mistaken for the GNU Assembler.
 This problem is infrequent with many other assemblers if they have unique executable names; such as the Netwide Assembler, or NASM, whose executable name is its abbreviation, nasm.
A macro instruction is a line of computer program coding that results in one or more lines of program coding in the target programming language, sets variables for use by other statements, etc.
 In the mid-1950s, when assembly language programming was commonly used to write programs for digital computers, the use of macro instructions was initiated for two main purposes: to reduce the amount of program coding that had to be written by generating several assembly language statements from one macro instruction and to enforce program writing standards, e.g. specifying input/output commands in standard ways.
 Macro instructions were effectively a middle step between assembly language programming and the high-level programming languages that followed, such as FORTRAN and COBOL.
 Two of the earliest programming installations to develop "macro languages" for the IBM 705 computer were at Dow Chemical Corp. in Delaware and the Air Material Command, Ballistics Missile Logistics Office in California.
 A macro instruction written in the format of the target assembly language would be processed by a macro compiler, which was a pre-processor to the assembler, to generate one or more assembly language instructions to be processed next by the assembler program that would translate the assembly language instructions into machine language instructions.
API Calculus is a program that solves calculus problems using operating systems within a device that solves calculus problems.
 In 1989 the PI- Calculus was created by Robin Milner and was very successful throughout the years.
 The PI Calculus is an extension of the extension of the process algebra CCS, a tool that has algebraic languages that are specific to processing and formulating statements.
 The PI Calculus provides a formal theory for modeling systems and reasoning about their behaviors.
 In the PI Calculus there are two specific variables such as name and processes.
 But it was not until 2002 when Shahram Rahimi decided to create an upgraded version of the PI- Calculus and call it the API Calculus.
 Milner claimed the detailed characteristics of the API Calculus to be its "Communication Ability, Capacity for Cooperation, Capacity for Reasoning and Learning, Adaptive Behavior and Trustworthiness."
 The main purpose of creating this mobile advancement is to better network and communicate with other operators while completing a task.
 Unfortunately, the API Calculus is not perfect and has faced a problem with its security system.
 The language has seven features that was created within the device that the PI Calculus does not have.
 Since this program is so advanced by the way the software was created and the different abilities that are offered in the program, it is required to be converted to other programming languages so it can be used on various devices and other computing languages.
 Although the API Calculus is currently being used by various other programming languages, modifications are still being done since the security on the API Calculus is causing problems to users.