The Architectural Template method is an efficient design-time engineering method for analyzing scalability, elasticity, and efficiency properties of SaaS applications. This method quantifies such properties based on reusable analysis templates — so called Architectural Templates. We extend the PCM via the the Architectural Template language and provide a catalogue of Architectural Templates specified in this language. Architectural Templates manifest all quality-relevant characteristics intrinsic to given architectural styles, architectural patterns, and reference architecture. Architects only have to fill-in the parts specific to their concrete application.
We provide a default Architectural Template Catalogue with formalizations of commonly used architectural styles, architectural patterns, and reference architectures.
- org.palladiosimulator.architecturaltemplates.catalog
The Sirius-based editors for the Palladio Component Model fully support the applycation of Architectural Templates.
- org.palladiosimulator.architecturaltemplates.examples.feature
- org.palladiosimulator.architecturaltemplates.examples.*
The current release of Palladio comes with all required Plug-Ins and dependences. So, if you follow the guide to install Palladio (PCM >= 4.0) you should be ready to use (A)rchitectural (T)emplates.
In case you want to use the graphical editor support, make sure you use the new Sirius Editors.
- ATs currently only work with experiment automation
- You need to use Simulizar
There is a step by step guide available, which allows you to learn the fundamentals of Palladio's performance predictions and how to apply AT's to your model. The guide will teach you how to use ATs on the example of a load balancer.
Prerequisites:
- EMF Profiles Diagram Editor: Install Emf Profiles Sirius Editor in Eclipse
- Clone Architectural Templates git repository
Then click on browse to specify where you want to save your emfprofile diagram. Normally it goes into the profiles folder of the AT catalog(..architecturaltemplates.catalog/profiles/). You may have to select the profiles folder and Right-Click->Refresh before the new emfprofile diagram appears.
Open the new emfprofile (by default with the EMF Profile Diagram Editor which should be installed as described in Prerequisites). Select the Property view and set properties:
- Set Name as YOURNAME+"Profile" e.g. ParallelLoopProfile
- Ns Prefix as "org.palladiosimulator.architecturaltemplates.catalog.profiles"
- Ns URI as "org.palladiosimulator.architecturaltemplates.catalog.profiles.YOURNAME"
- Click inside the diagram editor and save the changes!
Now you have to register the profile in plugin.xml
:
- Open the Plugin XML-File with the Plug-in Manifest Editor and select the plugin.xml tab (alternatively open it with a Text Editor).
- Customize and append the following lines to your
plugin.xml
file:
<extension point="org.modelversioning.emfprofile.profile">
<profile profile_resource="profiles/YourName.emfprofile_diagram"/>
</extension>
Save the plugin.xml
To check if your profile was registered correctly you can open the Registered EMF Profiles View with Window-> Show View-> Other..-> Registered EMF Profiles(You may have to restart eclipse after registering in plugin.xml before the new EMF Profile is recognized and displayed in the Registered EMF Profiles View).
First you need to import the meta-model you want to use. Right-click inside the emfprofile_diagram and select "Import Metamodel Element..", then search for PalladioComponentModel.
Then select the component you want to extend. After that you can model your profile as you like.
Hint: use the "Import Metamodel Element.." feature and it generates all ESuper Types for you. You may miss some ESuper Types by changing the ESuper Types in Properties by your own
Sometimes it's not possible to "Import Metamodel Element..." because you can't add your desired Element, because "Invalid referenced element is selected" shows up. This is currently a bug. A current workaround is just to generate a new empty emfProfile as shown in step 1. Then after the new empty emfprofile diagramm is loaded into the editor immediately move back to your old emfprofile diagramm and try to "Import Metamodel Element..." again. The newly created emfProfile_diagram can be deleted afterwards.
Open Default.architecutraltemplates (by default with Architectrualtemplates Model Editor) and select the Selection Tab. Expand the tree and select Catalog Default AT Catalog and execute the following steps:
- Right-click -> New Child-> AT
- Select the newly added AT. Switch to properties tab and change the Entity Name as you like.
- Right-click on the new AT -> New Child->Role
- Drag and drop your previously created emfprofile diagram into the AT Editor.
- Expand the emfprofile diagram inside the AT Editor and select "YourProfileName"
-
Right-Click->New Child->eAnnotation
-
Select the eAnnotation, then switch to the Properties View and edit Source Property to "org.palladiosimulator.architecturaltemplate"
-
Select the newly created eAnnotation. Right-click->new Child->Details Entry
-
Select Details Entry then switch to the Properties View and set the following properties: Key=AT; Value=platform:/plugin/org.palladiosimulator.architecturaltemplates.catalog/Default.architecturaltemplates#ID_OF_YOUR_AT (the ID can be found in the Properties View of the previously createed AT)
- Now select the Role which you created in step 3 inside your AT. Switch to the Properties View and change Stereotype to your Stereotype which was defined in your emfprofile diagram. The Stereotype should now appear inside the selection. (Append new roles to the AT for each Stereotype from your emfprofile diagram and set the right Stereotype in the Properties View)
- Add qvto for each role if needed by Right-click on the Role -> New Cild -> QVTO Completion. Switch to the Properties View of the new QVTO Completion and set Completion File URI to the name of your qvto file. Right-Click on your new QVTO Completion -> new Child -> PCM Blackboard Completion Parameter Rght-Click on your new PCM Blackboard Completion Parameter -> new Child -> PCM File Extension Switch to the Properties View of the new PCM File Extension. Now you can select which Model you want to pass to your qvto by assigning it to File Extension. Which Model you select is dependent on your emfprofile_diagramm and qvto.
- Click Inside the Default.architecturetemplate editor and save it. Your AT should be successfully created.
If your stereotype extends the Class System the name of the stereotype you define in the EMF-Profile MUST end with "...System". Otherwise Palladio won't recognize it.
Examples: CloudScale Architectural Template Examples
Documentation & Development: Architectural Templates
Conceptual documentation: Dissertation of Sebastian Lehrig
Architectural templates for microservice architecture patterns (such as the Circuit Breaker pattern) are available at https://github.com/PalladioSimulator/Palladio-Addon-ArchitecturalTemplates/tree/Microservices-AT (Master thesis by Matthias Rombach, supervised by Jörg Henß and Christian Stier).
- org.palladiosimulator.architecturaltemplates.feature
- org.palladiosimulator.architecturaltemplates.buckminster
- org.palladiosimulator.architecturaltemplates
- org.palladiosimulator.architecturaltemplates.api
- org.palladiosimulator.architecturaltemplates.edit
- org.palladiosimulator.architecturaltemplates.editor
- org.palladiosimulator.architecturaltemplates.jobs
- org.palladiosimulator.architecturaltemplates.ocl
- org.palladiosimulator.architecturaltemplates.ui