The Questionnaire of the Developers' Experiment 1 This experiment deals with comparative analysis of two variability representation notations: Application-based DOmain Modeling (ADOM), which is a UML-based notation, and Cardinality-Based Feature Modeling (CBFM), which is a feature-oriented notation. The aim is to point out the benefits and shortcomings of these notations when developing and utilizing core assets (domain models). For this purpose, assume that you are a software (product) engineer / domain (product line) engineer. You should utilize domain models for developing particular applications in the domain / develop domain models for assisting software (product) engineers in developing particular application models. The domain of interest in this experiment is Virtual Office of the Future (VOF). The VOF domain deals with virtual offices, which are a type of telecommunication in which workers are occupied with the tools, technologies, and skills to perform their jobs from anywhere in the world, e.g., home, office, or customer site. Virtual offices allow users to reduce traditional office costs while maintaining business professionalism. The applications and devices in virtual offices actively adapt their services with respect to the role of their users or to the states of workflows a user is actually involved in. The main motto of virtual offices is provision of all services anywhere (adaptability) and anytime (availability). Below you may find an ADOM model / a CBFM model of the VOF domain, followed by two parts of questions. All the questions in this questionnaire refer to the provided model. The description can be used as a background only. Thanks for your cooperation! 1 The questionnaire had two versions: one with parts A and B (for "product line engineers") and the other with A and C (for "product engineers"). 1
Please fill your personal and background information below. Full Name: Degree: BA MA Year in the IS department: 1 2 3 more Additional studies (other academic degrees, non-academic courses relevant to modeling and software engineering fields): Please estimate your knowledge regarding modeling, analysis, and design (grade 1-10) Please estimate your knowledge regarding ADOM/CBFM (grade 1-10) Please estimate your knowledge regarding the VOF domain (grade 1-10) Please provide details regarding your practice in relevant fields (systems modeling, analysis and design) Your role in this experiment is: 2
The basic terms in the VOF domain and their explanations Term Peripheral Personal Computer Network Perform Task Initialize Device Maintain Device Operate Peripheral Receive Fax Send Fax Print Document Convert Document Scan Document Send Notifications Check Devices Detect Physical Location Automatic Detection Manual Detection Using Authentication Go physical Schedule Actual Meeting Plan a Business Trip Explanation A peripheral is a device attached to a host computer, but not part of it, and is more or less dependent on the host, Examples: printers, fax machines, and scanners. A PC is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator. PCs in the VOF domain are roughly divided into desktops (personal computers designed to fit on desks), laptops (personal computers designed for mobile use), and pocket PC (a hardware specification for a handheld-sized computer that runs the Microsoft Windows Mobile operating system; it has many of the capabilities of modern desktop PCs). A computer network allows sharing of resources and information among interconnected devices. Networks can be classified according to their technologies: wired vs. wireless. They can be also classified according to their physical scope: LAN (local area network; connects computers and devices in a limited geographical area, such as home and school) and WAN (wide area network; covers a large geographic area such as a city or a country). Enables performing every day tasks. Initializes a device prior to usage. Enables device maintenance during its usage period. Enables using peripherals (such as scanners, fax machines, and printers). Receives a fax by a fax machine. Sends a (delayed or immediate) fax by a fax machine Prints a document to a printer Converts a document into different formats (such as pdf) using a printer-like device. Scans a document to a personal computer or to a peripheral (e.g., a fax machine). Sends notification about peripheral operations, e.g. fax receiving or sending, document printing, converting, or scanning. Checks that allocation of the required devices is feasible for a given (specific) task. Detects the user's physical location for providing context-relevant services, such as ordering flight tickets from the user's actual location to a requested destination. Allows a user to access facilities (e.g., personal computers, peripherals, etc.) without manual operations for authentication. When the system does not succeed in automatic detection of the physical location, the user is requested to manually identify in order to access facilities (e.g., personal computers, peripherals, etc.). Enables performing tasks that have physical content, "outside" the virtual environment. Plans a meeting that includes inviting people to the meeting, scheduling a time for the meeting with the persons attending, allocating a room for the meeting, and so on. Although this information is not stored in the system, the system supports its activation. Supports planning, approving, preparing, and reporting a (physical) business trip. Although this information is not stored in the system, the system supports its activation. 3
Legend for CBFM method 2 Explanation Feature F must appear exactly once. Feature F must appear at least once. Feature F may appear at most once. Feature F may appear 0 or more times. Variant is an optional member in a feature group (the parent of this feature) Variant is a mandatory feature in a feature group (the parent of this feature) Notation F [1..m] F F [0..m] F Variant Variant Only one member from the feature group can be selected. At least one member from the feature group must be selected. Between m to n members from the feature group needs to be selected. m..n Feature A is elaborated and specified in another feature diagram. The feature F represents an attribute of kind T. A(1) F (T) If feature A is selected, then feature B must be selected. A requires B A.isSelected() implies B.isSelected() If feature A is selected, then feature B must not be selected. A excludes B A.isSelected() implies not B.isSelected() 2 Only the participants that belonged to CBFM group got this part. 4
VOF domain model depicted by CBFM method 3 Virtual Office of the Future [1 *] [1 *] [0 *] Peripheral Personal Computer (PC) Device 3..3 Network Serial Number (string) [0 *] Status (enum) Initialize Device Maintain Device Operate Peripheral Perform Task 3..*... Detect Physical Location (1) Go Physical (1) [1 *] Check Device 1..* [0 *] Physical Location (String) Model (String) Manufacturer (String) Fax Machine Scanner Printer... Laptop Desktop Pocket PC Memory Size (Integer) Hard Disk Size (Integer) Wired Technology Wireless Technology LAN WAN Receive Fax Send Fax Print Document Convert Document Scan Document... Send Notification [1 *] [1 *] [1 *] [0 *] Phone Number (String) Paper Size (String) Image Quality (String) Paper Size (String) Print Quality (String) Physical Location (String) requires requires requires requires requires 1. VOF.Device.Peripheral.FaxMachine.isSelected() implies VOF.PerformTask.OperateDevice.ReceiveFax.isSelected() or VOF.PerformTask.OperateDevice.SendFax.isSelected 2. VOF.Device.Peripheral.Printer.IsSelected() implies VOF.PerformTask.OperateDevice.PrintDocument.isSelected() or VOF.PerformTask.OperateDevice.ConvertDocument.isSelected() requires requires Figure 1 Top level CBFM Diagram 3 Only the participants that belonged to CBFM group got this part. 5
Go Physical Detect Physical Location Schedule Actual Meeting Plan a Business Trip Manual Detection Using Authentication Automatic Detection requires Detect Physical Location (2) (a) (b) Figure2. Additional CBFM Diagrams: (a) Go "Physical" and (b) Detect Physical Location 6
Legend for ADOM method 4 Elements Explanation Use case represents a functional requirement from the system (software product). An actor represents a user (a human or a machine). notation Use case A includes (always uses) use case B. Use case B extends use case A in some cases (that are specified in the extension point). Class represents a set of objects that have similar attributes and available methods (operations). Inheritance; the parent element (the top of the triangle) bequeaths its attributes, methods, and relationships) to the child element (in the base of the triangle). The association relation represents a logical relation between elements (classes, or use cases and actors). Aggregation relation represents a whole-part relation such that the part can independently exist. whole Composition relation represents a whole-part relation where the part has no existence without the whole. whole part Stereotypes: Name Explanation Can be associated to «mandatory single» Mandatory single element; exactly one variant of the element Any element should appear in a specific product in the line. «mandatory many» Mandatory many element; a least one variant of the element Any element should appear in a specific product in the line. «optional single» Optional single element; only one versions of it may appear in Any element a specific application. «optional many» An optional many element; one or more variants of this Any element element may appear in a specific product in the line. «variation_point open=true/false A location at which variation may occur. An open variation Any element card= m..n» point enables adding new variants in the product level; card indicates the range of variants that need or can be selected in this variation point. «variant» A variant represents a possible choice in a particular product. Any element «requires» Selection of a specific element requires the selection of Dependencies relations another element. «excludes» Selection of a specific element excludes (requires the Dependencies relations part 4 Only the participants that belonged to ADOM group got this part.
omittion) of another element.
VOF Domain model depicted by ADOM method 5 Figure 1. Top Level Use Case Diagram 5 Only the participants that belonged to ADOM group got this part.
Figure 2. Use Case Diagram elaborating Operate Peripherals
Figure 3. Top level Class Diagram
Part A: comprehension of the domain model For each of the following statements, mark correct or and provide an explanation based on the VOF model. Statement Correctness Explanation 1. A VOF application may have only fax machines, scanners, and printers, without any Personal Computer (PC). 2. Each VOF application needs to enable manual detection (using authentication) of the user's physical location, while planning a business trip. 3. A VOF application may have only a wireless WAN Network. 4. A VOF application may detect physical locations both manually (using authentication) and automatically.
Statement Correctness Explanation 5. A VOF application that handles fax machines may store for each fax machine only its serial number, phone number, paper size, and image quality. 6. A VOF application may perform tasks of sending and receiving emails using an email server. 7. A VOF application may have Personal Computers (PC) which are not laptops, desktops, and Pocket PCs. 8. A VOF application may have a fax machine without the ability to send faxes. 9. A VOF application that supports Pocket PCs has both wired and wireless network communications.
Statement Correctness Explanation 10. A VOF application may not receive/send faxes neither print/ convert/scan documents. 11. A VOF application must have a single element for detecting physical location. 12. The only difference between Desktops and Laptops is that for Desktops a VOF application may store also the physical location. 13. While maintaining a device, a VOF application should support detecting the employee's physical location. 14. The VOF domain supports the specification of servers. A server is a non-personal computer that helps to deliver content that can be accessed through the internet.
Statement Correctness Explanation 15. Any VOF application have either Schedule Actual Meeting and Plan a Business Trip, or none
Part B: Development of a Domain Model 6 After developing many VOF applications, the following changes are requested to the domain model. Refer to each change individually. Shortly describe the changes in the space given for each question and make the actual modifications on the diagrams in the general part (write near each modification to which question it refers). 1. For checking devices two strategies are available: distance-based and attribute-based. In the distance-based strategy the application locates the nearest available devices for the task at hand. For this purpose, the application should detect the physical location of the employee that performs the task, either manually (using authentication) or automatically. In the attribute-based strategy, the employee needs to supply values to different relevant parameters of the device, such as the paper size and the print quality for printers and the paper size and the image quality for fax machines. Each application in VOF domain must support the distance-based strategy, but may support both strategies. 2. A new peripheral is introduced, called All-in-One. This peripheral consists of a fax machine, a printer, and a scanner. Accordingly, it allows sending and receiving faxes, as well as printing, converting, and scanning documents. 3. A VOF application may have a server computer, which is a device that links computers or (electronic) devices together. They often provide essential services across a network, either to private users inside a large organization (LAN) or to public users via the internet (WAN). Many servers have dedicated functionality, such as web servers, print servers (that manage printers), file servers, email servers, and database servers. For each server, the following information is stored: CPU characteristics, RAM characteristics, and optionally the number of hard drives. A print server is a dedicated device that connects one or more printers to a local area network (LAN). It is characterized by at least one printing protocol. 4. VOF applications can support the collaboration of their employee's Personal Computers. This collaboration can be done in three ways: via instant messaging, via hosting, or via 6 Only the participants who played the role of product line engineers got this part.
shared control. If a VOF application supports collaboration, then it must support at least instant messaging. It should also automatically detect the employees' physical locations and ping (test the reach-ability of) the relevant personal computers (the latter is one of the maintenance operations of a personal computer). 5. In VOF applications, planning business trips are classified as either short-distance or long distance trip planning. The trip planning category is determined according to the employee's physical location (and the requested destination). Both trip planning types require reserving hotel activities and ordering local arrangement activities. Long distance trip planning requires in addition reserving flight activities. Part C: Utilization a Domain Model for creating specific Applications 7 Bellow you may find partial requirements for a Brokers application. You are requested to model the parts of each requirement that are in-line with the domain model and fully list the parts of the requirements that violate the domain model. For each violation explain why it violates the domain model. Pay attention: you need to specify also parts that are unambiguously derived from the domain model. Example Assume that the domain model looks like this: DM 1..* A B C 1..2 D E F G H I Requirement 1: application 1 has only A, D1, D2, E, and C. 7 Only the participants who played the role of software (product) engineers got this part, and only the relevant example for their method was presented.
DM No violation A D1 D2 E C G1 G2 G3 H Requirement 2: application 2 has only A, D, E, F, C1, and C2. Answer: DM A D E The specification of maximum of two variants of B is violated (D, E, and F is selected). C is instantiated twice instead of maximum once. G1 G3 H 1. The devices in the Brokers application are a fax machine, 2 laptops, 1 desktop, 1 pocket PC, and a wired LAN network. The fax machine enables copying documents and sending immediate or delayed faxes, but it does not support receiving faxes. 2. The only physical action that the Brokers application supports is planning a business trip. While performing this action, the system needs to detect the physical location of the employee, both manually (using authentication) and automatically, in order to prevent impersonator.
3. The broker application has a single peripheral, called All-in-One that consists of a fax machine, a printer, and a scanner. This device enables only copying, printing, and saving documents. 4. While operating a peripheral in the broker application, notifications are sent to both employees (via emails) and log files. Furthermore, when performing a task on a device, three main checks are performed: accessibility, feasibility, and profitability. 5. While preparing an actual meeting the broker application enables allocating a room for the meeting according to the location of the employee who requests the meeting. Furthermore, the allocated room should include a slides projector and be near a printer. These peripherals, as well as the laptop brought by the meeting initiator to the room, should be connected via a wireless WAN network.