• 沒有找到結果。

A Reusable Software Architecture for Context-Aware Applications

N/A
N/A
Protected

Academic year: 2021

Share "A Reusable Software Architecture for Context-Aware Applications"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)A Reusable Software Architecture for Context-Aware Applications Feng-Pu Yang, Fang-Chen Hwang, Wei Zhang Hu, Yu-Sheng Lai, Hewijin Christine Jiau and Pau-Choo Chung National Cheng Kung University Electrical Engineering, Industrial Technology Research Institute e-mail: jopwil@nature.ee.ncku.edu.tw. Abstract. provides anytime and anywhere computing by decoupling user from device, have prompted the prolif-. As the popularity of ubiquitous computing and. eration of context-aware applications [7]. Such con-. pervasive computing, the goal of building smart. text-aware application, which can adapt to changes in. home. Con-. the environment and human’s activities dynamically,. text-awareness is a key feature of good smart home. can be used in various application domains, such as. applications, but many context-aware features have. smart homes. A smart home [5] uses networked sen-. been hard-coded into traditional applications. The. sors, devices, and appliances to build an intelligent. hard-coded features cause the slow development of. environment in which many features in the home are. smart home application, and also let the smart home. automated and where devices and services seamlessly. application become inflexible to varying when the. cooperate to support household tasks. An envisioned. requirement is changed. This paper aims to improve. scenario of smart home application would be like that:. the productivity of the development of smart home. Grandmother wakes up in the middle night, and she. application by increase the possibility of both reuse. goes through hallway to bathroom. The system senses. and adaptation. By analyzing the variations occurred. that the hallway is dark, and turns on the dim light. within smart home domain, we make those possible. instead of dazzling light because the time context is. variations as configurable tuning points. Those varia-. midnight. As the scenario mentioned above, smart. tions can be adapted through configuring tuning. home system can provide proper and customized ser-. points, and there is no need to modify the program. vices for each home member automatically by the. frequently when the situation is changed.. using of context-awareness. However, those con-. Keyword:context-aware, smart home, configuration, software architecture. text-aware features have been hard-coded into tradi-. 1.. applications. becomes. practical.. Introduction The popularity of ubiquitous computing [10],. where computer moves off the desktop and into the environment, and pervasive computing [4], which. tional context-aware applications, which make development slow and inflexible to varying when the requirement is changed. This paper aims to speed the development process by enhancing the reusability and also provide flexibility against the requirement changes within smart homes application domain..

(2) Current researches [8] [5] [6] [1] mainly focus on the. 2.. Catalog of Variations. extensibility issues, but they are unconscious of the adaptability issues. From the perspective of mainte-. As mentioned above, context-aware features. nance staffs, the current researchers and this paper. have been hard-coded into traditional context-aware. both focus on preventive maintenance. The difference. applications. Many researchers dealt with this prob-. is that current researchers focus only on the aspect of. lem by introducing configuration into their design.. easing effort of perfective maintenance in the future. However, their configurations are still entangled with. and this paper focus on the aspect of easing both the. their usage, and developers who want to configure. effort of perfective and adaptive maintenance in the. such a system need to dig into the codes. For example,. future [13].. the work of S. Helal et al. [6] is the typical paper ad-. In order to deal with such problems, the main. dressed the hard-coded problems by inventing an. principle of this paper is to separate configuration. architecture, which can help context-aware applica-. from use. Therefore, we need to identify the varia-. tion developers to build their applications on top of. tions within smart home domain, and then extract. existed applications. This approach increases the pro-. them outside to serve as tuning points. By separating. ductivity of individual developers through a kind of. these tuning points outside, the developed system is. reuse, but it still ignored a serious problem of adapta-. able to generalize to other settings with much fewer. bility. The power of this architecture is to accumulate. efforts then before.. the reusable context-aware applications for further. After the analyzing a series of smart-home sce-. developers to develop with reuse. The bigger the. narios, we introduce two more variations, environ-. number of accumulated applications causes the. ments and home members, in addition to the sensors. higher the possibility of reuse. However, the power. and services. Sensors and services can not be linked. will reduce dramatically when the system needed to. directly without taking environments and home. be adapted to other environments. Because the archi-. members into consideration. Those variations will be. tecture of [6] did not take the varieties of environ-. discussed through section 2.1 to section 2.4.. ments and home members in advance, the developed applications entangle the functionalities with a spe-. 2.1.. Variations of Sensors. cific setting of environment and home member. People who needed to adapt this software to a new set-. Location is an important context in almost all. ting of environment and home member should pay. context-aware applications, and there are much more. considerable effort to identify the related portions and. than one kind of sensors can provide context of loca-. then modify them. In other words, the reusability ob-. tion. Active badge [2] is a good candidate of loca-. tained under such kinds of architecture is limited. tion-related sensing. Each active badge is associated. within the boundary of a specifically predefined en-. with a unique identity, which is broadcast as part of. vironment setting. When the boundary is shifted, the. the beacons emitted by the badge worn by a home. architecture can not promise the reusability any more.. member. The badge infrastructure consists of a group. To preserve the benefits of accumulated reusability. of badge readers that are deployed in various loca-. across the boundary to some extend, researchers need. tions in the smart home environment. However, the. to consider more on possible variations carefully.. level of resolution may not be appropriate for many.

