Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

OSEE/Users Guide/Features

< OSEE‎ | Users Guide
Revision as of 11:14, 21 April 2009 by Ryan.d.brooks.boeing.com (Talk | contribs) (Database Initialization =)

Contents

What is OSEE

The [Open System Engineering Environment (OSEE)] project provides a tightly integrated environment supporting lean principles across a product's full life-cycle in the context of an overall systems engineering approach. 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 this data model, OSEE has been architected to provide an all-in-one solution to configuration management, requirements management, testing, validation, and project management. All of these 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.


Component Overview

Application Framework

Key Capabilities

   * Dynamic and strongly typed artifact model (persistence layer)
   * Bidirectional traceability through typed relations model
   * Advanced version control including multi-level branching
   * Subject-based and object-based Access Control
   * User management and authentication
   * Dynamic searching API
   * Indexing and tagging services
   * Views and editors for the creation, manipulation, and navigation of artifacts, attributes, and relations
   * Remote event service for communication and synchronization of OSEE instances
   * Rules framework for text processing
   * Utilities for plug-in developers
   * Scheduling framework
   * API for the extension and use of this framework to build tightly integrated applications
   * Encryption Utility
   * Database Utilities
   * Jini Utilities
   * Scheduling Service
   * Datastore Adaptor

Define - Requriements Management

Define provides requirements and process management with tightly integrated change management using the Action Tracking System (ATS). OSEE provides publishing capabilities that enable the creation of documents from smaller internal documents to the complex documents needed to meet military requirements for contract deliverables such as the Software Requirements Specification (SRS), System Performance Specification (SPS), Prime Item Development Specification (PIDS), and all the required traceability between them. Key Capabilities

   * Enterprise support for concurrent, distributed requirements development
   * Integrated process and workflow
   * Programmatic, bidirectional traceability
   * End user navigation and search capabilities
   * Capture accurate, meaningful review metrics
   * Tight integration with lifecycle tools
   * Automated change detection capabilities

Action Tracking System (ATS)

ATS is a tightly integrated change tracking system that manages changes throughout a product's lifecycle. ATS provides integrated change management to all OSEE applications through user customizable workflows. Key Capabilities

   * Built on same OSEE application framework as requirements, code, test development
   * Common Workflow Framework that provides for the creation of any number of simple to complex workflow state machine configurations that can work together during the engineering lifecycle
   * Workflows are configured through graphical diagrams that ATS uses at runtime
   * Configuration of ATS performed through OSEE?s common application framework enabling workflows to be created and modified without separate OSEE releases
   * Advanced project planning capabilities and release management
   * Duplication errors are minimized as items are automatically linked and data is shared
   * Menus, Views and Editors give access to ATS while working in any other aspect in OSEE
   * ATS is used to track changes and support issues for the development of OSEE itself
   * Bug Icon allows quick Action creation against any OSEE integrated tool

Test Environment (OTE)

OTE is a powerful test solution within OSEE that integrates with existing Java, C, and C++ development environments to provide a seamless flow between developing, debugging, executing, and dispositioning of tests for complex hardware and software. The user is provided a common interface to the simulated and real-time environments for both functional and unit testing. Key Capabilities

   * Supports the execution of multiple simultaneous batches within a single workspace
   * Built-in help system extended with test manger user guide
   * Message system supporting MIL-STD-1553 MUX, serial, wire, Ethernet, and Data Distribution Service (DDS)
   * Message GUIs provide monitoring, manipulation, and recording of messaging data
   * Utilizes OSEE application framework to provide traceability to software requirements
   * Automatic generation of tests and testing support classes, directly from requirements.
   * Leverages off Java Development Toolkit (JDT) and C/C++ Development Toolkit (CDT)
   * Provides remote execution of scripts against target hardware and operating system
   * Test results are logged in XML
   * Transforms test results via built-in or user supplied XSL Transformations
   * Built-in XSL Transformations produce interactive HTML result reports
   * A test environment service that provides both soft real-time and simulated capabilities, schedules the periodic execution of simulation components, and manages the I/O and testing resources.

BLAM

BLAM Lightweight Artifact Manipulation (BLAM) allows non-programmers to graphically construct workflows to automate repetitive tasks. A given workflow can be used for variety of similar tasks by using customizable controls to specify workflow parameters. Program/Project Management

Program and project management tightly integrated with the Action Tracking System and other OSEE components to provide services necessary for estimation, planning, execution, and delivery of products managed within OSEE. Key Capabilities

   * Integrated management of charge/cost accounting
   * Build planning and execution
   * Reporting services
   * Rules framework for requiring/alerting certain conditions
   * Scheduling services for automating reoccurring tasks

