iArchiMate for Analyzing models

For performing automatic enterprise analysis methods, it is necessary the creation of one model that can be augmented with new concepts, relations, or attributes, which are not defined in the ArchiMate metamodel. Then, the ArchiMate metamodel must be specialized or extended. We call this specialized or extended metamodel SAMBA (Specialized or extended ArchiMate Metamodel for Business Analysis). It is necessary to have several different SAMBAs for the analyst can perform the desired analysis methods. Then, the modeler establishes which SAMBA is needed and builds the model conforming to the selected SAMBA.

Ontological Semiconformance Validation

iArchiMate includes a validation script based on EVL in order to validate the ontologycal semi-conformance with the ArchiMate metamodel. (See Validation Script)

iMM

All iArchiMate models conforms linguistically to one intermediate metamodel called iMM. iMM provides a basic linguistic framework for the definition of ArchiMate models. iMM has the type called Model which contains all other elements. The abstract type Component is specialized by the types Group, which serves to create groups in the model, and Element, which serves to represent the element instances of the model. In the type Element, there is an attribute named typeName with the type ElementTypeName that is an enumeration, which contains the name of all possible elements in the ArchiMate metamodel (e.g., BusinessActor). The type Relation serves to represent relations between elements. In the type Relation, there is an attribute named typeName with the type RelationTypeName that is an enumeration, which contains the name of all possible relations in the ArchiMate metamodel (e.g., UsedBy). The type Attribute serves to represent the actual values of attributes contained in elements of the model. Attribute values may only be integers, doubles, strings, booleans, or dates.

Selection of SAMBA and Analysis Methods

iArchiMate allows selecting one SAMBA and one analysis method in order to perform analysis using the actual model. For selecting the SAMBA and analysis method the menu bar includes the menu iArchiMate. Then, select iArchiMate > Business Analysis > Select Analysis Method. Next wizard is shown.

After selecting the analysis method, the SAMBA and validation script are updated. For intance, the next script correspond with the validation script for the analysis method Business Process Fault Susceptibility.

context Element {
  
  critique hasAttributeAvailabilityInApplicationComponent{
    check{
      var validationError=0;
      var rvh = new Native('co.edu.uniandes.iArchimate.validation.Util');      
      if(self.typeName.name == 'ApplicationComponent'){
        for(att : Attribute in self.attributes){
          if(att.name == 'availability'){
            if(att.type.name == 'EDouble'){
              var attValue = rvh.castDouble(att.value);
              if(attValue >= 0 and attValue <= 1){
                return true;
              }else{
                validationError=2;
                return false;
              }              
            }else{
              validationError=1;
              return false;
            }
          }
        }
        return false;
      }
      return true; 
    }  
    message{
      if(validationError==0){
        return "The attribute availability in ApplicationComponent is required";
      }else if(validationError==1){
        return "The attribute availability in ApplicationComponent must be EDouble";      
      }else if(validationError==2){
        return "The attribute availability in ApplicationComponent must be between 0 and 1";      
      }
    }    
  }
}

The validation script allows determinig if the model is suitable for performing the desired analysis method. If it is not, the validation engine places a warning informing the problem.

Next figure shows the result of the validation process. In this example, the application component Policy Data Management does not have the attribute availability required to perform the analysis method Fault Susceptibility for business processes.

Analysis Methods Examples

Each analysis method is associated with one SAMBA, and one SAMBA can have associated a set of several analysis methods. We have developed analysis methods that can produce the following kinds of results:

  1. Provide a unique result about specific aspects on the enterprise, evaluating these aspects in all elements in the model
  2. Enrich the model including information on elements' attributes specified in the selected SAMBA
  3. Enrich the model including information on relations' attributes specified in the selected SAMBA
  4. Enrich the model including relations that conforms to any relation that belongs to ArchiMate metamodel (e.g. Composition, Aggregation, UsedBy)
  5. Enrich the model including relations specified in the selected SAMBA
  6. Enrich the model including elements that conforms to any concept that belongs to ArchiMate metamodel (e.g. BusinessProcess, ApplicationComponent, Device)
  7. Enrich the model including elements specified in the selected \textit{SAMBA}.

Analysis methods we propose are classified by the ArchiMate layers: Business, Application, Technological, Motivational, and Implementation. Each analysis method includes ID, name, description, layer(s), affected concepts, structural features (i.e. elements, elements' attributes, relations' attributes, and relations), and algorithm. The following are some of proposed analysis methods:

iarchimate_analysis.txt · Última modificación: 2014/07/04 09:53 por ha.florez39
Departamento de Ingeniería de Sistemas y Computación - Facultad de Ingeniería - Universidad de los Andes
CC Attribution-Noncommercial-Share Alike 3.0 Unported
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0