(3) applications, which require even finer granularity.. spaces for sensor deployment, and some designs will. Such kind of applications may need some other sen-. be suitable for deploying specific kind of sensors. All. sors such as supersonic sensors. No matter what sen-. the sensor deployments with respect to scales, the. sors are in use, almost every smart home application. internal design and culture of usage form the envi-. needs a location sensor, but the interpretation mecha-. ronment of smart home application. One of this pa-. nisms of those location sensors are hard-coded into. per’s goals is to prevent those environment variations. code in traditional context-aware applications. That. being hard-coded into smart home application. The. causes two serious problems. First, such kinds of de-. other goal is to reduce the effort of adaptive mainte-. sign force developers to recreate solutions to prob-. nance when the home environment is change through. lems that are already solved. Because the sensor in-. enhancing reusability.. terpretations are hard-coded with what the applications want to do. The effort to refactor such code to. 2.3.. Variations of Home Members. reusable code may be more than the effort to write from scratch. Second, such kinds of applications need. The variations between home members cause. to be reprogrammed when the location sensors are. the interpretation of the same context becomes dif-. changes, such as changing from active badge to su-. ferently. For example, the same temperature may. personic sensor.. have different interpretations for adults and elders. Take the variations of home members into considera-. 2.2.. Variations of Environments. tion will let the behavior of system become more adaptive to each home member. In addition to pro-. To deal with the variation of environment, de-. vide adaptive services to each home member, another. velopers need to carry out the adaptive maintenance. important concern is to keep home member with. [13], which means software maintenance is per-. minimal disturbance when system provides services.. formed to make a computer program usable in a. Traditional applications usually deal with this prob-. changed environment. A smart home environment’s. lem by introducing user profiles [4] [9] [13]. This. variations come from the scale of house, the internal. approach has been proven to be practical, and we use. design of house, the deployment of sensors and the. this approach to record the variations of home mem-. cultures of using each zone of a house. An extreme. bers for adapting to each home member and mini-. example of scale variation is the house of Bill Gate.. mizing disturbance.. For example, Bill Gate may need lots of location sensors cooperate to get overall information of his. 2.4.. Variations of Services. living room under such a large scale. Internal design is another factor, which may be correlated with the. The types of services provided by service pro-. cultures of using each zone of a house. These two. viders would be influenced by many factors, such as. kinds of variations affect the treatment of sensor data. demands of their target users. Because different hu-. and the style of services provision. For example, the. man in different environments will have different. locations of sensors are strongly influenced by the. needs, and the corresponding services are sought to. home environment in both positive and negative. deal with different situations. If developers do not. ways. Some internal designs may limit the available. take the variations of services into account, they will.

