“Loosely-coupled ” Consistency between Agent-Oriented Conceptual Models and Z Specificati
- 格式:pdf
- 大小:595.50 KB
- 文档页数:6
2022年职业考证-软考-软件评测师考试全真模拟易错、难点剖析AB卷(带答案)一.综合题(共15题)1.单选题从对信息的破坏性上看,网络攻击可以分为被动攻击和主动攻击。
以下属于被动攻击的是()。
问题1选项A.伪造B.流量分析C.拒绝服务D.中间人攻击【答案】B【解析】网络攻击是指针对计算机系统、基础设施、网络或个人设备的任何类型的进攻。
主要为:破坏、修改、使软件/服务功能丢失、非授权情况下获取/访问数据等主动攻击可分为篡改、DOS等被动攻击一般不对数据进行篡改、只是在非授权情况下,获得相关数据和信息;通常分为:窃听、流量分析、破解加密的数据流等方式结合题干来看,选项B属于被动攻击2.单选题MVC模式(模型-视图-控制器)是软件工程中的一种软件架构模式,把软件系统分为模型、视图和控制器三个部分。
()不属于MVC模式的优点。
问题1选项A.低耦合性B.高重用性C.可维护性D.高运行效率【答案】D【解析】MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑;可以提高可重复性、可维护性、降低耦合等优点。
3.单选题以下关于软件质量特性的叙述中,不正确的是()。
问题1选项A.功能性指软件在指定条件下满足明确和隐含要求的能力B.可靠性指软件在指定条件下维持规定的性能级别的能力C.易用性指软件在指定条件下被理解、学习使用和吸引用户的能力D.可维护性指软件从一种环境迁移到另一种环境的能力【答案】D【解析】(注意:第1版的考题,部分知识内容与第2版有区别,适当理解)功能性:是指当软件在指定条件下使用时,软件产品满足明确和隐含要求功能的能力。
可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。
采用公用构建模块的方法English Answer:Utilizing Shared Building Blocks.The concept of employing shared building blocks in software development involves leveraging reusable components, modules, or libraries that can be incorporated into multiple applications. This approach offers numerous advantages, including:Improved Efficiency: By utilizing prebuilt components, developers can save time and effort that would otherwise be spent on developing the same functionality from scratch.Increased Consistency: Shared building blocks ensure uniformity in design patterns, coding styles, and technical standards, leading to improved software quality and maintainability.Reduced Complexity: Complex systems can be broken down into smaller, manageable chunks, making them easier to develop, test, and debug.Faster Deployment: By leveraging shared components, developers can significantly reduce the time required to deploy new features and updates.Enhanced Collaboration: Shared building blocksfacilitate knowledge sharing and foster collaboration among development teams.Types of Shared Building Blocks.Various types of shared building blocks can be utilized, catering to different software development needs:Libraries: Collections of prebuilt functions and routines that provide specific functionalities.Frameworks: Reusable code structures that define common architectural patterns and provide basic services.Components: Independent software units that can be combined to form larger software applications.Services: Network-accessible software components that offer well-defined interfaces and functionalities.Best Practices.To effectively utilize shared building blocks, consider the following best practices:Identify Reusable Components: Analyze the software system to identify components that can be reused across multiple applications.Encapsulate Functionality: Define clear boundaries for shared building blocks, ensuring they are self-contained and loosely coupled.Maintain Compatibility: Regularly update and maintain shared building blocks to ensure compatibility withevolving software requirements.Establish Standards: Define clear guidelines for creating, documenting, and integrating shared building blocks.Encourage Collaboration: Foster a culture of sharing and collaboration to promote the reuse of existing components.Conclusion.Adopting the approach of utilizing shared building blocks is a cornerstone of modern software development. By leveraging prebuilt components, developers can accelerate development, improve software quality, and foster collaboration. By embracing these best practices, organizations can reap the numerous benefits of shared building blocks and streamline their software development processes.中文回答:采用公用构建模块。
文献信息:文献标题:Conceptual foundations for understanding smart tourism ecosystems(理解智慧旅游生态系统的概念基础)国外作者:Ulrike Gretzel, Hannes Werthner, Chulmo Koo, Carlos Lamsfus 文献出处:《Computers in Human Behavior》,2015,50(C):558-563字数统计:英文2250单词,13270字符;中文4336汉字外文文献:Conceptual foundations for understanding smart tourismecosystemsAbstract Using digital ecosystems and smart business networks as conceptual building blocks, this paper defines, describes and illustrates the idea of a smart tourism ecosystem (STE). It further draws on conceptualizations of smart technologies, smart cities and smart tourism to envision new ways in which value is created, exchanged and consumed in the STE. Technologies essential to the functioning of an STE are described and it is argued that data emerging from these technologies are the driver for new business models, interaction paradigms and even new species. Critical questions regarding the need for regulatory intervention and innovative research are raised.Key words:Smart tourism; Value creation; Smart technologies; Open innovation; Sharing economy; Tourism experienceTouristic EcosystemEcosystems are generally defined as communities of interacting organisms and their environments (TheFreeDictionary, 2015), and are typically described as complex networks formed because of resource interdependencies. McCormack (2011) explains that ecosystems, like other kinds of systems, are comprised of elements,interconnections and a function/purpose, but are special types of systems in that their elements are intelligent, autonomous, adaptive agents that often form communities and also because of the way they adapt to elements being added or removed. Boley and Chang (2007) list four critical elements of ecosystems: (1) interaction/engagement; (2) balance; (3) loosely coupled actors with shared goals; and, (4) self-organization. This means that in ecosystems individual agents or groups of agents proactively form symbiotic relationships to increase individual benefits and to achieve shared goals; that local interactions determine the global behavior or state of the system; and, that balance is needed to prevent system collapse. The relationships and interdependencies ensure that resources are consumed effectively and sustainably. Considering ecosystems in their entirety rather than centering on specific actors/elements allows for more holistic perspectives, recognizes that small changes can have substantial effects, encourages a focus on complex relationships, emphasizes dynamic change, and acknowledges the importance of the physical environment or infrastructure that supports the system.Applied to the business world, the term ‘‘ecosystem’’ is used to describe the relationships among economic entities (producers, distributors, consumers, government agencies, etc.) that, through competition and/or cooperation, facilitate the creation and distribution of a product or service (Investopedia, 2015). There isa general understanding that the environment in which these entities operate, i.e. in and through which they produce, exchange and consume value, is rapidly changing and requires their relationships to co-evolve. Moore (1993) stressed that such an economic community often faces the arrival of new species, which requires realignment and redefinition of the relationshipsthatunderpin the system. While such new species can emerge out of nowhere through genetic mutations, it is more often the environmental changes that cause or at least facilitate dramatic shifts in power over resources.The idea of a touristic ecosystem is nothing new as the production of these touristic experiences has always required extensive coordination and collaboration among different industry players and government agencies (Mill & Morrison, 2002). How loosely coupled these agents typically are can be exemplified by the difficulty indefining what players actually belong to the tourism industry and in measuring the economic value contributed by tourism. The extensive reliance on digital infrastructure of such tourism systems has also been long acknowledged(Sheldon,1997). The both disruptive and creative power of technological innovation within tourism ecosystems has been discussed for both Web 1.0 (Werthner & Klein, 1999) and Web 2.0 (Benckendorff, Sheldon, & Fesenmaier, 2014). Information and communication technologies have been essential in tourism ecosystems for connecting the different players that add value to the experience. Werthner and Klein (1999) illustrated the fundamental technology-supported tourism value chain and its components (Fig. 1), with the Internet making it possible to completely circumvent traditional distribution channels.Fig. 1. The tourism system as a technology-supported value chain (Werthner & Klein, 1999).A special characteristic of a tourism ecosystem is the immense number of microorganisms (small or micro, often family owned and/or owner operated businesses). It is also often geographically defined but usually requires connections and interactions beyond the core area. Indeed,theterm ‘‘destination’’ pract ically refersto a tourism-based ecosystem. Destinations overlap with other ecosystems (e.g.residential) and have connections to their feeder markets. Further, tourism businesses are often embedded incomplex franchise systems or chains and tourism distribution channels involve a multitude of actors residing at the destination, the origin markets or somewhere completely different, which can make it difficult to delineate the system boundaries. Tourism ecosystems are also especially dynamic and on a global scale have witnessed the emergence of several completely new species within just the last ten years, with online travel agencies such as and Expedia, Google Flights, TripAdvisor (Sigala, 2015) and AirBnB being prominent examples. Changes are also occurring on the consumer side as new technologies change consumer behaviors, increase market transparency and facilitate social commerce. Tourism consumers have always been recognized as active contributors to the experience but are now formally conceptualized as value co-creators within tourism ecosystems (Vargo & Lusch, 2008). As such, Fig. 1 clearly shows a past generic tourism ecosystem based on the technology landscape at the turn of the millennium and it becomes very clear that it fails to mirror the complexities, nuances and blurred lines of contemporary tourism systems.Smart City‘‘Smart’’ is often applied as a pre fix to technological terms to indicate special capabilities, intelligence and/or connectivity, as in smart phone or smart card. Derzko (2006) identifies six aspects or levels of smartness for technology: (1) Adapting: modifying behavior to fit the environment; (2) Sensing: bringing awareness to everyday things;(3)Inferring: drawing conclusions from rules and observations;(4)Learning: using experience to improve performance;(5)Anticipating: thinking and reasoning about what to do next;(6)Self-organizing: self-generating and self-sustaining at the cellular or nano-technology level.Smart is increasingly also used to signify resource optimization through the use of advanced technologies (Gretzel, Koo, Sigala & Xiang, 2015b). Höjer and Wangel (2015) argue that it is notso much the individual technological advances but rather the interconnection, synchronization and concerted use of different technologies thatconstitutes smartness. The concept has been prominently applied to urban areas and summarized under the term ‘‘smart cities’’. A smart city then is a city that uses advanced information and communication technology (ICT) to optimize resource production and consumption.Piro et al. (2014:169) defi ne smart city as ‘‘an urban environment which, supported by pervasive ICT systems, is able to offer advanced and innovative services to citizens in order to improve the overall quality of their life’’. According to Harrison et al. (2010), a smart city connects its physical infrastructure with its ICT, social and business infrastructures to leverage the collective intelligence of the city. A healthy digital ecosystem that includes information-centric ICT platforms, sensor networks and wireless communication systems forms the fundamental base for such integration and data exchange (Piro et al., 2014). Properinformation dissemination is the key to smart city success. Smart cities use ICTs to collect, integrate and exploit data to allow for optimal use of physical infrastructure and other resources (Koo, Gretzel, Hunter & Chung, 2015). Sensor technology plays a critical role in delivering the real-time data and big data analytics is essential for processing, modeling and visualizing data so that it can be used to inform operational decisions. A critical component of the smart city is also support of intelligent interactions between the city and its inhabitants (Harrison et al., 2010). In the context of cities, several sub-areas or application domains of smartness have emerged, such as smart living, smart mobility, smart governance and smart economy (Höjer & Wangel, 2015). These concepts canbe directly applied to touristic destinations that often are indeed urban areas. In parts of the smart city literature tourism is actually seen as a service provided by the smart city and smart tourism is thus conceptualized as a goal for the smart city(TuandLiu,2014; Guo, Liu & Chai, 2014).Smart Tourism EcosystemSmart tourism then encompasses touristic activities that are informed and supported by smart technology (Gretzel, Sigala, Xiang & Koo, 2015a). A smart tourism ecosystem (STE) consequently can be defined as a tourism system that takesadvantage of smart technology in creating, managing and delivering intelligent touristic services/experiences and is characterized by intensive information sharing and value co-creation. Collecting, processing and exchanging tourism-relevant data is a core function within the STE (Zhang, 2012). Guo et al. (2014) refer to this phenomenon as informatization of tourism as a result of smart technology integration. Rather than being a tourism business-centric ecosystem, the STE includes a variety of ‘‘species’’ such as touristic and res idential consumers, tourism suppliers, tourism intermediaries (travel operators and travel agents), support services (telecommunications, banking/payment services), platforms and media (Facebook, TripAdvisor, AirBnB, etc.), regulatory bodies and NGOs, transportation carriers, travel technology and data companies (Amadeus, Sabre, etc.), consulting services, touristic and residential infrastructure (pools, parks, museums, etc.) and companies typically assigned to other industries (medical services, retailing, etc.).In the literature, STEs are typically thought about as smart destinations because of the conceptual roots in smart cities. Lopez de Avila (2015) defined the smart destination as ‘‘an innovative tourist destination, built on an infrastructure of state-of-the-art technology guaranteeing the sustainable development of tourist areas, accessible to everyone, which facilitates the visitor’s interaction with and integration into his or her surroundings, increases the quality of the experience at the destination, and improves residents’ quality of life.’’Fig. 2 provides a schematic representation of an STE, although it is difficult to capture its complexity. What becomes very obvious is its stark contrast to Fig. 1 in which consumers, producers and intermediaries can be clearly distinguished and a hierarchical ‘‘food chain’’ is visible. It is also very different from previous conceptualizations of STEs (Zhu et al., 2014) that only identified tourists, attractions, government, businesses and IT infrastructure as clearly distinguishable players tapping in various ways into the information the system produces. In the STE portrayed in Fig. 2, touristic consumers (TC) have resources and because of their ability to tap into the digital ecosystem can organize among themselves or mingle with the closely related residential consumer species (RC) and act like producers (aphenomenon often referred to as the sharing economy). Touristic and residential consumers produce data through social media activities or the use of location-based services and consume data produced by other species or the physical environment, often made palatable through mobile apps.Fig. 2. Smart tourism ecosystem. Note: TC = touristic consumer; RC = resident consumer; TS = tourism supplier; OS = other industry supplier; DMO = Destination Marketing Organization.Tourism suppliers (TS) or other business-focused species can connect through smart technology and create new service offerings. Data/information is the main food source for STE speciesand effectively and efficiently turning it into enriched tourismexperiences ensures longevity. Data aggregators are particularly supported by the digital ecosystem and process data to create resources of value to other species. New players such as Couchsurfing emerge, which represents a new species of a platform that supports interactions among touristic and residential consumers through reputation mechanisms and communication tools. It is also clear that the system is open, with players from other industries/ecosystems being able to tap into resources or form beneficial relationships (for instance in the case of medical tourism). Also, the roles different actors take on are fluid and might change depending on the experience or situation, with lines becoming increasingly blurred (e.g. touristic and residentconsumers marketing destinations through their social media entries, resident consumers acting as producers by renting out resources to tourists, or companies from other industries suddenly taking on core tourism services). Indeed, telecommunicationscompaniesand banking/payment support services represent suppliers from other industries (OS) and are important predators in the STE but also feed the system with critical information and offer opportunities for enhanced value creation. Government agencies play a role in the STE not only with respect to their typical tourism-related agendas but also in regards to ensuring data openness while atthe same time regulating data privacy (Buhalis & Amaranggana, 2014), although the shared-value economy proposed byPorterand Kramer (2011) hints at opportunities for STEs to be self-regulating in this respect. Traditional and non-traditionalmedia sources (e.g. bloggers) also serve as regulating agents and contribute valuable information to the STE. Destination Marketing Organizations (DMOs) fulfil traditional information brokerage, marketing and quality control functionswhileintermediaries of all kinds facilitate transactions through innovative usesofdata and devices.It is important to recognize that an STE cannot be created but the necessary technological and regulatory foundations canbeand have to be available for the tourism ecosystem to become smart. The review of the literature has indicated that some technologies seem to be instrumental to STE success. Mobile and wireless technologies play an important role in an STE due to thehigh mobility of its consumer species (Lamsfus et al., 2015). Social media are also prominent (Xiang and Gretzel, 2010) in that consumer species are highly motivated to produce, share and consume social contents (Hunter, Chung, Gretzel & Koo, 2015). Intelligent systems are also needed to support the complex interactions in an STE which surpass human processing capacities (Gretzel, 2011) and location-based and sensor technology provide important data to make these systems context-aware (Lamsfus et al., 2013).中文译文:理解智慧旅游生态系统的概念基础摘要本文以数字生态系统和智能商务网络为概念构建模块,定义、描述和阐述了智慧旅游生态系统(智慧旅游生态系统)的概念。
“Loosely-coupled”Consistency between Agent-Oriented Conceptual Models andZ SpecificationsAneesh Krishna,Aditya K.GhoseDecision Systems Laboratory School of IT and Computer Science University of Wollongong,Australia ak86,aditya@.auSergiy A.Vilkomir Software Quality Research Laboratory Dept of Computer Sc.&Info.Systems University of Limerick,Irelandsergiy.vilkomir@ul.ieAbstractAgent-oriented conceptual modelling(AOCM)is a rel-atively new technique that offers significant benefits in the modelling and development of complex computer systems. It is highly effective in answering questions such that what are the main goals of the system,how key actors depend on each other,and what alternatives exist.A formal method can benefit any stage of the software development lifecycle and improves the quality of the computer systems.The pa-per defines an approach that allows to complement require-ments modelling notations with formal specifications,while preserving the consistency between them.1.IntroductionMany existing modelling techniques and frameworks tend to address the“late-phase”of requirements engineer-ing,which focuses on completeness,consistency and auto-mated verification of the requirements[12],while the vast majority of critical modelling decisions(such as determin-ing the main goals of the system,how the stakeholders de-pend on each other,and what alternatives exist[12])are taken in the early-phase requirements engineering.Hence,it would be appropriate to present different modelling and rea-soning support for the two phases.The i*modelling frame-work[12]is a semi-formal notation built on agent-oriented conceptual modeling that is well-suited for answering these questions.The central concept in i*is that of the intentional actor or agent.The actor or agent construct is used to iden-tify intentional characteristics represented as dependencies involving goals to be achieved,tasks to be performed,re-sources to be furnished or softgoals(optimisation objectives or preferences)[12]to be satisfied.The i*framework con-sists of two graphical modelling components:Strategic De-pendency(SD)Models and Strategic Rationale(SR)Mod-els.The SD model captures the social context of the system.It consists of a set of nodes and links where each node rep-resents an actor,and each link between the two actors indi-cates that one actor depends on the other for something in order that the former may attain some goal.An SR model (see Figure1)provides a more detailed level of modelling by looking“inside”actors to model internal intentional rela-tionships.Intentional elements(goals,tasks,resources,and softgoals)appear in the SR model not only as external de-pendencies,but also as internal elements linked by task-decomposition and means-ends relationships.Readers are encouraged to refer to[12]for a comprehensive explana-tion of the i*framework.Consider the following modified example(see Figure1)(to be used throughout the rest of the paper)from our earlier case study[9]which concen-trates on a key function of the emergency services agency (ESA):computer based training system(CBT)for volun-teers.This research has been conducted in the context of a larger project to deploy i*for enterprise modelling in a large ESA.There have been a number of proposals reported in the literature for combining i*modelling with late-phase re-quirements analysis and the downstream stages of the soft-ware life-cycle.One of them combines the i*framework with the formal agent programming language[11].We have similar objectives with a slightly different approach.We be-lieve that the value of conceptual modeling in the i*frame-work lies in its use as a notation complementary to existing specification languages.We believe that,the i*framework when used in conjunction with other modeling/specification in notation X(X could be UML/Z/English)improves the quality of those models/specifications.Our work focuses on the combined use of agent-oriented conceptual modeling and Z notation.The notion of co-evolution is used in a very specific sense to describe a class of methodologies that per-mits the i*modeling to proceed independently of specifica-tion in a distinct notation,while maintaining some modicum of loose coupling via consistency constraints.Our research suggests how diagrammatic notations suitable for model-ing the requirements;organisational contexts and rationale can be used in a complementary manner with more tradi-tional specification notations(in our case Z,may be UML).When proposing the co-evolution of two otherwise dis-parate approaches for requirements engineering,we need to take care the issue of maintaining consistency between the two approaches.The mapping rules can be viewed as pro-viding formal semantics to i*diagrams by mapping this no-tation into Z specifications,a language which already has richer semantics.A set of mapping rules is defined to help ensure consistency between the two models.In Section2,below,we present the mapping methodol-ogy between i*models and Z schemas.Section3introduces a methodology for supporting the co-evolution of i*mod-els and Z specifications.Section4discusses how consis-tency is preserved during the co-evolution of i*models and Z specifications.Finally,Section5presents concluding re-marks.2.i*to Z TransformationThefirst step in defining a co-evolution methodology for i* and Z is to define a mapping from i*to Z.We shall be pre-senting results from our earlier work[10,7,6]which has been modified and extended.The sets of all actor names,all actors,and dependency names,all depend,are defined as power sets of the set NAME.Free types STATE(which can be any one of inap-plicable,unresolved,fulfilled,violated,satisficed,denied or undetermined),TYPE(either goal,softgoal,task,resource or ISA),DEGREE(either open,committed or critical)and LINK TYPE(any one of task-decomp,means-ends,con-trib or not applicable)describe the possible states,types and degrees of dependencies and the types of links between the internal intentional elements respectively.The notion of STATE is implicit in i*,but requires explication in Z spec-ifications.The state of an SD model is the set of states of all its de-pendencies.The state of an actor is given by the set of states of all its internal(SR)elements(i.e.,goals,tasks etc.).SDSD state:NAME→STATEdom SD state=all dependActoractor name:NAMEactor element:P1NAMEactor state:NAME→STATEactor name∈all actorsdom actor state=actor elementAs a common pattern for SD dependencies and SR ele-ments,the schemaΦDepend[10,7]is used(theΦin the schema name is used toflag a partial specification[8]). This schema is an operation schema and changes the state of the SD model(∆SD).SDependency schema in-cludes the componentsΦDepend schema as well as names of actors(depender and dependee)which are linked by the dependency.This schema also includes the names of the internal elements(depender internal element and dependee internal element)linked to the de-pendency.The sets actor element depender and actor element dependee are the names of all the in-ternal elements present in the depender and dependee respectively.While this schema represents a general struc-ture,its name,type,degree and names of actors are not specified.It could be done later on during the considera-tion of an i∗model for a specific example.SDependency∆SDΦDependdepender,dependee:NAMEdepender internal element,dependee internal element:NAMEactor element depender:P1NAMEactor element dependee:P1NAMEdependum∈all dependdepender∈all actorsdependee∈all actorsdepender internal element∈actor element dependerdependee internal element∈actor element dependeeSD state =SD state⊕{dependum→result!} Links between internal actor elements as described in an SR model(task decomposition,means-ends,softgoal con-tribution)are represented using thefirst of the following two schemas.The second schema describes the structure of ac-tor internal elements such as tasks,goals,softgoals etc.LinkΦDependint components,ext components:P NAMEcontrib p,contrib n:P NAMElink:LINK TYPElink=task decomp⇒type=tasklink=contrib⇒type=softgoalcontrib p∪contrib n=∅⇒link=contrib∧contrib p,contrib n partitions int componentsext components=∅⇒type=tasklink=NA⇔int components=∅AElement∆ActorLinkdependum∈actor elementint components⊂actor elementext components⊆all dependactor name =actor nameactor element =actor elementactor state =actor state⊕{dependum→result!}Figure1.The Strategic Rationale model for a computer based training systemWe have considered Z schemas represented above as part of one to one mapping of i*models into the Z -ing this approach,all the information from the i*models is reflected in the Z specification.We shall refer to these ba-sic schemas as model schemas.The next step in our methodology is the mapping of spe-cific i*model into Z schemas.Following steps are carried out to realise this goal:i)Names of all the actors and exter-nal dependencies are specified.This is thefirst step in map-ping the SD model of the CBT system.ii)The second step in the mapping is based on the creation of Z schema for every dependency using SDependency schema as a basis.iii)The first step in mapping the SR model is to specify the names of all the internal intentional elements of the selected ac-tor.iv)The second step is the creation of a Z schema for ev-ery internal intentional element using AElement schema as a basis.Schemas for actors,dependencies,actor internal in-tentional elements and the links between them in a specific i*model are defined using these model schemas-we shall call these as element schemas.Considerable detail has been omitted in this section due to space limitations,but exam-ples and full versions of the schemas described can be found in[10,7].The mapping process that we have described so far leads to a Z specification that captures the structure represented in an i*model(and in the instance of states,obliges the an-alyst to represent some additional information as well).A key subsequent step is the refinement of these essentially structural schemas with additional information(r-mation not included in an i*model,but obtained via further analysis-e.g.,temporal sequencing of dependencies,fulfill-ment conditions for dependencies etc).We shall refer to the Z specification obtained after these refinements as the Ex-tended Z Specification.3.Methodology supporting the co-evolutionof i*and ZThe proposed methodology permits the maintenance of loose coupling between an i*model and Z specification(re-fer to Figure2).The strategy we have adopted is to local-ize the impact of changes.The idea is to look at two specific points:-explain techniques for reflecting changes in an i*model in the corresponding(unrefined)Z specification(i.e.,the Z model obtained by directly applying the mapping tech-niques discussed in the previous section to the prior i* model).-explain techniques for reflecting the refinements con-tained in the prior extended Z specification to obtain a new extended Z specification(i.e.,one which contains all of the prior refinements,while reflecting the changes in the corre-sponding i*model).It is worth mentioning here that changes in the i*model only affect the element schemas,but not the model schemas. The solution to thefirst of the identified question(i.e.ob-taining an unrefined Z specification from the modified i* model)is obtained by defining techniques that require ref-erence to the prior i*model and the corresponding prior un-refined Z specification.These are the addition and deletion, respectively,of the following eight elements:Dependen-cies,Tasks,Goals,Resources,Softgoals,Means-end links,Task-decomposition links and Actors.We shall discuss each of these cases in turn.Addition/deletion of a dependency to an existing SD model:i)Addition leads to the creation of an additional element schema for the new dependency(deletion leads to the re-moval of this schema).ii)The internal intentional elements as represented in the SR models for the pair of actors in-volved in the dependency may need to be modified,since all the external dependencies are connected to some inter-nal element of an actor.This change is localized to the fol-lowing simple step:we add(or delete)the dependency name from the ext components set in the corresponding element schema for the relevant internal element.Addition/deletion of a task to an existing SR model:i)Addition will result in the creation of a new ele-ment schema for the task(deletion leads to its removal).A newly added task is typically related via a means-ends link to a goal,or via a task decomposition link to an-other task.Potentially,it may also be related via a soft-goal contribution link to an existing softgoal.Schemas for these links must then also be added along the lines de-scribed below.ii)The element schemas for the goals,tasks and softgoals that this new task might be linked to(as dis-cussed above)need to be modified by adding(resp.delet-ing)the name of the task to the int components set of the corresponding schema(s).iii)The name of the task must be added(resp.deleted)to the actor element set in the element schema for the corresponding actor.iv)The name of the task must be added(resp.deleted)as the value of the depender internal element variable in the schema for any dependency related to the task(should such a relationship be established after the task is added)in which the corresponding actor(into whose SR model the task has been added)is the depender.In a similar fash-ion,the name of the task is added as the value of the dependee internal element variable in the schema of any dependency related to the task in which the corresponding actor is the dependee.v)A downstream effect of the addi-tion of a task in an SR model followed by the creation of a new dependency connecting this task to an internal ele-ment in another actor is that the steps outlined for the addi-tion(resp.deletion)of a dependency(outlined above)have to be followed.Addition/deletion of a goal/resource/softgoal to an exist-ing SR model:We follow steps similar to those described above for the addition/deletion of tasks.Addition/deletion of a means-ends link to an existing SR model:Means-ends links(as with task decomposition links)are not represented via separate schemas,but via the schemas of the internal(SR)elements that they relate.A means-ends link offers alternative means for achieving a given goal(we shall refer to this as the end).In other words,it is effectively the analogue of an OR node in an AND-OR goal graph.The addition of a means-ends link results in the value of the link variable in the element schema for the end being assigned the value means-ends and the int components set in the same schema being defined as the collection of the internal SR elements(which could be tasks,goals or resources)re-lated to the end via the means-ends link.Deletion results in these values being removed.Addition/deletion of a task decomposition link to an ex-isting SR model:A task decomposition link functions as the analogue of an AND node in an AND-OR goal graph and provides a singly,unique means of decomposing a task(we shall re-fer to this as the parent task)into a collection of subtasks, subgoals,resources etc.The addition of a task decompo-sition link results in the following changes to the element schema for the parent task:the link variable is assigned the value task-decomposition while the int components set is defined as the collection of subtasks,subgoals etc.related to the parent task by this link.Deletion results in these val-ues being removed.Addition of an actor to an existing i*diagram will lead to the following four steps:A new element schema for the actor is created.In the in-stance of each internal(SR)element for the actor,the steps outlined above are followed.The same applies for any de-pendencies that this actor might participate in.The solution to the second of the identified question(i.e. the generation of a new extended Z specification given the new set of Z schemas(corresponding to the modified i* model)and the prior extended(refined)Z specification)is obtained by identifying the set of Z schemas in the prior col-lection of(unrefined)Z schemas(obtained from the prior i*model)that were refined in some fashion.We identify schemas with the same names(if they exist,since some might have been deleted)in the current collection of(unre-fined)Z schemas(obtained from the revised i*model),and apply the same refinements to these.This gives us the new extended Z specification.Our aim is to reflect the refine-ments in the prior set of Z schemas(that led to the prior ex-tended Z specification)in the new collection of Z schemas, without having to re-do the refinements.We shall now present an illustration to explain the methodology supporting the co-evolution of i*and Z.This example is based on the CBT system case study.The fol-lowing modifications/additions were performed on the initial i*diagram:Introducing a task Let Training Co-ordinator Schedule Training into the SR model of the actor Training Co-ordinator will lead to the modifica-tion of the original i*diagram(consider that initially this task does not exist in the model)and creation of an ad-Figure 2.Co-evolution of i*models and Zspecificationsditional internal element Z schema(step(i)under task addition of our co-evolution methodology).Based on this action the name of the task must be added to the actor element set in the element schema for the cor-responding actor(Training Coordinator)-(step(iii)). This newly added task is related via a means-ends link to a goal Schedule Training.It is also related via a soft-goal contribution link to existing softgoals Low effort and Quick.Based on the step ii under task addition,the ele-ment schemas for the goal Schedule Training and softgoals Low effort and Quick that this new task is linked to(as dis-cussed above)need to be modified by adding the name of the task to the int components set of the correspond-ing schema(s).The rest of the mapped Z schemas remain unchanged for the modified i*model.We note that a reverse mapping from a collection of Z schemas to an i*model is possible provided the following assumptions hold:i)The Z schemas were obtained from an initial i* model via mapping and refinement along the lines de-scribed above.ii)The prior i*model is available for ref-erence.iii)The integrity of the element schemas are maintained throughout the refinement process,i.e.,refine-ment steps may add to but not modify existing element schemas.Given these assumptions it is relatively sim-ple to identify the named element schemas in a Z specifica-tion and thus reconstruct the corresponding i*model with-out loss of information(any refinements made will,of course,not be reflected in the i*model).4.Preserving consistency in the co-evolutionof formal and informal modelsWhen proposing the co-evolution of two otherwise dis-parate approaches for requirements engineering,we need to maintain consistency between the two approaches.The mapping rules can be viewed as providing formal seman-tics to the i*diagrams by mapping this notation into Z spec-ifications,a language which already has one.We believe that these semantics are largely consistent with the some-what implicit semantics for i*developed in[12].A set of mapping rules is defined to help ensure consistency between the two models.We have proposed a set of mapping rules that constrains the modeler to map the elements of the i* model to appropriate Z schemas and ensures that the two models are consistent.This allows us to trace correspond-ing elements in the two models when changes are made. We are interested in providing a taxonomy of inconsisten-cies that may occur from translating i*models into Z speci-fications(and their co-evolution).The main types of incon-sistencies that may occur when performing the co-evolution of formal and informal models are listed below.The discus-sion on how our methodology provides support to overcome these issues is presented.Structural inconsistency:According to our methodology, it is necessary to introduce Z schemas corresponding to the elements in the i*model.If the Z specification lacks a schema for a certain i*element,the combined model is inconsistent with respect to this regime.In our co-evolution methodology we are keeping the structural inconsistency is-sue under control by strictly adhering to the mapping rules to accommodate any changes.This allows us to keep track of corresponding elements in the two models when changes are made.The mapping process that we have described so far leads to a Z specification that captures the structure represented in an i*model(and in the instance of states, obliges the analyst to represent some additional informa-tion as well).Hence,parsing of Z specifications will lead to one i*model.Likewise,from the given i*model we are in a position to arrive at Z specifications which capture and rep-resent all the structural information contained in the given i*model.Hence,with the help of clear mapping rules and a supporting methodology we are in a position to avoid struc-tural inconsistencies.Semantic inconsistency:As we have explained earlier, the mapping rules can be viewed as giving a formal seman-tics to i*diagrams by mapping this notation into Z spec-ifications,a language which already has richer semantics. We believe that these semantics are largely consistent with the somewhat implicit semantics for i*developed in[12]. Semantic inconsistencies may arise if the creation condi-tions are contradictory;invariants are not maintained.In-consistencies may arise if the default creation condition ofa subgoal of a task decomposition link or a means-ends link is that the parent goal exists,but has not been fulfilled. The fulfillment condition of the parent goal depends on the fulfillment of the subgoals.If the subgoals are connected to the parent goal with means-ends links,then fulfillment of at least one of the subgoals is necessary for the fulfill-ment of the parent goal.If they are connected with task-decomposition links then the fulfillment of all the subgoals is necessary.We have proposed a set of translation rules and guidelines that permit us to systematically derive these constraints.These rules capture the intuitive semantics that we use when designing an i*model.For instance,a tempo-ral ordering or sequencing refinement technique is applied in the Z schema of the parent task in the task decomposi-tion links to include the pre-condition that all of the sub-goals or subtasks are fulfilled prior to the fulfillment of the parent task.This helps us in taking care of semantic incon-sistencies which may arise in the mapping of i*diagrams into Z specifications.Existing tool support for Z,on the other hand,allows analysis of specifications without any additional effort.By making use of formal notation like Z to formalize the i*di-agrams,we are using the customary facilities available for Z like:i)type checking the components ii)proving proper-ties in relation to the components and iii)providing precise rules for manipulating the componentsFor realising above-mentioned objectives,various tools for formatting,type-checking and aiding proofs in Z are available.We are listing some of them that might be used.First of them is CADiZ[5],which is a UNIX based tool for checking and typesetting Z spec-ifications.Zola the WYSIWYG editor is another inter-esting tool,which supports the production and type-setting of Z specifications.Also included are a type-checker and a Tactical Proof System(available from /PRODUCTS/zola.html).The integra-tion of i*diagrams and Z allows one to use Z type checkers like ZTC[3]and Z animation tools like ZANS[4]to anal-yse the models.It is projected to be compliant with the second edition of Spivey’s Z reference manual.For-maliser[1]is a syntax-directed Z editor as well as an interactive type-checker,running under Microsoft Win-dows obtainable from Logica.5.ConclusionWe presented a methodology to support the complementary use of an early-phase requirements modeling notation such as i*with formal specifications,in this instance Z.The issue of preserving consistency in the co-evolution of formal and informal models was discussed in this work.We have not investigated the possibility of articulating semantic consis-tency constraints between i*models(possibly augmented with FormalTropos annotations)[2]and formal specifica-tions.This is the focus of our future work. References[1]Flynn,M.,Hoverd,T.,Brazier,D.Formaliser an interactivesupport tool for Z.Z User Workshop,Oxford,1989,Nicholls, J.,Ed.New York:Springer-Verlag,1989,pp.128-141[2]Fuxman,A.,Pistore,M.,Mylopoulos,J.,Traverso,P.Modelchecking early requirements specifications in Tropos.Pro-ceedings of Fifth IEEE International Symposium on Require-ments Engineering,Toronto,Canada,August27-31,2001, pp.174-181.[3]Jia,X.ZTC:A Type Checker for Z er’s Guide.Version2.03,August1998.Division of Software Engineering, Telecommunication and Information Systems,DePaul Uni-versity,USA,1998.[4]Jia,X.An approach to animating Z specifier’sGuide.Division of Software Engineering,School of Com-puter Science,Telecommunication and Information Systems, DePaul University,USA,1995.[5]Jordan,D.,McDermid,J.A.,Toyn,I.CADiZ ComputerAided Design in Z.5th Oxford Z User Meeting,Springer-Verlag Workshops in Computing,December,1990,pp.93-104.[6]Krishna,A.,Ghose,A.K.,Vilkomir,S.Co-evolution of com-plementary formal and informal requirements.Proceedings of IWPSE2004(held in conjunction with RE04-12th IEEE International Requirements Engineering Conference),Kyoto, Japan,September,2004,pp.159-164.[7]Krishna, A.,Vilkomir,S.,Ghose, A.K.A case study ofcombining i*framework and the Z notation.Proceedings of ICEIS-2004:The6th International Conference on Enterprise Information Systems,Porto-Portugal,April,2004,pp.192-200.[8]Spivey,J.M.The Z Notation:A Reference Manual.PrenticeHall International Series in Computer Science,2nd edition, 1992.[9]Unni,A.,Krishna,A.,Ghose,A.K.,Hyland,P.Practical earlyphase requirements engineering via agent-oriented conceptual modelling.Proceedings of ACIS-2003:The2003Australasian Conference on Information Systems,Perth,Australia,Novem-ber26-28,2003.[10]Vilkomir,S.,Ghose,A.K.,Krishna,bining agent-oriented conceptual modeling with formal methods.Proceed-ings of ASWEC-2004:The2004Australian Software Engi-neering Conference,Melbourne,Australia,April,2004,pp.147-155.[11]Wang,X.,Lesprance,Y.Agent-Oriented Requirements En-gineering Using ConGolog and i*.Proceedings of3rd Inter-national Bi-Conference Workshop Agent-Oriented Informa-tion Systems(AOIS-2001),Berlin,Germany,2001,pp.59-78.[12]Yu,E.Modelling Strategic Relationships for Process Reengi-neering.PhD Thesis,Graduate Department of Computer Sci-ence,University of Toronto,Toronto,Canada,1995.。