1 / 6

Formal Modeling of Feature Interaction in Product Line

Formal Modeling of Feature Interaction in Product Line. November 2005 Yuji ARICHIKA,Keijiro ARAKI Kyushu University {arichika,araki}@ale.csce.kyushu-u.ac.jp. 1. Background. Product line software engineering

nassor
Télécharger la présentation

Formal Modeling of Feature Interaction in Product Line

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Modeling of Feature Interaction in Product Line November 2005 Yuji ARICHIKA,Keijiro ARAKI Kyushu University {arichika,araki}@ale.csce.kyushu-u.ac.jp 1

  2. Background Product line software engineering • Software development frame work to develop reusable assets and develop each products by using reusable assets FORM (Feature Oriented Reuse Method) • Feature oriented PLSE methods • We analyze feature by using feature model • We can’t analyze feature interaction strictly because feature model has ambiguity Feature interaction • Selected features interact each other and whole of the system can't perform well It is important to describe formal model of feature and feature interaction 2

  3. Classification of Feature Interaction • Parallel feature: feature interactions which can arise when two features operate in the same time(feature A, B) • Sequential feature interaction: feature interactions which can arise when two features operate sequentially • Direct sequential feature interaction (feature A, C) • Indirect sequential feature interaction(feature A, D) time feature A feature B feature C feature D 3

  4. Example of Parallel Feature Interaction Telecommunication system • Call Forwarding Feature:forwarding calls to registered telephone • Originating Call Screening: restricting calls to telephone that appear on a screening list • Feature interaction:two features has same registered telephones call Telephone C Telephone A Telephone B Originating Call Screening Feature :Telephone C Call Forwarding Feature:Telephone C 4

  5. Feature A +Feature B Pre or Post => and => Feature A Pre Post Feature B Pre Post conditionA1 conditionB1 conditionB1 conditionA1 conditionA1 conditionA2 conditionA2 conditionB2 conditionB1 conditionB2 Formal Modeling of Feature Interaction Formal modeling of feature • Describe features as a function • Describe conditions to operate the feature in pre condition of the function • Describe conditions which the system have to fulfill when the feature is operated in post condition of the function Formal modeling of feature interaction • Describe as a function expressionlike a schema expression of Z 5

  6. o_screening pre caller in set dom telephone_system.terminating _call_screening and callee in set telephone_system.terminating_call_screening(caller) post mk_(caller,callee) not in set out_telephone_system.basic_calling; s_callup(o_forwarding + o_screening) pre pre_o_forwarding(telephone_system, caller, callee) or pre_o_screening(telephone_system, caller, callee) post (pre_o_forwarding(telephone_system, caller, callee) =>post_o_forwarding(telephone_system, caller, callee, out_telephone_system)) and (pre_o_screening(telephone_system, caller, callee) => post_o_screening(telephone_system, caller, callee, out_telephone_system)); Formal Model of Feature Interaction o_forwarding pre telephone_system.call_forwarding(caller) <> nil post mk_(caller, telephone_system.call_forwarding(callee)) in set out_telephone_system.basic_calling; feature interaction not forall s1 in set setTS, caller in set setTel, callee in set setTel & pre_s_callup(s1, caller, callee) => exists s2 in set setTS & post_s_callup(s1, caller, callee, s2) 6

More Related