Home

HAM Tool purpose

image

Contents

1. Palette Ie Qu g Activity 4 Activity Parameter 5 Activity Partition WO Accept Event Action Ze Add Feature Value Action Call Behavior Action 3 Call Operation Action e Create Object Action G Opaque Action Send Signal Action ap OpaqueBehavior 9 Activity Initial Node Activity Final Node Flow Final Node 2 Merge Node 3 Fork Node Ze Conditional Node Expansion Region Loop Node 1775 Structured Activity Node Central Buffer Table 2 summarizes the general structure of a VML specification More information can be found in the VML Suite documentation available in the AMPLE website VML Block Description Import features path This block imports the feature model located in the path to be used along the vml4re specification Import core path This imports the core model to be used along the vml4re specification atf repname This line when present creates a new trace link repository in ATF Trace links generated during the execution of this vml4re specification will be persisted in the created repository Variant v_name feature_expression Variant allows giving a name to a feature expression A feature expression defines logic between a set of features Inside a variant a set of actions should be defined Table 2 General structure of a VML specification For demonstration purposes simply copy the following vml4re specification into the vml4req file Note
2. createAssociation List UseCase from List UseCase to A new association relationship is created between each of the source model elements and each of the target models elements insertActor String name Package p A new actor named name is inserted into package p insertPackage String name Package p A new package named name is inserted into package p removeElement Element elem The element elem is removed from the model createActivityModel String name Package p A new activity model named name is inserted into package p createAction String name Package p A new opaque action named name is inserted into package p createObjectAction String name A new object action named name is inserted into package p Package p connectActivityElements The activity elements source and target are connected ActivityNode source ActivityNode target through a control flow with guard guard If guard equals String guard un no guard name is created createDecisionNode String name A new decision node named name is inserted into package p Package p createActivityParameter String A new activity parameter named name is inserted into name Package p package p createOutputPin String name Creates a new output pin named name for the action oa OpaqueAction oa connectPins OpaqueAction oal Connect pin named pininame of action oa1 with pin names S
3. the final product gt Smarthome HomeFunctions WindowsManagement ElectronicWindows i ManualWindows i HeatingManagement ManualHeating D SmartHeating Security Alarm A DI o TE B Siren B Light IntrusionDetection J A ul B GlassBreakSensors D Cameras GUI TouchScreen o Internet A Configuration 1 of SmartHome 4 c HomeFunctions WindowsManagement H Electronic Windows ManualWindows HeatingManagement ManualHeating E SmartHeating H Security Alarm oA E Siren 7 Light IntrusionDetection S E GlassBreakSensors C cameras GUI TouchScreen L1 Internet Figure 2 Feature model left and one of its configurations called Economic Smart Home right Both models were created using the Feature Modelling Plug in FMP 3 for Eclipse 4 3 Modelling SPL Requirements Models with UML The second step of our approach consists on modeling the requirements of the SPL using UML such as use case and activity models We use the UML2 plug in for Eclipse 2 to model both use case and activity diagrams However the user could use other commercial tools like Magic Draw 8 for example since VML is general enough and allows the user to define or implement how models should be loaded To create use case and activity models right click on the folder where do you want to put the new model e g scr New gt Other gt UML 2 1 Diag
4. Aspect Oriented Model D Product Line Engine VMLARE User Manual FCT UNL 1 Contents lg ele Le en EE 3 2 System Requirements and Installation eee 3 3 Available Actions in VMLARE A 4 4 Applying VMLARE to a Case Study isc rete eere geed ee eege Ge 5 4 1 Creating a new VMLARE Project sssssseee enne e nnn nnn nnn nnn nnn nnns nnns 6 4 2 Modeling Commonalities and Variabilities esses enne 6 4 3 Modelling SPL Requirements Models with UML nnnm 7 4 4 Writing the VMLARE Specification eese eene nennen nnns sns nnns nan 8 4 5 Deriving Product Model 10 4 6 Viewing Generated Trace Links er e e esee eV eee de Eege 13 ASIE SIR SB e SERRE ERR DU TR TR R EE 16 Introduction Managing variability in Requirements Engineering RE is a key challenge in Software Product Line SPL engineering An important part of variability management is the ability to express explicitly the relationship between variability models expressing the variability in the problem space for example using feature models and other artefacts of the product line for example requirements models Once these relations have been explicitly represented they can be used for a number of purposes most importantly to automatically derive product instances based on product configuration specifications but also for other purposes such as trace link generation and consistency checking of SPL models In t
5. ady to use in the AMPLE Eclipse Bundle which can be downloaded from here 5 3 Available Actions in VML4RE VMLARE is an instance of the VML tool suite In order to create the VML4RE language a set of actions specific for use cases and other requirements models were implemented For more information about the process of instantiating the VML framework please consult the VML documentation which can be obtained from the AMPLE website These actions can then be used to manage variability i e when creating a VMLARE specification as we will see in this document Table 1 shows the Set of available actions for use case and activity models Action Signature Description insertUseCase String name Package p A new use case named name is inserted into package p insertPackage String name Package p A new package named name is inserted into package p createInclude List UseCase from List UseCase to A new dependency of type include is created between each of the source use cases and each of the target use cases createExtends List UseCase from List UseCase to A new dependency of type extends is created between each of the source use cases and each of the target use cases createInherits List UseCase from List UseCase to A new dependency if type lt lt inherits gt gt is created between each of the source use cases and each of the target use cases
6. atus of the devices from a common user interface For brevity and clarity we only use some of the features of the Smart Home 4 1 Creating a new VMLARE Project The first step is to create a new VML4RE project For this Right Click on the package explorer view of your workspace New gt Other gt XText DSL Wizards gt VML4RE Project Give a name to your project for example SmartHome Next a new blank VMLARE project is created with the structure depicted in Figure 1 8 Package Explorer 7 P Hierarchy DI 1 E model vml reg 3 gt E amp veo y model goes here E E SmartHome DS src i H model vml req I D SmartHome oaw E src gen H A JRE System Library jre6 H A Plug in Dependencies H E META INF lard build properties Figure 1 Empty VMLARE project Before creating a VMLARE specification it is necessary to create the feature and requirements models These steps are demonstrated in the next sections 4 2 Modeling Commonalities and Variabilities The next step of our approach is to model the commonalities and variabilities of the SPL Figure 2 left shows the feature model of the Smart Home product line and Figure 2 right shows one of its possible configurations called Economic Smart Home In the Economic edition the optional features that will not be included in the final product are not ticked Therefore camera surveillance and notifications via internet are not part of
7. e Heating ControlTemperatureAutomatically WindowsManagement OpenAndCloseWindowsAutomatically createAssociation or WindowSensor WindowActuator WindowsManagement OpenAndCloseWindowsAutomatically variant secure it for Security insertPackage Security insertUseCase SecureTheHouse Security insertUseCase ActivateSecureMode Security createAssociation Inhabitant Security createInclude Security SecureTheHouse or Notification SendSecurityNotification WindowsManagement OpenAndCloseWin dowsAutomatically createActivityModel ActivateSecureMode createAction VerifyInstalledGlassBreakSensors ActivateSecureMode connectActionWithInitialNode ActivateSecureMode VerifyInstalledGlassBreakSensors ActivateSecureMode createAction WaitForAlarmSignal ActivateSecureMode connectActionWithFinalNode ActivateSecureMode WaitForAlarmSignal ActivateSecureMode connectActions ActivateSecureMode VerifyInstalledGlassBreakSensors Activate SecureMode WaitForAlarmSignal variant for Siren insertActor Siren createAssociation Siren Security SecureTheHouse variant for Light insertActor Lights createAssociation Lights Security SecureTheHouse variant for GlassBreakSensors insertActor GlassBreakSensor createAssociation GlassBreakSensor Security SecureTheHo
8. gure 6 depicts the generated product use case model for the configuration Heating lal AdjustHeaterValue Ster ControlTemperatureAutomatically Thermostat CalculateEnergyConsumption V x a T qndude sManagement A WindowActuator OpendndClosewindows OpenAndCloseWindowsManually a ae T OpenAndCloseWindowsAutomatically WindowSensor SecureTheHouse 2 Lights v Siren Notification K NotifyUsingTouchScreen SendSecurityNotification i GlassBreal Sensor extend Figure 6 Product use case model for Economic Smart Home Figure 7 depicts the resulting product activity diagram for the scenario Activate Secure Mode ee VerifyInstalledGlassBreakSensors WaitForAlarmSignal Figure 7 Activity Model for optional Scenario Activate Secure Mode 4 6 Viewing Generated Trace Links To view the generated trace links it is necessary to import the project with the ATF repository to the workspace To do this you should right click and select import gt General gt Existing Projects into Workspace gt Select root directory Then browse to the directory which contains the repository in this case inside the path c tmp according to the vml4re specification After importing the repository should be connected and a new traceability scenario should be created see 9 for more information on how t
9. his document we present the user guide for the VMLARE tool suite We illustrate its use for UML requirements models in a home automation case study called Smart Home The eclipse project containing the application of VMLARE to Smart Home can be found here 2 System Requirements and Installation The VML4RE tool was developed as an Eclipse plug in and was designed to work with the following set of requirements e Java SE Runtime Environment JRE 6 e Eclipse Modeling Tools Bundle v 3 4 1 e OpenArchitectureWare v 4 3 1 1 e UML2 Tools for Eclipse 2 e Feature Modeling Plug in FMP v 0 7 3 e ATF v0 2 1 All ATF requirements must also be satisfied Please check ATF documentation Since VMLA4RE is an instantiation of the VML Suite to deal with use cases and activity models the suite should be included in your eclipse installation VML can be downloaded from 4 To install VMLARE plug in copy the following files to the directory dropins your Eclipse installation unlvml4req_1 1 1 jar org ample vmlstar util 1 1 1 jar org ample vmlstar langinst 1 1 1 jar org ample vmlstar langinst model 1 1 1 jar org ample vmlstar langinst model edit 1 1 1 jar org ample vml vml4req 1 1 1 jar org ample vml vml4req generator 1 1 1 jar org ample vml vml4req editor 1 1 1 jar Note that the numbers in the names can change depending on the current version of the tool This tool can also be found already installed and re
10. ntrolTemperatureAutomatically i T umlUsecase OpenandCloseWindowsAutomatically T umlUseCase SecureTheHouse OS Feature Security O T unl ctor GlassBreakSensor O T umlactor Heater O T umlactor Lights O T umlactor Siren CO T umlactor Thermostat O T uml ctor WindowActuator O T unl ctor WindowSensor T umlopaqueAction VerifyInstalledGlassBreakSensors T umlOpaquedction WaitForAlarmSignal CO T umiPackage Heating IT umlPackage Notification T umlPackage Security T umlUseCase ActivateSecureMode O T umluseCase CalculateEnergyConsumption CO T umluseCase ControlTemperatureAutomatically O T umluseCase OpendndCloseWindowsAutomatically T umlUseCase SecureTheHouse Figure 9 Generated trace links for the features HeatingManagement left and Security right The trace links generated for the feature HeatingManagement were created based on the explicit use of the operator trace in the vml4re specification Section 4 4 On the other hand the trace links generated for the feature Security were created based on the implicit information contained in the actions present in the vml4re specification i e VMLARE identifies places where new model elements are created or existing ones deleted we define pointcuts into our transformation implementation to support this References 1 2 3 4 5 6 7 8 9 OpenArchitectureWare h
11. o do this Then the tree register should be executed Figure 8 is a screenshot of the AMPLE Traceability Framework which allows to filter the results the user want to see by selecting the source target and link types Editor Artefacts Selection Select source artefacts Select target artefacts umlExtend modelElement umlActivityFinalNode umlGeneralization umlActor component compilationUnitInterface Feature umlInclude umlActivityFinalNode umlGeneralization Cancel Figure 8 Choosing artefacts and link types in ATF For this examples we have selected the following types e Source element types Feature e Target element types umlActor umlUseCase umlPackage umlOpaqueAction umlActivity e Link Types VMLADDLink Figure 9 shows part of trace links generated for the product Economic Smart Home in the ATF plug in for both features HeatingManagement and Security E Ba S Feature HeatingManagement T unl ctor GlassBreakSensor T uml ctor Heater j D T uml ctor Lights O T uml ctor Siren T umlactor Thermostat DI T umlactor Windowsctuator IT umlActor WindowSensor T umlopaqueaction YerifyInstalledGlassBreakSensors j CO T umlopaqueaction WaitForAlarmSignal T umlPackage Heating D T umiPackage Notification CO T umlPackage Security T umluseCase ActivateSecureMode D T umluseCase CalculateEnerayConsumption j D T umluseCase Co
12. rams UMLUseCase Diagram Give a name to the new Model SmartHome uml for example To create activity models you can right click on SmartHome uml and then right click on Initialize Activity Diagram Figure 3 shows an example of a core use case model for the Smart Home case study D product umlusc IA Heating T C AdjustHeaterva e Heater indowsManagement Thermostat Open amp ndClosewindowsManualy Inhabitant Notification ONotifyUsingTouchSaeen e A D exter C SendSecurityNotification Figure 3 Core UML Use Case Model for Smart Home 45 Palette Raa Ladi Use Case g Actor Subject E Package b 2 Constraint Extension Point 77 Element Import Associa e Sa Extend Sg Include A Generali 7 Constra Element Depend Figure 4 shows an example of the activity diagram for the scenario Adjust Heater Value Adjust Heater Value M Send command to temperature controller Y Set desired temperature i Check current room temperature er i room temperature lt desired temperature Y room temperature desired temperature Start heater Start AC I Increase Temperature Decrease Temperature Ki Maintain Temperature Figure 4 Activity Model for Activate Secure Mode scenario 4 4 Writing the VML4RE Specification At this step we can start writing the VML4RE specification
13. that the first two lines should be adapted according to the path where the previously created models are located In the following example the models are in C VML4RESmartHome import features lt File C VML4RESmartHome SmartHome fmp gt import core File C VML4RESmartHome SmartHome uml gt atf c tmp concern SmartHome variant for GUI trace Notification variant for WindowsManagement trace Windowsmanagement variant for HeatingManagement trace Heating trace Thermostat trace Heater variant for SmartHeating insertUseCase ControlTemperatureAutomatically Heating insertUseCase CalculateEnergyConsumption Heating createInclude Heating ControlTemperatureAutomatically Heating AdjustHeaterValue insertActor WindowActuator createAssociation or WindowActuator Thermostat Heating ControlTemperatureAutomatically createExtends Heating ControlTemperatureAutomatically Heating AdjustHeaterValue createExtends Heating CalculateEnergyConsumption WindowsManagement OpenAndCloseWindows variant for ElectronicWindows insertUseCase OpenAndCloseWindowsAutomatically WindowsManagement insertActor WindowActuator insertActor WindowSensor createInherits WindowsManagement OpenAndCloseWindowsAutomatically WindowsManagement OpenAndCloseWindows createInclud
14. tring pinlname OpaqueAction pin2name of action oa2 oa2 String pin2name replaceActionByActivity Replace the action oa with the contents present in the OpaqueAction oa Package p package p Trace Element e This operator traces the features where this action appear to the element or set of elements referenced by e It Table 1 List of available actions for VMLARE The operator trace Element elem allows to define explicitly trace links from features included in a feature expression with target model elements To exemplify if the vml4re specification contains the following variant variant for f1 trace refelemx the feature 1 will be traced to the element referenced by refelemx 4 Applying VMLARE to a Case Study To demonstrate how VML4RE can be used we show the application of the tool with a case study called Smart Home 6 7 Smart home is a home automation software product line case study developed in the context of the AMPLE project Smart homes have a wide variety of electronic and electrical devices which include lights thermostats blinds and fire detection sensors security devices such as cameras white goods such as washing machines communication devices such as phones and entertainment devices such as televisions The Smart Home system is designed to coordinate the behaviour of the devices to fulfil complex tasks automatically It also enables the inhabitants to visualize and control the st
15. ttp www openarchitectureware org 2008 UML2 Plugin for Eclipse www eclipse org uml2 Feature Modelling Plugin FMP for Eclipse http gsd uwaterloo ca projects fmp plugin VML Download http www steffen zschaler de publications vmlstar 2009 AMPLE Eclipse Bundle Distribution http www caesarj org downloads ample platform ample tools eclipse 20090706 zip 2009 E Figueiredo N Cacho C Sant Anna M Monteiro U Kulesza A Garcia S Soares F Ferrari S Khan F C Filho and F Dantas Evolving software product lines with aspects an empirical study on design stability in Proceedings of the 30th international conference on Software engineering Leipzig Germany ACM 2008 T Young Using Aspect to Build a Software Product Line for Mobile Devices www cs ubc ca grads resources thesis Nov05 Trevor Young pdf University of Waterloo 2005 p 73 MagicDraw http www magicdraw com 2009 A Sousa AMPLE Traceability Framework Frontend Manual http ample di fct unl pt Front End Framework ATF9620Front end9620Manual pdf 2008
16. use createAssociation GlassBreakSensor Security ActivateSecureMode variant for Cameras insertActor Cameras createAssociation Cameras Security SecureTheHouse variant network for Internet insertUseCase NotifyUsingInternet Notification createExtends Notification NotifyUsingInternet Notification SendSecurityNotification order network secure it Figure 5 VML4RE Smart Home Specification 4 5 Deriving Product Models The product models are generated when the vml4re specification is compiled and executed To compile the vml4re specification right click on the vml4re file and select Vml4req gt compile When this operation is concluded to execute the specification right click again on the vml4re file and select Vml4req gt configure Here you should select the file that contains the configuration of the feature model In this case since the FMP files already persists feature models and configurations in the same file you should select the same feature model file you defined in section import of your vml4re specification After selecting the configuration file some internal actions are performed Finally inside the folder src gen of your project you can find the product model Considering the feature model and its configuration presented in Section 4 1 and the vml4re specification Section 4 4 the product use case model was generated Fi

Download Pdf Manuals

image

Related Search

Related Contents

3G HD-SDI 101 User Guide  DTA-7    KWC DESIGNO K.28.H9.60.000.38 User's Manual  CIFOUMIC 10 10 10  Consulter le Manuel - Lacrosse Technology  取扱説明書/A5505SA  

Copyright © All rights reserved.
Failed to retrieve file