Structure101 comprises a number of separate components: Studio, Workspace, Build and Dashboard. These can be used together in different ways depending on roles and workflow that works best for you and your team.
Studio and Workspace can be used independently to some degree, but the benefits increase when they are used together with the other components, especially for teams.
Studio is required in order to use the other components, as this is where you set up projects, define Actions, Specs etc. and create project files that drive the rest of the workflow.
Getting Started
To get rolling you will need to install Studio so that you can create your initial project file.
To create your first project in Studio, you will need access to the byte code for your project.
Once you have used Studio to create your first project file, and used this file to work with Studio and/or Workspace for a while on your own projects, you will get a feel for if/when/where you want to integrate with your build and start publishing a repository, installing the Dashboard, etc. See the Workflow descriptions below for some ideas.
Structure101 projects
Local project files
Structure101 projects persist information in a local project file (*.hsp). This records:
- Where to find the information about your source code (i.e. the byte code), and
- Any project artifacts that you have created in Studio (Transformations, Excludes, Actions, Specs, etc.)
To open a local project, the user must have access to the relevant byte code. When a local project is opened (into Studio, Workspace or Build), the specified byte code is parsed, and the basic structural model created. Any project artifacts saved in the project file are then loaded and applied to this model for further analysis, checking, exploration, etc.
Repository project folders
Once local projects have been loaded into Studio or Build, a snapshot can be published to a repository project. Repositories retain the structural history of one or more Structure101 projects in the form of a number of snapshots. A snapshot records:
- An intermediate representation of the source code structure (items, dependencies and composition) as loaded, and
- A copy of all artifacts in the local project
- A record of structural measures and any violations
- A pass/fail status, according to the criteria in the Build/check spec.
Repository projects can be directly opened by Studio or Workspace. Snapshots are read-only, so artifacts in repository projects can be browsed and analyzed, but not edited.
Repository projects are simply stored on the file system, where they may be accessed by team members directly, via version control, or through a web server.
Workflows
Once you understand the Structure101 project model described above, you are can use the various Structure101 components in whatever way works best for you and your team. Here are some example workflows to help you.