Discovery and Learning

Services provided for allowing advanced learning and discovery using OSEE?s abundant and inherent lifecycle data and metrics. Key Capabilities

   * Discovery of inefficiencies in lifecycle processes
   * Advanced data mining and data fusion
   * Advanced estimating
   * Advanced export/import of product capabilities between programs including applicable design, requirements, code, and test
   * Advanced data visualization
   * Prediction of future risks
   * Simulation of recommended process and lifecycle changes

Application Development

Provide capabilities needed for external software application development plug-ins, like JDT, to utilize the OSEE persistence layer and integrate with other OSEE-based applications. Design and Modeling Provide capabilities needed for external design and modeling plug-ins to utilize the OSEE persistence layer and integrate with other OSEE-based applications.

Screencasts

The following screencasts provide an effective way to quickly learn what OSEE is and start to see how it can be applied to your engineering project.

OSEE Demo Introduction Screencast - START HERE - This screencast introduces all the other screencasts that are available and describes the pre-requisites necessary for following along with the remainder of the screencasts.

OSEE Overview - provides an overview of OSEE including the driving forces that caused it's creation, it's architecture, the maturity of the application framework and the status and maturity of the different applications that use the framework.

OSEE Application Framework introduces the application framework that OSEE applications use to persist their shared data. It also gives an introduction to the generic views and editors that are available to all OSEE applications.

OSEE Demo Data Introduction - This screencast introduces the data that is loaded into the OSEE Demo database for use by these screencasts. This helps the user understand how the data for an engineering environment fits into Application Framework and will help clarify the OSEE Define and OSEE ATS screencast demos.

OSEE Define introduces OSEE Define, the requirements and document management application that is built into OSEE. It will introduce the difference between requirements and document management and how both types are imported into OSEE. It will also introduce editing artifacts directly on the main branch, using working branches and show the basics of relating artifacts to each-other.

OSEE ATS introduces OSEE ATS, the integrated configuration management/change request application built into OSEE. It will introduce the purpose of creating an integrated change management system, the terms and objects used in ATS, the benefits of integrated processes and configured workflows in an integrated environment and the scenarios of creating and transitioning an action to completion. It will also walk through a simple configuration of ATS for a new product and briefly introduce the peer review framework that is available.

Installation and Initialization

Requirements

System Requirements (non-Eclipse)

  1. System with at least 1GB of RAM
  2. Java Runtime Environment (JRE) 1.6 or higher
  3. Relational Database such as PostgreSQL, MySQL, Oracle, or Derby. See instructions for installing 'Supported Databases' to complete this step.

Eclipse Dependencies

  1. An Eclipse 3.4.1 base with the following features installed you can which featuers are already installed from Help -> About Eclipse Platform ->Feature Details * org.eclipse.gef and org.eclipse.draw2d * org.eclipse.datatools.connectivit.oda.feature and org.eclipse.datatools.enablement.oda.feature * org.eclipse.birt.chart.runtime The easiest solution is the Ganymede Eclipse install Eclipse IDE for Java and Report Developers since it provides the above Eclipse dependencies. Unzip the contents of this zip file into a (short) path on you computer to create your Eclipse base.
  2. OSEE add-ons - Visit external site under the section "Add-On Features" From the Eclipse base installed in the previous step, launch the update manager and install the add-ins archived update site (no need to unzip it). For more detail, see step-by-step 'Update Manager Instructions'. Note: To use OSEE with a database other than Derby, you will need the JDBC Drivers included in the OSEE add-ons distributed from the external location. Such a scheme of distribution is caused by licensing requirements.

Eclipse Installation

