Skip to main content
Jump to: navigation, search


Revision as of 08:45, 29 January 2013 by (Talk | contribs) (System Overview)

System Overview

The Open System Engineering Environment (OSEE) is an integrated, extensible tool environment for large engineering projects. OSEE is more than an integrated development environment (IDE), but is an integrated product life-cycle development environment. The system captures project data into a common user-defined data model providing bidirectional traceability, project health reporting, status, and metrics which seamlessly combine to form a coherent, accurate view of a project in real-time. By building on top of a central data model, OSEE provides an integrated configuration management, requirements management, implementation, testing, validation, and project management system. All of the components work together to help an organization achieve lean objectives by reducing management activities, eliminating data duplication, reducing cycle-time through streamlined processes, and improving overall product quality through work flow standardization and early defect detection.

OSEE High Level System Overview

OSEE is customizeable to meet the needs of the project. The teams working on the project, the roles they perform, and the processes they follow are all configureable within OSEE. Traceability is maintained from requirements through acceptance testing. Program management can customize the metrics gathered in order to best gain insight into the project status.

OSEE Quality Attributes

The following defines the high level quality attributes for the OSEE system

  • Changeability - new or updated serverices can easily be incorporated into OSEE
  • Composability - provided services will be reusable and/or extendable
  • Flexibility - tailoring of the system can be accomplished through configuration
  • Openness - open standards will be used where applicable
  • Performance - the system will respond in a timely manner to user queries
  • Scalability - the system can scale as more users and projects are managed

OSEE Components

At the core of OSEE is the OSEE Framework. On top of the framework sits four core components: Action Tracking System (ATS), Define, Coverage, and Open Test Environment (OTE). The User Management component, which allows for user authentication, verification and role based access control (RBAC), is used by all of the OSEE components.

OSEE Component Diagram

OSEE is built on top of Eclipse, and utilizes the OSGi framework to manage it's bundles. Capabilities provided by 3rd party libraries and exposed in the Base Level API include:

  • Logging - Provide a consistent logging mechanism
  • Console
  • Event Systems - Manage the use of events
  • JAX-RS - Java REST API implementation
  • ActiveMQ - Event Messaging
  • Servelet Management
  • JDK Extensions

OSEE Framework

The heart of the OSEE Framework is the Object Revision Control System (ORCS). ORCS provides the foundation the rest of the components are built on top of. The key capabilities provided by ORCS are:

  • Object Management - The definition and persistance of any object of any simple or complex type can be managed, and type safety is ensured on all operations.
  • Data Model - the underlying data model is configurable per project
  • Version management - baselines and branching for a project are managed
  • Searching/Indexing
  • Transaction Management
  • Administration
  • Data Import/Export - external systems can supply or consume data

Action Tracking System

The Action Tracking System (ATS) is a tightly integrated tracking system that manages changes throughout the different aspects of a product's lifecycle. ATS provides integrated change management to all OSEE applications through customizable work processes (workflows) and ensures traceability from start to completion.

ATS is highly configurable and can be configured to meet any project's work tracking needs. The level of detail of work items, team organization, process to complete work item types are all configurable for a project.

At the highest level, an item of work to be completed is referred to as an Action. Actions are created as work is needed for a project.

A project can specify a work hierarchy for the different kinds of work tasks that need to be performed and tracked. Each defined work category is referred to as an Actionable Item (AI). An Action can be composed of a single or multiple AIs.

Actionable Item Hierarchy Example

A team can be assigned to work on an AI. The team definition is similar to an organization chart, or a logical grouping of teams that perform certain types of work.

Team Definition Example

Each Team Definition has a Workflow Definition (or state machine) that defines the process that team uses to track and complete the work. Each state of the workflow can have configured conditions or fields that are required to transition.

Workflow Definition Example

A Task is the lowest level of work, and is used to allocate the work to individuals. A Task can be associated with a particular state or a state can have multiple tasks that need completing before the workflow can advance to the next state.

A Version is used to group a set of Actions together into a "build", "release", "edition", etc.

Status data associated with tasks can be used to create metrics that roll-up to the Workflow, which can roll up to the Team, which can roll-up to the Action, which roll-up to the projuct. Metrics can be obtained for any specified grouping within the project (e.g. Team, Version, etc.)

ATS Details



Open Test Environment (OTE)

OSEE Functional Use Cases

OSEE Deployment

OSEE Network Diagram


Images were created using Inkscape

Back to the top