(4) pay lots of effort when the demand is changed. For. structure is built to manage and organize the varia-. example, they may need to redeploy sensors, to write. tions. Figure 1 describes the separation of concerns;. the suitable program to interpret the sensors’ data and. Control Parameter deals with the variations of sen-. to link those interpreted data with newly deployed. sors, Composite Constrain deals with the variations. actuators. In order to prevent deploying duplicated. of environment and Core Ontology deals with the. sensors and programming duplicated code, we iden-. variations of services as well as User Profile which. tify some general commonalities and variations of. deals with the variations of home member.. information that services needed under the domain of smart home. Those identified information can be. 3.1.. Primitive Context and Control Parameter. viewed as the guidance for the context-aware engine to generate the useful information. The service pro-. The context comes directly from sensors with. viders can find mostly all information they needed. proper interpretation specified in the Control Pa-. from information generated by guidelines.. rameter is called Primitive Context. Control Parameter records the interpretation between sensor. 3. Separation of Concern. data and Primitive Contexts. Primitive Context encompasses the information of sensed type, sensor. In addition to separate configurations from use,. ID, sensor location and sensor data. The sensed data. this paper aims to increase the reusability of con-. is the interpreted result of sensor’s raw data, and the. text-aware system. This section introduces the ap-. interpretation rules are defined in the Control Pa-. proach of reusability enhancing by separation of. rameter. For example, the thermometer senses the. concern between variations. There are some dependencies between the variations mentioned in section 2. For example,. temperature of 80℃ may be interpreted as hot because the Control Parameter defines temperature which is higher than 50℃ as hot. Control Parame-. auto-control services of air conditioner usually can. ter reduces the burden of the following processing by. not perform without the assistance of thermometer.. giving basic meaning of raw data. In addition to re-. That is an example of dependency between sensors. duce the stream of data provided by the sensor, Con-. and services (the available sensors will affect what. trol Parameter also helps the further stages to de-. services the system can provide to some extend).. termine which Primitive Contexts are relevant based. Dependency between sensor and environment is like. on those basic meaning. The variations of sensor are. that the interpretation of the location sensors of a. taken into consideration in Control Parameter.. villa may be different with the location sensors of an apartment. If we just put all of those variations into. 3.2.. Composite Context, Composite Constrain and User Profile. one configuration file in a flatten structure, the modification of one portion of configuration will affect other portions. This phenomena is like the change propagate problem in software maintenance, and we need to reorganize the configuration to make sure the change will only happen locally. By analyzing the dependencies between those variations, a hierarchic. The context, which is composed of two or more Primitive Contexts under constrains specified by Composite Constrain is called Composite Context. The ability of grouping relevant stimulus and ignoring irrelevant stimulus is important for human to be.

(5) Aware Context Core Ontology User Profile. Composite Constrain Control Parameter. Composite Context. take the variation of home members into concern, the user profile is used for providing information of each home member. This approach will let the behavior of system become more adaptive to each home member.. Primitive Context Sensor Data. In addition to provide adaptive services to each home member, the other advantage of using user profile is to keep home member with minimal disturbance. Figure 1: Conceptual Model of context-awareness. when the system provides services. For example, it is. applications.. not comfortable if home members need to answer a lot of questions, such as the preference of tempera-. aware of environment changes. If we want computers. ture and brightness, before entering their bedroom.. to cope with our daily life, the first thing we should. Current applications of user profile [4] [13] [9]. do is to make the computer be able to group mean-. can be divided into two types. Type I records con-. ingful stimulus. There is a need to group relevant. figuration settings and other data associated with a. Primitive Contexts by some properties such as time,. user, and type II records demographic information. locations, and home member ID, and it is often the. and statistics about that user's behavior. The purpose. case that a service requires multiple Primitive Con-. of using type I user profile is to prevent the user be-. texts which possessed a common value of a specific. ing aware of environment change by providing loca-. property. For example, the Primitive Context of. tion transparency. However, that is not suitable to the. “Home member #1 enters living room” and the. context-aware application, which needs to be aware. Primitive Context of “the light of living room is off”. of environment changes. Type II user profile is more. can be combined as a Composite Context of “Home. suitable for the purpose of context-aware applications.. member #1 enters living room where the light is off”,. The variations of home members are taken into con-. and such a combined context may be useful for light. sideration in Composite Constrain with the assis-. control services.. tance of user profile. The user profile used by this. Living room is the common prop-. erty value for these two Primitive Contexts to be. paper belongs to Type II.. combined. The Composite Constrain records constrains. 3.3.. Aware Context and Core Ontology. of how to group relevant Primitive Contexts and ignore irrelevant Primitive Contexts. Composite. Aware Contexts are the inferred contexts,. Constrain is defined on grouping relevant Primitive. which occur when some composite contexts are in the. Contexts such as time, location and home members. same conditions specified by Core Ontology. For. ID. Composite Constrain contains the information. example, the Aware Context “Housebreaking when. of time, involved home member, and location, which. the occupants are absent” is occurred when the. are related to the grouping. The variations of envi-. Composite Contexts “No home members at home”. ronment are taken into consideration in Composite. and “Housebreaking” coexisted concurrently. The. Constrain.. conditions of Aware Contexts occurrence are speci-. To generate Composite Contexts needs the supporting information of home members. In order to. fied in Core Ontology. Human can not experience all things in the.