OSEE can be installed from within Eclipse using update manager. All the user should do is point update manager to the remote or local update site. To install OSEE:

  1. Start Eclipse and select menu item 'Help > Software Updates...'

    Find and install.png

  2. Select the 'Available Software' tab group and click the 'Add Site...' button.

    Add site.png

  3. On the 'Add Site' dialog enter the URL to the 'Add-On' update site. The proper URL can be found on http://www.eclipse.org/osee/downloads.php. If the update site is marked as an archived site, you will need to download the archived update site to your local file system, and add the path to the 'Add-Site' dialog by using the 'Archive' button. If the update site is not marked as an archived update site then copy the URL listed in the downloads page directly into the 'Add-Site' dialog.
    • Please note that the use of the software you are about to access may be subject to third party terms and conditions and you are responsible for abiding by such terms and conditions.


    Click on the 'OK' button to store update site information.

    New update site.png

  4. Select the OSEE update site entry and all features listed under its category. Click the 'Install' button.

    Install updates.png

  5. The update manager calculates dependencies and offers you a list of features to install. Select the needed ones and click the 'Next >' button.

    Install.png

  6. Accept terms of license agreement and click the 'Finish' button in order to start the download of selected features.

    Install license.png

  7. To apply installation changes click on the 'No' button and shutdown Eclipse. It is important that you don't restart Eclipse until you have completed the database initialization steps below.

    Restart dialog.png

  8. Before you can use OSEE you will need to install a relational database. Follow the instructions at <a href="supported_databases.php">'Supported Databases'</a> to complete this step.

  9. Initialize the database with default OSEE data <a href="db_init.php">'Database Initialization'</a>

  10. Setup config.ini and launch eclipse to start using OSEE <a href="../launch/osee_launch.php">'OSEE Config & Launch'</a>

  11. You can find different OSEE perspectives, such as Define and ATS, and views in correspondent dialogs, activated by menu items 'Window > Open Perspective > Other...' and 'Window > Show View > Other...'.

    Open perspective.png

    Show view.png

Supported Databases

Data created and managed by OSEE is persisted into a data store divided into two sections. A relational database to store type, configuration, and simple content and a remote file system to store binary content.

Before you can use OSEE, you will need to select and install a relational database suited for your needs and identify a file system path for binary content storage. If you are new to OSEE and would like to try it out without installing your own relational database, you can follow the link below for instructions on using OSEE's pre-configured server.

OSEE provides support for the databases listed below.

<p>Alternatively, users may choose to use the pre-configured OSEE Demo server before configuring their own. For launch and configuration instructions visit the following link: <a href="../launch/osee_launch.php">'OSEE Launch Instructions'</a>.

Derby Installation

COMMING SOON

PostgreSQL Installation

Pre-Requisites

   * Ensure you have selected the best database for your needs

Instructions

  1. Download PostgreSQL from http://www.postgresql.org/download
  2. Follow PostgreSQL installation instructions
  3. By default, the PostgreSQL database server is configured to allow only local connections. If remote connections are to be allow, edit postgresql.conf and pg_hba.conf to set the necessary permissions. (To setup an unsecured database instance set listen_address to * in the postgresql.conf file and add the following line to the pg_hba.conf file: host  all  all  0.0.0.0/0  trust)
  4. Configure PostgreSQL for OSEE
        1. Launch pgAdmin (in windows Start->All Programs->PostgreSQL*->pgAdmin III)
        2. Double Click on PostgreSQL Database Server (listed under Servers on the left hand side)
              1. If you are prompted for a password type the password selected during installation (user should be postgres by default)
        3. Create an "osee" user
              1. Right-click on Login Roles (at the bottom of the tree on the left hand side) and select "New Login Role..."
              2. Enter the following in the dialog:
                 Role Name: osee
                 Can login should be checked
                 Password: osee
                 Password (again): osee
                 For Role Priviledges - select the following:
                     Inherits rights from parent roles
                     Superuser
                     Can create database objects
                     Can modify catalog directly
              3. Click 'OK'
              4. You should now have an "osee" user under Login Roles
        4. Expand the Databases item in the tree
              1. Create the OSEE database right-clicking on Databases and selecting "New Database..."
              2. Enter the following in the dialog:
                     Name: OSEE
                     Owner: osee
                     Encoding: UTF-8
              3. Click 'OK'
              4. You should now have an "OSEE" Database under Databases
        5. Click on OSEE and then expand it and expand Schemas
              1. Create the "osee" schema:
                    1. Right click on Schemas and select "New Schema..."
                    2. Enter the following in the dialog:
                           Name: osee
                           Owner: osee
                    3. Click 'OK'
                    4. You should now have an "osee" schema under schemas
              2. The relational database is now configured. Proceed to OSEE Database Initialization

Oracle Installation

COMMING SOON

MySQL Installation

COMMING SOON

Launch Application Server

Pre-requisites

Visit the 'User's Guide' if you need more information about any of the pre-requisites below.

   * Database has been installed

