Customization > Extensibility Through Profiles, Stereotypes, Tag Definitions and Scripts > Extensibility through stereotype scripts and script items > Working with profiles > Overview of profiles
  
Overview of profiles
A profile is a coherent collection of Stereotypes and Tag Definitions that can be applied to a Model. After applying a profile to a model, its Stereotypes and Tag Definitions can be applied to items in that Model.
In Modeler, you model a profile through a Package. You apply a profile Package to another Model by adding the profile Package to that Model.
We recommend that you develop profiles, Stereotypes and Tag Definitions in a separate Model, independent of the Models to which they will apply. When a profile has been set up as required, you can then add it to Models that need to use it.
You may want to use a common prefix for Stereotypes and Tag Definitions that are created for a Profile, so that those Stereotypes and Tag Definitions are unique within a Model they are applied to.
If you intend to develop Stereotypes and Tag Definitions in the Model in which they are required, it is still good practice to create the Stereotypes and Tag Definitions in a profile Package.
Some Modeler Add-ins may create profiles in a Model, for example, the Ada Reverser creates a profile named Ada Profile when reverse engineering code files to a Model.
Modeler allows you to explore the items and diagrams in a model through the context of the Stereotypes and Tag Definitions in a profile Package. When you set up a profile Package as browsable, Modeler creates a pane for that profile Package.
The Profile Diagram allows you to model Stereotypes and Tag Definitions, including Stereotype inheritance and redefinition of inherited Tag Definitions and Scripts.
* 
If you are using Modeler with a configuration management tool (CM tool), we recommend that you store the profile Packages in the CM tool and then use the Package reuse features to add the profile Package to a Model.
If you are not using a CM tool to store profile Packages, you can add a profile Package to another Model by exporting the profile Package to a directory and then adding the exported Package to the required Model. If changes are then made to a profile Package, you can update the Models that use it by exporting the Package and then importing the Package through the Tools > Package Import/Export > Update Existing command.
* 
Do not create copies of a PTC profile within a model, or create copies of the PTC profile through XMI Import/Export. The copies of the PTC profile will not work correctly and you will not be able to update the copies through the Update All Profiles command.
You can identify a profile Package by stereotyping it with the «profile» Stereotype that is provided in the UML Profile package.
The following profiles are provided with Modeler (Note that the Tell Me More links in this topic work only if the Help file for the profile is installed):
ACS Profile - must be added to a model for that model to work with Automatic Code Synchronizer. For more information, see Overview of ACS (ACS), and Overview of TDK (TDK).
Ada Profile - includes Stereotypes and Tag Definitions that allow you to model Ada specific information in a model. For more information, see Overview of the Ada profile package (Ada code).
ARINC 653 for PikeOS 653 Profile - includes Stereotypes and Tag Definitions that allow you to model ARINC 653 configurations and startup code for PikeOS 653 applications. For more information, see Overview of the ARINC 653 for VxWorks 653 profile (ARINC for VxWorks code).
ARINC 653 for VxWorks 653 Profile - includes Stereotypes and Tag Definitions that allow you to model ARINC 653 configurations and startup code for VxWorks 653 applications. For more information, see Overview of the ARINC 653 for PikeOS 653 profile (ARINC for PikeOS code).
C Profile - includes Stereotypes and Tag Definitions that allow you to model C specific information in a model. For more information, see Overview of the C profile package (C code).
C# Profile - includes Stereotypes and Tag Definitions that allow you to model C# specific information in a model. For more information, see Overview of the C# profile package (C# code).
C++ Profile - includes Stereotypes and Tag Definitions that allow you to model C++ specific information in a model. For more information, see Overview of the C++ profile package (C++ code).
IDL Profile - includes Stereotypes and Tag Definitions that allow you to model IDL specific information in a model. For more information, see Overview of the IDL profile package (IDL code).
Java Profile - includes Stereotypes and Tag Definitions that allow you to model Java specific information in a model. For more information, see Overview of the Java profile package (Java code).
MARTE Profile - includes Stereotypes and Tag Definitions defined the OMG UML profile for MARTE (Modeling and Analysis of Real-Time and Embedded systems). For more information, see Adding the MARTE profile package to a model, and Overview of the MARTE profile package.
The MARTE Profile is very large and it may take many hours to add this profile to a model.
MBRE Profile - provides the PTC proprietary MBRE Traceability Diagram for modeling Use Case traceability. For more information, see Overview of the MBRE profile (MBRE profile).
Real-Time Profile - includes Stereotypes and Tag Definitions defined in the OMG profile for Schedulability, Performance and Time (RT Profile). For more information, see Adding the Real-Time profile package to a model, and Overview of the Real-Time profile package.
Simulink Profile - includes Stereotypes, Tag Definitions and Script items to support Integration for MATLAB Simulink. For more information, see the following topics:
Adding the Simulink profile package to a model (Integration for MATLAB Simulink)
Simulink profile package (Integration for MATLAB Simulink)
Updating the Simulink profile package in a model (Integration for MATLAB Simulink)
SySim Profile - includes Stereotypes and Tag Definitions to model SySim Simulation Scenarios in a SysML model so that SySim model execution application can be generated. For more information, see Adding the SySim profile package to a model (SySim), and Overview of the SySim profile package (SySim).
SysML Profile (Full Profile) - includes Stereotypes and Tag Definitions to support the SysML diagrams, tables, matrices, items and relationships. For more information, see Adding the SysML profile to a model (SysML), and Overview of SysML support (SysML).
SysML Profile (Requirements Only) - includes a subset of the SysML Profile that allows you to model SysML Requirements in a model. For more information, see Adding the SysML profile to a model (SysML), and Overview of SysML support (SysML).
System Architecture Profile - includes Stereotypes and Tag Definitions required for migrating System Architecture Diagrams to Composite Structure Diagrams through the System Architecture Migration Utility. For more information, see Adding the system architecture profile package to a model (System Architecture Migration utility), and Overview of the system architecture profile package (System Architecture Migration utility).
TDK Code Generation Profiles - sets up a model to generate the provided PTC Code Generator DLLs. For more information, see Provided TDK code generator profiles (TDK).
TDK Generator Framework Profile - includes Stereotypes, Tag Definitions and classes required for modeling TDK 3G models and TDK code generation transformation patterns models. For more information, see Adding the TDK generator framework profile to a model (TDK).
Thingworx Profile - includes Stereotypes and Tag Definitions for modeling smart connected products. For more information, see Overview of the ThingWorx profile package (Integration for PTC ThingWorx).
UML Profile - includes relevant Stereotypes and Tag Definitions that appear in the Semantics section of the UML 1.4 Specification and Appendix B of the UML 2.0 Superstructure Specification. For more information, see Adding the MARTE profile package to a model.
UPDM Profiles - includes Stereotypes and Tag Definitions that allow you to model UPDM products and elements using DoDAF, MODAF or NAF terminology. For more information, see Overview of UPDM support (UPDM).
Utilities Profile - supports other PTC profiles and provides alternative ways of linking items, showing compartments, creating linked notes and creating custom tables and matrices. For more information, see Adding the Utilities profile package to a model (Utilities profile), and Overview of the Utilities profile package (Utilities profile).
VB Profile - includes Stereotypes and Tag Definitions that allow you to model Visual Basic specific information in a model. For more information, see Overview of the VB profile package (Visual Basic code).