(6) world, but he can learn from experience. By sharing. Context Acquisition module, Context Aggregation. self-experience with each other, human learn things. module, Inference Engine module and Aware Con-. more efficiently. Sensor-intensive approach gives. texts and Service Mapping module. Two Databases,. computer the capability to experience the world. That. Current Environment DB (database) and Core. means it is possible for a computer to learn some-. Ontology DB, are used to support functional modules.. thing from its surround environment. However, it is. The responsibility of Context Acquisition module is. time-consuming to let computer learn by itself from. to transform raw data to Primitive Contexts. Those. scratch. In order to make computer become ready for. Primitive Contexts generated by Context Acquisi-. use as soon as possible, we build a Core Ontology to. tion module are combined by Context Aggregation. accumulate experience of human beings for com-. module to generate meaningful Composite Contexts.. puters. Human can share their experiences with com-. Inference Engine receives those generated Compos-. puters through using Core Ontology, and computers. ite Context and then deduces more information,. which are aware of Core Ontology can help human. which called Aware Context, out of them. Finally,. in many different aspects in a human-liked way.. Aware Contexts and Service Mapping module. Core Ontology can be extended through up-. maps interested Aware Context to services by the. dating or being added locally. The organization which. demands of service providers. In this section, the. is responsible for the Core Ontology management. main functional modules are explained sequentially. should provide the services of Core Ontology up-. below.. dating, Core Ontology synchronization…etc. 4.1.. Context Acquisition. 4. System Architecture Sensor sends the measured or detected data to As the Figure 2 depicts, the whole system is. the Context Acquisition module. Context Acquisi-. composed of four functional modules, which are. tion module interprets the receiving data by refer-. Figure 2: System architecture.

(7) encing the corresponding Control Parameter from. gation module to support new grouping operations. A.. the Control Parameter Repository. The interpreted. K. Dey [1] had mentioned that with no support for. data are filled in the corresponding template, which. aggregation, an application has to use a combination. extracted from the Primitive Context Template. of subscriptions and queries on different Primitive. Repository, and sent as a Primitive Context to. Contexts to determine when these conditions are met.. Context Aggregation module for further processing.. It is unnecessarily complex and is difficult to modify. Context Acquisition module provides a sepa-. if changes occur.. ration of concerns between how Primitive Context is acquired and how it is used by Context Aggregation. 4.3.. Inference Engine. module. The domain experts can use Control Parameters to specify the transformations between. Inference Engine receives Composite Con-. sensor data and Primitive Contexts. When the sys-. texts from Context Aggregation module. The Core. tem is migrated to a new environment, some Control. Ontology is loaded from Core Ontology DB. When. Parameters can be reused with, if any, few modifi-. those incoming Composite Contexts match the fire. cations when the new environment has similar sen-. condition defined in the Core Ontology, the corre-. sors in use.. sponding Aware Context will be fired. Aware Contexts are sent to the Aware Context and Service. 4.2.. Context Aggregation. Mapping module for further processing. Inference Engine is responsible to interpret the. Context Acquisition module sends the Primi-. current situations in terms of high-level concepts,. tive Contexts to the Context Aggregation module.. which are understandable by human. The Core On-. Context Aggregation module groups the arrived. tology consists of many Composite Context nodes. Primitive Contexts by time, location, home member. and relationships between those Composite Context. ID and other grouping properties with the assistance. nodes as well as firing conditions of Aware Contexts.. of underlying grouping mechanisms. Context Ag-. The composers of Core Ontology need not to specify. gregation module checks the occurrence of mean-. all the relationships between Composite Context. ingful combinations within current Primitive Con-. nodes explicitly, the Inference Engine will infer the. text set by referring to Composite Constrain, which. correct relationships automatically. The inferred Core. is loaded from Composite Constrain Repository.. Ontology is then used for runtime operation. Each. The generated meaningful combinations are filled in. incoming Composite Context is classified to corre-. the corresponding template, which extracted from the. sponding Composite Context node of Core Ontol-. Composite Context Template Repository, and sent. ogy instance, and the relationships between Compos-. as a Composite Context to Inference Engine for. ite Context nodes are monitored by the Inference. further processing.. Engine. When the occurred relationships match any. In order to support the grouping operation on such properties, there is a need to design correspond-. fire condition, the corresponding Aware Context will be fired.. ing mechanism for each operation. Those corresponding mechanism are encapsulated in the form of components, which are deployed in Context Aggre-. 4.4.. Aware Context and Services Mapping.