Instructions

  1. Execute the launch script for your OS (if running from microdoc: http://osee.microdoc.com/node/2)
  2. Wait until server finishes the startup procedure - Do Not Close The Console

Database Initialization

Pre-requisites

Visit the 'User's Guide' if you need more information about any of the pre-requisites below.

   * Database has been installed
   * Database server is running
   * A file system path has been selected for binary data storage. The system default the user's home directory.
   * An application server is running. See 'Application Server Launch' for more info.

Warning: This process will delete all data from OSEE Data Store. Make sure you are certain before running this process.

Instructions

  1. Ensure database connection information matches database installation. OSEE is pre-configured to work with a PostgreSQL server running on port 5432. If you need a specialized database connection see the 'Configuring Database Connection' section.
  2. In a console, launch the database initialization application by entering the following:
     eclipse -nosplash -application org.eclipse.osee.framework.application.server.DbInit -console -vmargs -XX:MaxPermSize=256m -Xmx512m -Dosgi.compatibility.bootdelegation=true -Dequinox.ds.debug=true -Dorg.osgi.service.http.port=8089 -Dosee.local.application.server=true -Dosee.db.connection.id=postgresqlLocalhost
  3. When prompted select "Y"
  4. Select 'ATS Configuration'
  5. Wait for initialization to complete

Launch & Configuration

Before you can launch OSEE, you will need the address of an arbitration server or an application server to access the OSEE data store. If you have questions regarding client/server interactions, visit 'Client/Server Overview'. Pre-requisites

Visit the 'User's Guide' if you need more information about any of the pre-requisites below.

   * Database has been installed
   * Database server is running
   * A file system path has been selected for binary data storage. The system default the user's home directory.

Application Server Launch Instructions

  java -Dosee.log.default=INFO -Dorg.osgi.service.http.port=8089 -Dosgi.compatibility.bootdelegation=true -Xmx512m -Dosee.db.connection.id=postgresqlLocalhost -Dequinox.ds.debug=true -jar org.eclipse.osgi_3.4.0.v20080326.jar -console

OSEE Client Launch Instructions

COMING SOON

Frequently Asked Questions

Is OSEE an application framework or an application?

The simple answer is BOTH. OSEE Application Framework is created to allow applications to be built on top and share the common data model. This can be used independently of any OSEE applications. In addition, there are applications that are delivered with and use the OSEE Application Framework. This includes a full featured Requirements and Document Management System (OSEE Define), a powerful change tracking and configuration management application (OSEE ATS - Action Tracking System), a fully customizable peer-review module and other project, reporting and metrics tools. These application can be used out-of-the-box and new applications can be created or integrated on the framework to share and contribute to the same data.

What are Artifacts, Attributes and Relations?

Artifacts: Any data object stored within OSEE. This is a strongly typed object that can store any data throughout the lifecycle of systems engineering. From meeting minutes to architecture diagrams, processes to requirements, artifacts are the main object within OSEE's data store. There may be a "Software Requirement" artifact defined to hold the requirements at a software level or a "User" artifact defined to hold data associated to an OSEE user.

Attributes: Metadata attached to any Artifact. With the example of a "Software Requirement" artifact, the attributes may be "Qualification Method", "Safety Criticality" or "Subsystem". For a "User" artifact, the attributes would be "Email", "Name" and "Phone".

Relations: The link between artifacts. These too are strongly typed such that you can relate a "User" to a "Meeting" that they attended. Or relate the high level customer requirements to the lower level software requirements that satisfy them. These relations can also have "Rationale" stored which gives the user the ability to note why the relation exists.

What are Branches and how are they used in OSEE?

One of the problems OSEE intended to solve was to be able to manage Variants or Product Lines. After a set of requirements is developed, it may become the baseline for variant sets of requirements for similar products. In other words, you may develop the same product for another customer, but have slight changes to the requirements, code and test for features specific to that customer. Historically, this would mean maintaining completely separate "copies" of all the requirements and other artifacts. This is costly to maintain when changes from the baseline artifacts are required to be propogated to the other product line. Add 5 or 10 more customers with different needs and this becomes a major undertaking.

OSEE provides the capability to create these variant branches and maintain not only the record of where these branches came from, but also enables changes made to the baseline branches to be easily committed to the variants. In addition, OSEE manages these variants in an efficient manner such that only the changed requirements (or artifacts) are "copied".

How are artifacts stored?

The OSEE Application Framework provides a dynamic and strongly typed artifact (object) model that is stored using a relational database. All OSEE applications use this version controlled persistence layer to store their artifacts, provide branching, etc.

What is a Working Branch?

A working branch is simply a sandbox area for a users to make changes and perform reviews before committing to the baseline branch.

On complex systems engineering, requirements, and other artifacts, can be developed by hundreds of engineers. To have requirements "locked" while they are being modified by one user can cause significant delays in schedule. The need for parallel development (multiple users working on the same requirements) is a necessity to keeping a project moving forward. In addition, users making mistakes need the ability to revert or throw away their changes and start over without polluting the baseline branch and teams also need the ablity to review changes before committing them to main baseline. This is done using working branches.

Other products sound similar. Why OSEE?

  1. Open Source Extensible Platform
  2. Open Eclipse Project w/ Collaboration
  3. Tight Integration Around A Common Data Model
  4. Full Lifecycle Engineering Environment

Is OSEE only for Avionics Engineering?

No. OSEE's was created by The Boeing Company in support of the Apache AH-64 Attack Helicopter flight control software. Although it was created for the complexity of a large US Department of Defense program, it was architected to support any systems engineering project from a simple application built for a customer to a large complex application like the Apache flight controls. In addition, since OSEE is an application on it's own, the OSEE Team uses OSEE to develop, deploy and maintain OSEE.

What is the OSEE Define?

OSEE Define is OSEE's advanced Requirements and Document Management System. OSEE Define can be used to track a simple application's requirements, code and test or configured to support a large program doing concurrent development with multiple parallel builds and manage requirements for multiple product lines simultaneously. Although any application file (document) can be stored and managed, OSEE Define is tightly integrated with Microsoft Word(c) to store and manage individual requirement objects (stored in XML) and provide advanced features like index based searching and showing differences between historical changes. Integrated tightly with the Action Tracking System, OSEE Define can be configured to provide advanced configuration management for any set of requirements object.

What is the Action Tracking System (ATS)?

The Action Tracking System is the tightly integrated configuration management system built in OSEE and very tightly integrated with the OSEE Application Framework. It uses a powerful workflow engine to provides a fully customizeable workflow to track improvements, problems and support for any number of teams/tools/programs simultaneously. This gives the user a single point view into all the work that they are required to do.

Why build yet another bug tracking tool like the Action Tracking System (ATS)?

Although there are a number of open source and commercial bug tracking systems available, OSEE's goal to integrate workflow management and provide a tight integration with the Application Framework, and the applications built on top, required us to develop ATS. ATS is meant to be more than simple bug tracking since it can be used to manage mutliple teams working on multiple products or support simultaneously. This means that you can create a single "Action" to "Fix the XYZ capability" that will create the necessary workflows for all the teams that need to perform work. For example, a workflow may be created for not only the Software Development team, but also the test team, documentation team, integration team and even facilities like labs or conference rooms. Each team then moves intependently through its workflow to perform the work necessary for the common "Action". In addition, ATS enables complete customization of different workflows for each configured team. This means that the documentation team can follow their own "process" which may contain 5 different states while the application developers can follow their own more complex "process" which may contain 30 different states.

Can I import existing Microsoft Word(c) documents into OSEE?

Yes. OSEE will import existing Word 2003 XML documents and atomize them by their paragraph sections. The Word styles "Heading (1...9)" are used to determine the breakout into individual artifacts and their position in the document hierarchy.

Do I have to create a new database table for every type of Artifact that I want to use

Quick Answer: No

The OSEE Architecture Framework uses a common table structure to store all types of artifacts, attributes and relations. This allows the users to dynamically create and start using new objects without major database modification.

Do I have to use the Artifact types that are built into OSEE?

Quick Answer: No

All Artifact Types, Attribute Types and Relation Types (with a few exceptions) are fully customizable. Although OSEE was initially built for capturing all data throughout the lifecycle of a large avionics systems engineering project, it was architected to store any data by simply defining a different data model to use.

In addition, these data models can be dynamically modified. New Artifacts, Attributes and Relations can be specified at anytime (and even by end users if allowed). Modification and deletion of these can be performed with some administrative back-end tools with the understanding that you would need to determine what to do with the removed data.

Do I have to use Microsoft Word to enter my requirements?

Quick Answer: No

This question comes up when users find out that OSEE is integrated with Microsoft Word as one method to enter artifact data such as requirements.

OSEE uses Artifacts, Attributes and Relations to store information in it's data store. The Attributes associated with a certain Artifact can be boolean, text, date, float or any newly created attribute type. One such attribute type is a "Word Content" attribute. This allows word content to be added as an attribute to an Artifact. This attribute, however, is not required to be used. One could define a "Software Requirement" to be any set of Attribute types that must/can be entered. Although, Word 2003 XML is more tightly integrated into OSEE, the architecture provides for other editing applications to be plugged in. We are actively working on adding tight integration with Open Office to edit requirements.

In addition to this specific type of Attribute, OSEE does allows any operating system file to be dragged in and created as an Artifact. This artifact, when opened, will extract its data and present it to the operating system to allow viewing and editing. This allows things like requirements to be specified by other modeling, diagraming or even mathematical applications that OSEE doesn't know about. These artifacts can have their own metadata associated and also be related to other artifacts in the system.

How are MS Word styles and formatting handled?

Whole MS Word documents can be stored and edited as an artifact like any other native file type without any formmatting restrictions of any kind. However, to use the more tightly integrated support such as editing many artifacts in a single Word document or the document generation capabilities, then the file format needs to be MS Word 2003 XML. Since OSEE supports user defined Word XML templates for editing, previewing, comparing, and publishing, the user has complete control over the Word styles (and all other formmatting) through the rendering templates. The only formmatting requirements for Word content are that when importing the Word styles "Heading (1...9)" are used to determine the breakout into individual artifacts and their position in the document hierarchy.

What is Skynet?

Skynet is a legacy term for the persistence portion of the OSEE Application Framework.

What are Artifact Framework types?

OSEE provides <a href="#whatareartifacts">Artifacts, Attributes and Relations</a> that are strongly typed. This means that the user can create their own artifact type, for example a "Software Requirement" to represent the requirements at a software level and their own attribute types, for example a "Qualification" attribute or a "Safety Criticality" attribute and event their own relations, for example a "Software Requirement to Allocation" relation. These types are defined in the Artifact Framework and can be created dynamically in the system during database creation or while running. This allows the end user to expand the data that is being stored in OSEE without providing a new release.

How does OSEE handle traceability?

<a href="http://en.wikipedia.org/wiki/Requirements_Traceability">Traceability</a> is handled in OSEE through the use of <a href="#whatareartifacts">Relations</a>. These relations can be <a href="#frameworktypes">defined in OSEE</a> according to their need and the users can then add and remove these relations throughout the lifecycle of the requirements or other artifacts. Deliverable documents or any report generation would also use this traceability.

What is BLAM?

BLAM Lightweight Artifact Manipulation (BLAM) allows non-programmers to graphically construct workflows to automate repetitive tasks. A given workflow can be used for variety of similar tasks by using customizable controls to specify workflow parameters. It also provides programmers the ability to interact with the OSEE Artifact Framework API to build and execute tasks.

Can I import existing traceability into OSEE?

Quick Answer: Yes

Since traceability is usually defined in a way that is specific to it's use and the objects that are being traced, there is currently no "generic" traceability importing in OSEE, however OSEE provides <a href="whatisblam">BLAM</a> that would enable traceability to be imported from existing applications, documents, excel spreadsheets. This capability has already been used a number of times to successfully import traceability from legacy documents and systems on projects OSEE has been deployed to.

Can I import from Microsoft Excel(c)?

Quick Answer: Yes

Through OSEE's <a href="whatisblam">BLAM</a>, users can import from other applications, documents and spreadsheets.

How do I publish documents from OSEE?

The majority of the work in publishing out of OSEE has been in the format of Microsoft Word(c) documents. The user can create a Word template that "describes" the format, headers, footers and what data maps into the specified areas in the template. A <a href="whatisblam">BLAM</a> is then ran where the user can specify the <a href="whatarebranches">branch</a> and what artifacts are to be published. Upon execution, the documents are created. This method has successfully generated documents in excess of 10,000 pages that were delivered to the customer.

The OSEE architecture also supports other methods of publishing including web and open document formats. Depending on the level of complexity, some work would be done to provide further export capabilities.

Another form of publishing that OSEE was architected for is delivery of OSEE and the database. Although OSEE can publish documents and reports, it was decided early on that the vendors and customers would want and need the same navigation and exporation capabilities that OSEE provides. Instead of delivering generated documents, one of the projects that OSEE is deployed on delivers a copy of OSEE with a sanitized database (confidential data removed). This has been very successful from both the program and customer's point of view.

What databases can be used with OSEE?

OSEE was architected to be database independent and should run on any SQL-99 compliant DB that has a JDBC driver. It is currently runs on Oracle 10g and 11g and PostgreSQL 8.2. In the past, OSEE has also been run on Derby and MySQL. The current release of OSEE would need to be tested for compatibility with Derby, MySQL, or any other database. If desired, the OSEE Team could work with the user/developers to help perform this task.

Can OSEE be used offline and later sync'd up?

Although OSEE does not currently provide the capability to download database artifacts, work offline and then sync up when re-connected, it was certainly a consideration in the design. The most complex part would be resolving conflicts that may occur to artifacts edited in both disconnected OSEE's. Since OSEE already has the capability to run on multiple databases and the capability to export and import artifacts, it would just take some effort to provide the first versions of this feature. This would be a great area for collaboration.

= What is VUE?

VUE is one of the last remaining external dependencies. For those that aren't familiar, VUE (http://vue.uit.tufts.edu/) is a diagramming tool that OSEE ATS uses to define it's workflows. Simply put, you can create a simple state diagram using the editor and embed the XML necessary to render the widgets for each state in the workflow. OSEE stores this file as XML and reads it to dynamically create and walk the users/teams through their process/workflow.

The plan has been to replace this with an integrated GEF editor as soon as possible. This would be a great are for collaboration for whomever might be interested.

Concepts and Framework

Artifact

The artifact is the top level object in OSEE. It represents any data object that is to be stored.

Example: a single requirement, a user object, a piece of code (or class), a document

Attributes

Attributes are meta-data attached to an Artifact. They are strongly typed and new types can be added through extension points.

The default attribute "Name" is required for all Artifacts. Other attribute types can be created and associated with any Artifact Type in the system.

Example: Artifact representing a "User" of an application may have attributes such as "Phone", "Address", "City", etc...

Relations

Relations are how one Artifact relates to another. They are strongly typed and have validity defined which allows only appropriate artifact types to be added to the relations as well as the min/max number that are allowed on each side of the relation.

Views and Editors

Artifact Editor

The Artifact Editor is the default editor for the editing of Artifact's attributes and relations. This editor can be opened by double-clicking any artifact or right-click Open With "Artifact Editor".

Attributes Tab - allows for editing of Attributes.
All attributes that are valid for the artifact are shown.  
New attributes can be added by right-click, "Add" and selecting the attribute to add. 
Attribute values can be edited by selecting in the attribute value cell. 
Attributes can be deleted by right-click, "Delete"
Relations Tab - The relations tab allows for editing of Relations.  
All relations that are defined as being valid for the artifact are shown.  
Opening relation groups will show all artifacts that are currently related.  
Double-clicking a related artifact will open it in it's default editor (normally the Artifact Editor).  
Relations can be added by dragging any set of artifacts into the appropriate relation group.  
Relations can be deleted by right-click "Delete Relation".  This removes the link, but not the artifact.

Quick Search View

The Quick Search view allows users to perform searches for information that is contained inside artifacts in a selected branch.

QuickSearchView.png

To find all artifacts that contain a particular set of keywords:

  1. Select <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.views.showView(org.eclipse.ui.views.showView.viewId=org.eclipse.osee.framework.ui.skynet.QuickSearchView)")'> <img src="artifact_search.gif" alt="search icon" border="0" /> Window > Show View > Other... > OSEE > Quick Search</a>, to open the view.
  2. Type your search string in the Enter Search String combo box, or use the pull-down list to select a previously entered search expression.
    Special characters such as (' ', !, ", #, $, %, (, ), *, +, ,, -, ., /, :, ;, <, >, ?, @, [, \, ], ^, {, |, }, ~, _) are assumed to be word separators unless By Id option is selected. When By Id option is selected, (, and ' ') are treated as separators.

    For example:

    • When By Id is not selected, hello.world will be translated to hello and world. The search will match attributes with hello and world keywords.
    • When By Id is selected, (A+ABG7jFm+0BKaVZIxfqOQ,AFABG7jFm+0BKaVZIxfqOQ PX1FH) will be interpreted as 2 GUID(s) and 1 HRID. The search will match artifacts containing A+ABG7jFm+0BKaVZIxfqOQ and AFABG7jFm+0BKaVZIxfqOQ as its GUID or PX1FH as its HRID.

  3. Finish entering your search options, (for example, to scope the search to include deleted artifacts, check the include deleted option), and click Search or press Enter from the combo box to execute the search.
  4. The Search view displays the results of your search. Right-click on any item in the Search view to open a pop-up menu that allows you perform various operations on the artifacts such as copy search results to the clipboard or reveal a selected artifact in Artifact Explorer. To open one of the listed artifacts, double-click it or select Open from its pop-up menu.

Ngrelc.png
<a href="attribute_tagging.php">Attribute Tagging</a>

Services

Attribute Tagging for Quick Search

When an artifact is saved, each attribute contained in the artifact is analyzed to produce a list of tags that are then associated with the artifact. Quick search is a form of keyword based searching which uses tags to perform contextual artifact searches.

For an attribute to be tagged by the system, it must meet the following criteria:

  1. The attribute's type must specify an Attribute Tagger to be used by the tagging system.
  2. The attribute must contain valid data.
  3. The attribute revision must be saved in the database before sending to tagging system.

To produce tags, modified attributes are sent to the OSEE application server where the tagging system processes each attribute using an Attribute Tagger specified by the attribute's type. The Attribute Tagger knows how to interpret the attribute's data and how to extract words from the content. At this point, a word is defined as a sequential set of alphanumeric characters delimited by one or more spaces. As words are parsed, they are sent to the tagging system's word encoder where the following processing takes place:

  1. The characters in the original word are converted to lower case.
  2. The lower cased version of the word is encoded and stored in the tagging system.
  3. The lower cased version of the word is split using punctuation characters such as (' ', !, ", #, $, %, (, ), *, +, ,, -, ., /, :, ;, <, >, ?, @, [, \, ], ^, {, |, }, ~, _) as delimiters.
  4. Possessive words (ending in 's) are converted into regular form.
  5. Each word is converted from plural to singular form.
  6. Each word is encoded and stored in the tag system.

When encoding words into tags, the tag encoder uses an algorithm which transforms the word's characters into a bit-packed tag that will fit in a 64-bit integer. The tag will represent up to 12 characters (all that can fit into 64-bits). Longer words will be turned into consecutive tags.

Tag Encoding Examples

Original Keywords Encoding
appendeces appendix -220858502
battery(ies) battery 529513131
alternate/backup
alternate
backup
-1420231874
24902827

Ngrelr.png <a href="quick_search_view.php">Quick Search View</a>

Custom Widgets

XViewer - Advanced TreeViewer Widget

EclipseCon 2009 Presentation Slides
Download Zip of Code and Example
Download Instructions]

The purpose of the XViewer is to give the application developer a more advanced and dynamic TreeViewer that has the filtering and sorting the capabilities of a spreadsheet while providing the users the ability to customize their table to suit their current needs and save/restore these customizations for future use by individual or group.

The current XViewer already commited as part of the <a href="http://www.eclipse.org/osee/">Eclipse OSEE Project</a>. More information is available at <a href="http://www.eclipse.org/osee/documentation/core/xviewer/xviewer.php">OSEE XViewer</a>. Near term plans to submit this to the Nebula project

Xviewer main.PNG

Table Customizations

  • Provides table customization dialog to allow customization of visible columns, widths and renaming of columns
  • Easily reorder columns through drag/drop or table customization
  • Provides mechanism to save and load table customizations so users can easily switch between customizations
  • Provides mechanism to mark table customizations as individual or global to provide sharing of customizations by users and teams (needs to be backed with shared file system or database)
  • Provides mechanism to mark table customization as default customization to display whenever this table is shown
  • Provides ability for multiple XViewer tables to be used within the same application, but provide their own columns and customiztions

Sorting

  • Sort individual columns (forward or reverse) using data-specific configured sorter for that columns data type
  • Perform unlimited multi-column sorting by holding Ctrl key down and selecting other columns. Re-selecting a column while Ctrl is held down will reverse the sort for that column

Filtering

  • Quick filter (bottom left) provides for filtering of all visible data by entered keywords
  • Alt-left click on column header (or right-click menu) allows for filtering by column. As many column filters can be added and work together.
  • Provides simple metrics (bottom status label) to show number of objects loaded, number shown and number selected.
  • Status label shows filters and sorters that are currently applied to viewer (bottom status label)

Other Capabilities

  • Provides ability to copy rows, columns or individual cells into buffer for pasting into other applications
  • Allows for multi-column editing of selected rows/columns
  • Provides html rendering of currently visible table data
  • Provides comma separated value export to csv file that can be opened in any spreadsheet application
  • All the normal capabilities of the existing SWT Tree/TreeViewer have been retained as XViewer is an extension to TreeViewer

Future

  • Submitted to Nebula as alternative to existing SWT TreeViewer (already part of eclipse.org/osee project)
  • Allow for advanced column filtering by complex expression and "canned list" of already entered items
  • Add regular expressions to all filtering capabilities
  • Provide easy ability to sum selected rows for selected column
  • Provide simple summing/counting of rows/column data
  • Provide formulas and functions for advanced summing/counting of data
  • Provide graphing and charting of data
  • Collaborate with other table/tree solutions to integrate functionality...

Table Customizations

Xviewer customize.PNG

Sorting and Filtering

Xviewer sortfilter.PNG

HTML Report and CSV Export

Xviewer reportexport.PNG

Back to the top