(8) Inference Engine generates Aware Contexts to. the platform independent because of using Java. De-. Aware Context and Service Mapping module. The. velopers who want to apply the architecture should. Aware Context and Service Mapping module maps. take the variations of sensors into consideration. The. each Aware Context to the services which need the. Gator Tech Smart House [6] focus on creating a smart. aware context by referring the Mapping Rule stored. apace which has the ability to evolve as new tech-. in Mapping Rule Repository.. nologies emerge or as an application domain mature.. Inference Engine exposes all the possible. They have wrapped the existed sensors to incorpo-. Aware Contexts for services’ usage. The service. rating some new sensor technologies, which called. providers can link their services to corresponding. smart sensors. In comparison with this paper, the Ga-. Aware Contexts by composing their Mapping Rules.. tor Tech Smart House also extracts sensor variations. When the service providers want to provide new ser-. and wrapped those variations in the form of OSGi. vices, what all necessary they should do is to modify. service. Such approach can prompt reusability as. the Mapping Rules.. what this paper prompted, but the approach can not provide flexibility as this paper provided. A. K. Dey. 5. Related Works. proposed an architecture support [1] to deal the variations of sensors. A. K. Dey provided many context. Researches [8] [5] [6] [1] are also aware of the. toolkits for building context application, which can. importance to deal with some variations which men-. fulfill the first goal of this paper to build con-. tioned in section 2. For example, A. Schmidt et al.. text-aware application with high productivity. How-. have used cue to deal with the variations of sensors. ever, the learning curve of context toolkit is higher. [8]. The concept of cues provides an abstraction of. than the learning curve of tuning points mentioned in. sensors. Each cue is dependent on single sensor; but. this paper. As the context toolkits framework be-. using the data of one sensor, multiple cues can be. comes larger and larger, the learning effort would. calculated. When including new sensors with differ-. increase dramatically. The advantage of this paper in. ent characteristics, only changes in the corresponding. comparison with the related works is that this paper. cues must be adapted, cues are also a way to reduce. deals with those variations explicitly. By a systemi-. the stream of data provided by the sensor. The role of. cally analysis of each variation, the design can sur-. cue is similar as the Control Parameter in this paper,. vive well against the changes of those variations.. but A. Schmidt et al. did not take other variations into. Separating those variations from common features. considerations. T. Gu et al. proposed a hierarchical. can also prompt design with reuse.. context ontology [5], which separates the domain specific ontology from the common high level ontol-. 6. Conclusion and Future Work. ogy. Instead of dealing with domain, this paper deals with environment directly. The reason of such a de-. The variations of services, environments and. sign decision is that the possible application domain. members as well as sensors are analyzed for separat-. of a smart place is not usually predictable, but the. ing the configuration from use. Because the varia-. application domain must depend on its environment. tions are not orthogonal, the conceptual model is de-. to some extend. T. Gu et al. did not take sensor varia-. signed in a hierarchical style based on the dependen-. tions into concern, and what they have mentioned is. cies between those variations. Software architecture.

(9) is presented to realize the conceptual model of this. [2] D. J. Cook and S. K. Das,“Smart Environ-. hierarchical design, which has three levels of context. ments: Technology, Protocols and Applications," Wiley-Interscience, Oct. 2004.. processing. The three levels of context processing are context acquisition, context aggregation and infer-. [3] D. Garlan, D. Siewiorek, A. Smailagic and P.. figuring corresponding tuning points, which are. Steenkiste, “Project Aura: toward Distraction-free Pervasive Computing,” IEEE Pervasive Computing, vol. 1, no. 2, pp. 22-31, April-June 2002.. Control Parameter, Composite Constrain and. [4] G. P. Eleftheriadis and M. E. Theologou, “User. ence engine, and their behaviors can be tuned by con-. rameter is to deal with the variation of sensors and to. profile identification in future mobile telecommunications systems," IEEE Network, vol. 8, no. 5, pp. 33 -39, Sept.-Oct. 1994.. separate the use of Primitive Context from the detail. [5] T. Gu, H. K. Pung and D. Q. Zhang, “Toward. of Primitive Context acquisition. Composite Con-. binations and to filter out irrelevant context combina-. an OSGi-based Infrastructure for Context-Aware Applications," IEEE Pervasive Computing, vol. 3, no. 4, pp. 66-74, Oct.-Dec. 2004.. tions. Core Ontology is a record about human ex-. [6] S. Helal, W. Mann, H. El-Zabadani, J. King, Y.. Core Ontology. The main purpose of Control Pa-. strains is used to aggregate meaningful context com-. periences of smart home environment, and it can be accumulated to be a knowledge-rich database which. Kaddoura and E. Jansen, “The Gator Tech Smart House: a Programmable Pervasive Space,” IEEE Computer, vol. 38, no. 3, pp. 50-60, March 2005.. can be used across many domains in the future. In. [7] Schilit, Bill N., Norman I. Adams and Roy Want. addition to those tuning points mentioned above, the. count through the use of user profile. By separating. (1994). “Context-Aware Computing Applications,” 1st International Workshop on Mobi-Comp. Systems and Applications, pp. 85-90 Dec. 1994.. variations into configurable tuning points, the ap-. [8] A. Schmidt and K. van Laerhoven, “How to. proach of this paper increases the flexibility. This paper also enhances reusability by introducing hier-. Build Smart Appliances?,” IEEE Personal Communications, vol. 8, no. 4, pp. 66-71, Aug. 2001.. archical modulation of tuning points. Next step will. [9] S. E. Middleton, N. R. Shadbolt, and D. C. De. variations of home members are also taken into ac-. tem in physical houses, and carry out some experi-. Roure, “Ontological User Profiling in Recommender Systems,” ACM Trans. on Information Systems, vol. 22, no. 1, pp. 54-88, Jan. 2004.. ments for evaluating the degree of improvement in. [10] M. Weiser, “The Computer for the 21th Cen-. be deploying such a context-aware smart home sys-. flexibility and reusability.. tury”, Scientific American, vol. 265, no. 3, pp. 94-101, Sept. 1991. [11] U. Hansmann, L. Merk, M. Nicklous, T. Stober,. 7. Acknowledgments. “Pervasive Computing Springer-Verlag, 2001. Handbook,. ”. [12] Y. Zhiwen and Z. Xingshe, “TV3P: An AdapThis paper is a partial result of Project B34BSP1300 conducted by ITRI under sponsorship of the Ministry of Economic Affairs, R.O.C.. tive Assistant for Personalized TV,” IEEE Trans. on Consumer Electronics, vol. 50, no. 1, pp. 393-399, Feb. 2004.. [13] “IEEE Std. 1219-1998: IEEE standard for. 8. Reference [1] A. K. Dey, “Providing Architectural Support for Building Context-Aware Applications,"PhD thesis, College of Computing, Georgia Institute of Technology, Dec. 2000.. software maintenance,” IEEE Std, Oct. 1998..

(10)

數據

Figure 1: Conceptual Model of context-awareness  applications.
Figure 2: System architecture

參考文獻

相關文件

Students will practice reading texts to through choral reading, TPS-think/pair/share, student/teacher cooperative groups, and round-robin reading to explore and

You are given the wavelength and total energy of a light pulse and asked to find the number of photons it

substance) is matter that has distinct properties and a composition that does not vary from sample

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =>

incapable to extract any quantities from QCD, nor to tackle the most interesting physics, namely, the spontaneously chiral symmetry breaking and the color confinement.. 

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

We propose a primal-dual continuation approach for the capacitated multi- facility Weber problem (CMFWP) based on its nonlinear second-order cone program (SOCP) reformulation.. The

Overview of a variety of business software, graphics and multimedia software, and home/personal/educational software Web applications and application software for