An Automatable Framework for Formal Specification & Verification of Aspect Oriented Program
- 格式:pdf
- 大小:90.38 KB
- 文档页数:14
《软件工程》习题汇锦一、单项选择题提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。
错选、多选或未选均无分.1. ( )If a system is being developed where the customers are not sure of what theywant, the requirements are often poorly defined。
Which of the following would be an appropriate process model for this type of development?(A)prototyping(B)waterfall(C)V-model(D)spiral2. ()The project team developing a new system is experienced in the domain.Although the new project is fairly large, it is not expected to vary much from applications that have been developed by this team in the past. Which process model would be appropriate for this type of development?(A)prototyping(B)waterfall(C)V-model(D)spiral3. ()Which of the items listed below is not one of the software engineering layers?(A)Process(B)Manufacturing(C)Methods(D)T ools4. ()Which of these are the 5 generic software engineering framework activities?(A)communication,planning,modeling,construction,deployment(B) communication, risk management, measurement,production, reviewing(C)analysis,designing,programming, debugging, maintenance(D)analysis, planning,designing,programming,testing5. ()The incremental model of software development is(A)A reasonable approach when requirements are well defined.(B)A good approach when a working core product is required quickly。
2022年职业考证-软考-软件评测师考试全真模拟易错、难点剖析AB卷(带答案)一.综合题(共15题)1.单选题You are developing a server-side enterprise application. It must support a variety of different clients including desktop browsers, mobile browsers and native mobile applications. The application might also expose an API for 3rd parties to consume. It might also()with other applications via either web services or a message broker. The application handles requests (HTTP requests and messages) by executing business logic; accessing a database; exchanging messages with other systems; and returning a HTML/JSON/XML (). There are logical components corresponding to different functional areas of the application.What's the application's deployment architecture?Define an architecture that structures the application as a set of (), collaborating services. This approach corresponds to the Y-axis of the Scale Cube. Each service is:● Highly maintainable and testable - enables rapid and frequent development and deployment ● Loosely coupled with other services - enables a team to work independently the majority of time on their service(s) without being impacted by changes to other services and without affecting other services()deployable - enables a team to deploy their service without having to coordinate with other teams● Capable of being developed by a small team - essential for high productivity by avoiding the high communication head of large teamsServices()using either synchronous protocols such as HTTP/REST or asynchronous protocols such as AMQP. Services can be developed and deployed independently of one another. Each service has its own database in order to be decoupled from other services. Data consistency between services is maintained using some particular pattern.问题1选项A.integrateB.coordinateC.cooperatemunicate 问题2选项A.requestB.responseC.textD.file问题3选项A.loosely coupledB.loosely cohesionC.highly coupledD.highly cohesion问题4选项A.DependentlyB.IndependentlyC.CoordinatelyD.Integratedly问题5选项A.interoperateB.coordinatemunicateD.depend【答案】第1题:A第2题:B第3题:A第4题:B第5题:C【解析】假设你在开发一个服务端应用。
IRDRMFAO I NSTALL G UIDEIBM Rational DOORS Requirements Management Framework Add-onIRDRMFAO Install GuideRelease 6.1.0.6Before using this information, be sure to read the general information under the “Notices” chapter on page 35.This edition applies to VERSION 6.1.0.6, IBM Rational DOORS Requirements Management Framework Add-on and to all subsequent releases and modifications until otherwise indicated in new editions.© Copyright IBM Corporation 2009,2014US Government Users Restricted Rights—Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.2Before installing IRDRMFAO, it is required to uninstall any previous version of IRDRMFAO or DOORS T-REK.•To install IRDRMFAO, you must have Administrator rights.•Your computer must have at least 43 MB of free disk space for a full installation, or only 1 MB for an installation in workstation mode.•IRDRMFAO 6.1.0.6 is restricted to Windows platforms and compatible with DOORS versions: DOORS 9.2DOORS 9.3DOORS 9.4DOORS 9.5DOORS 9.6 (either the 32bit or 64bit client)•MS Office is required for some features:import from MS Word,export to MS Word (WEXP),export to MS Excel (dashboard, …)IRDRMFAO 6.1.0.6 supports the following versions of MS Office :200020022003200720102013It is recommended that MS Office be already installed before installing IRDRMFAO. Otherwise the installer cannot copy the irdrmfao.dot file in the home directory of MS Office, and as aconsequence the macros toolbar will not be available in MS Word.Nevertheless, you can manually copy the irdrmfao.dot file after installing MS Office, from thedirectory %RMFHOME%\irdrmfao\word to the directory %OFFICEHOME%\Startup. (Thename of the directory “Startup” can be different if MS Office is not installed in English).•Check that you have rights to create files into the DOORS Home directory (directory where DOORS has been installed) and to modify the Windows Registry.•The installer does not support installing several versions of IRDRMFAO, except if it is for different versions of DOORS. If there is already another version of IRDRMFAO (or DOORS-TREK) installed, you need to uninstall that version first.3Installing IRDRMFAO with its Installation Wizard is an easy action. Just follow the screenshots, don’t forget the prerequisite and everything will be fine.3.1Select the language to be used by the installerThis choice only define the language used by the installer. IRDRMFAO is only provided in English. 3.2WarningThe installation wizard can succesfully install IRDRMFAO 6.1.0.6 only if no previous version ofIRDRMFAO (whatever the version) was installed for the same version of DOORS.Whenever another version of IRDRMFAO has been installed for another version of DOORS, theinstallation will be successfully performed.Click “Yes” after checking that IRDRMFAO is not already installed for the version of DOORS that you plan to install IRDRMFAO 6.1.0.6 against. Otherwise, click « No » and then unistall IRDRMFAObefore running the installed again.The installer automatically detects which version of DOORS is installed so that the choice of a version that is not installed, is disabled (greyed out).Select the relevant version of DOORS and then click “Next >”.If you have selected “DOORS 9.6” and both the 32-bit 64-bit clients are installed, then you will be prompted to chose to install IRDRMFAO for one of those clients:In this page, you are asked to choose either to fully install IRDRMFAO on your computer, or rely on a remote installation of IRDRMFAO.This second possibility called “workstation installation” consists in configuring the selected version of DOORS to use a remote installation. The advantage of this workstation installation is the simplicity to upgrade to a newer version of IRDRMFAO later on. There is no need to upgrade IRDRMFAO on each DOORS client computer: only the shared installation of IRDRMFAO shall be changed.BEWARE !Depending on the installation mode that has been chosen, you are asked to enter in this page : -in the “full installation” mode : the directory where IRDRMFAO should be installed-in the“workstation installation”mode:the path to a remoteIRDRMFAO.This path to be entered is the directory where IRDRMFAO has been installed (in the “full installation” mode), i.e the following sub-directories should exist in that directory: “lib” and “IRDRMFAO ”. Important: To make it easier to install IRDRMFAO in workstation mode, the right path can beEnd of installationDuring installation phase, the GraphvizContainer executable is registered as an OLE server:Click the “Show details” button to see all the actions performed.You can copy the text displayed by right-clicking on the list and then running the “Copy Details To Clipboard” command.After the installation of IRDRMFAO, you may check the correct execution of the setup program:1. A new menu will appear in the Windows start menu and you will have some shortcuts to theIRDRMFAO documentation and the shortcut to uninstall IRDRMFAO.2.Execute the DOORS client to access to the DOORS data base.You should have a RMF menu in the DOORS explorer tool, and also in the module windows.Run the About operation in the RMF menu (for project and for module), a dialog box should be displayed as :3.Open a Word document.. You should be able to see the IRDRMFAO menu bar, as in:If the menu bar is not visible, the irdrmfao.dot file has not been copied into the Office startup directory and is not visible as a Word complement.Current version is 1.15. The macros are digitally signed and therefore no longer require your MSWord security options to be lowered to the level “Medium”.Before beginning the uninstallation, the Wizard will ask you if you want to remove IRDRMFAO.Do uninstallClick the button “Show details” to see the details of the uninstallation process.6When installing IRDRMFAO, some modifications of your standard DOORS environment occur.Several files are added into the IRDRMFAO standard directories.Example for DOORS 9.4:irdrmfao.dxl added to define global IRDRMFAO definitions and functions.DXLcolumnsGraphVizContainertoolDXL filesWord To DOORSimport macromod_irdrmfao.inc:menu creation formodulespopup_irdrmfao.inc:menu creation forobjectsprj_irdrmfao.inc:check, callbacksand menucreation for projects irdrmfao.dxl:include the file for check and callbacks of module and object level menusExample: RMF menu for projects8If DOORS reports some errors after the installation of IRDRMFAO, check:o That the file named irdrmfao.dxl exists in the config and startupfiles directories of DOORS.o Checks the content of the other files in the same directories, to detect any conflict between the IRDRMFAO files and the other files.o Checks the content of the file “…Migration.dxl”, in the startupfiles directory. Suppress any IRDRMFAO file inclusion found in this file.o Check the content of the predefined startup.dxl file.Always remove the previous version of IRDRMFAO (or any installed T-REK version) before reinstalling IRDRMFAO.9IRDRMFAO 6.1.0.6 commands are available only for project updated or created for IRDRMFAO 6.1.0.6.If your project is not updated, then you will be able to run the command “Upgrade Project Profile for IRDRMFAO 6.1”. This upgrade makes the project configuration compatible with IRDRMFAO 6.1.0.6, no matter the version of IRDRMFAO or DOORS T-REK that you were using before.The project data are not modified by the upgrade, nor the existing module types in project configuration, except in case of migration of a previous DOORS T-REK version, with the RCM component deployed on the project. In this last case, because of the modification of the RCM trigger management, the old RCM triggers at project level are deleted and created again, but at module level.Example:The “Upgrade Project Profile for IRDRMFAO 6.1” command is visible only for the RMF projects not yet compatible with IRDRMFAO 6.1.The execution of this operation will extend the “Project Profile” of your project, and with add some new module types in the “Module Types” folder.•Execute the “Upgrade” operation•Accept the modifications•If RCM has been previously deployed on the project, the CR project database structure is checked to be modified if required (for old T-REK versions) and the CR modules are upgraded according to the current CR template• If you want to use RCM , DOC or EXCHANGE functionalities, you may execute the default project configuration (if these functionalities have not been configured yet)•If you have answered ‘Confirm’, then the project configuration utility is automatically executed:The modifications done inside the Project Profile depend on the previous version of IRDRMFAO (or TREK) used on the project.The upgrade adds all the required definitions required by the nw version of IRDRMFAO.12This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send written license inquiries to:IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785U.S.A.For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual Property Department in your country or send written inquiries to:Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan, Ltd.19-21, Nihonbashi-Hakozakicho, Chuo-kuTokyo 103-8510, JapanThe following paragraph does not apply to the United Kingdom or any other countrywhere such provisions are inconsistent with local law:INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.Some states do not allow disclaimer of express or implied warranties in certain transactions. Therefore, this statement may not apply to you.This information could include technical inaccuracies or typographical errors.Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.IBM may use or distribute any of the information you supply in any way itbelieves appropriate without incurring any obligation to you. Licensees of this program who wish tohave information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:Intellectual Property Dept. for Rational SoftwareIBM Corporation5 Technology Park DriveWestford, MA 01886U.S.A.Such information may be available, subject to appropriate terms and conditions,including in some cases, payment of a fee.The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.If you are viewing this information softcopy, the photographs and color illustrations may not appear.TrademarksIBM, the IBM logo, and are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at /legal/copytrade.html.Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other coun-tries, or both.Other company, product, or service names may be trademarks or service marks of others.。
高二英语软件开发单选题50题1.The main language used in software development is _____.A.PythonB.JavaC.C++D.All of the above答案:D。
在软件开发中,Python、Java 和C++都是常用的编程语言,所以答案是以上皆是。
2.Which one is not a software development tool?A.Visual StudioB.IntelliJ IDEAC.PhotoshopD.Eclipse答案:C。
Photoshop 是图像编辑软件,不是软件开发工具。
Visual Studio、IntelliJ IDEA 和Eclipse 都是常用的软件开发集成环境。
3.The process of finding and fixing bugs in software is called _____.A.debuggingB.codingC.testingD.designing答案:A。
debugging 是调试的意思,即查找和修复软件中的错误。
coding 是编码,testing 是测试,designing 是设计。
4.A set of instructions that a computer follows is called a _____.A.programB.algorithmC.data structureD.variable答案:A。
program 是程序,即一组计算机遵循的指令。
algorithm 是算法,data structure 是数据结构,variable 是变量。
5.Which programming paradigm emphasizes on objects and classes?A.Procedural programmingB.Functional programmingC.Object-oriented programmingD.Logic programming答案:C。
应用软件用英语怎么说应用软件是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序,可以有效地拓宽计算机系统的应用领域,放大硬件的功能。
那么你知道应用软件用英语怎么说吗?下面来学习一下吧。
应用软件英语释义:utility software;internet applications应用软件英语例句:第一款制作网络文件的所见即所得应用软件The first WYSIWYG application for creating documents on the Web一般安卓手机更多地装有消费应用和多媒体应用,而不是出厂自带的核心商务应用软件。
The typical Android phone is geared more for consumer applications and multimedia rather than hard-core business apps out-of-the box.正考虑离婚的人士如今可以通过一款应用软件来得到法律建议,但有批评人士指责这让离婚变得太容易。
A new app offering legal advice to those contemplating divorce could make the process too easy, say critics.现在您将创建一个只含有一个单向源和一个单向目标portlet的简单JSR168Faces portlet应用软件。
Now you'll create a simple JSR168 Faces portlet application that has a single-source portlet and a single-target portlet.应用软件质量对商业价值的影响与日俱增,推动了更佳评价方法的发展。
The demand for better measurement is being driven by the growing impact of application software quality on the business.你的内存太小,无法运行这个应用软件。
Multiple 11. The keyboard, mouse, monitor, and system unit are:hardware output devices storage devices software2. Programs that coordinate computer resources, provide an interface, and run applications are known as:application programs operating systemsstorage systems utility programs3. A browser is an example of a:basic application specialized programsystem application utility program4. Although not as powerful as a supercomputer, this type of computer is capable of great processing speeds and data storage.mainframe media center midrange netbook5. The smallest type of microcomputer:netbook handheld midrange tablet PC6. RAM is a type of:computer memory network secondary storage7. Unlike memory, this type of storage holds data and programs even after electrical power to the computer system has been turned off.primary RAM ROM secondary8. The type of file created by word processors to save, for example, memos, term papers, and letters.database document presentation worksheet9. The change in connectivity that uses the Internet and the Web to shift many computer activities from a user’s computer to computers on the Internet.cloud computing high definition network USB10. The largest network in the world is [the]:Facbeook Internet Web USBMultiple 21. The network that connects computers all over the world.CERN Internet LAN Web2. The rules for exchanging data between computers.DSL protocols Web WWW3. Client-based e-mail accounts require this special program to be installed on your computer.e-mail client hyperlink Java utility4. Communities of individuals who share a common interest typically create Facebook:clients groups pages profiles5. E-mail that does not require an e-mail program installed on a user's computer is known as:blog podcast Webmail utility6. A very well-known microblog.LinkedIn MySpace Twitter Wikipedia7. These programs continually look for new information and update search services’ database programs.filters IM spiders wikis8. A type of search engine that submits requests to other search engines, organizes their responses, eliminates duplicate responses, orders hits, and then provides an edited list.directory search ISPmetasearch engine specialized search engine9. This is the Internet’s equivalent to traditional cash.digital cash e-commerce icash Internetdollars10. Using file transfer utility software, you can copy files to your computer from specially configured servers on the Internet. This is called:downloading filtering blogging uploadingMultiple 31. This type of software works with end users, application software, and computer hardware to handle the majority of technical details.application general purpose system utility2. A rectangular area that can contain a document, program, or message.dialog box form frame window3. Programs that create text-based documents.DBMS suites spreadsheets word processors4. Programs that organize, analyze, and graph numeric data such as budgets and financial reports.DBMS suites spreadsheets word processors5. In a spreadsheet, the intersection of a row and column creates a:cell formula function label6. A collection of related data that is the electronic equivalent of a file cabinet.cell database document table7. A database tool that will quickly rearrange a table’s records according toa selected field.filter sort spreadsheet word processor8. Programs that combine a variety of visual objects to create attractive, visually interesting presentations.DBMS presentation graphics spreadsheet word processor9. The primary disadvantage of this type of package is that the capabilities of each function are not as extensive as in individual programs.integrated office software utility10. A type of suite stored at a server on the Internet and available anywhere through Internet access.cloud integrated office utilityMultiple 41. These specialized graphics programs combine text and graphics to create publications of professional quality.desktop publishing programs image editorsimage galleries illustration programs2. Also known as drawing programs.desktop publishing programs image editorsimage galleries illustration programs3. Graphics programs used to create and edit vector images.desktop publishing programs image editorsimage galleries illustration programs4. An essential multimedia feature that allows user participation.Flash interactivity immersion raster5. Special programs used to create multimedia presentations.desktop publishing programs Flash editorsimage editors multimedia authoring programs6. A widely used interactive animation application from Adobe.ACTION Flash Fuzzy WYSIWYG7. Programs for Web site design and HTML coding are called Web page editors orapps HTML editors VR programs Web editors8. This area of artificial intelligence is also known as expert systems.acoustics knowledge-based systems robotics virtual reality9. A type of artificial intelligence that uses a database to provide assistance to users.acoustics expert systems robotics virtual reality10. Another name for the database used in expert systems that contains specific facts and rules.access table expert table knowledge base rule baseMultiple 51. What type of software works with users, application software, and computer hardware to handle the majority of technical details?dapplication desktop Linux system2. The programs that convert programming instructions written by programmers into a language that computers understand and process are language:converters linguists managers translators3. The ability to switch between different applications stored in memory is called:diversion multitasking operational interferenceprogramming4. Graphic representations for a program, type of file, or function:app icon image software5. This operating system feature is controlled by a mouse and changes shape depending on its current function.dialog box menu mouse pointer6. The operating system based on Linux, designed for Netbook computers, and focused on Internet connectivity through cloud computing:Chrome Mac Unix Windows7. The mobile operating system developed by Apple and originally called iPhone OS:Android BlackBerry OS IOS Mac OS8. A utility program that makes copies of files to be used in case the originals are lost or damaged:Backup and Restore Disk Cleanup Disk Defragmenter Compactor9. A troubleshooting utility that identifies and eliminates nonessential files, frees up valuable disk space, and improves system performance:Backup and Restore Disk Cleanup Disk Defragmenter Compactor 10. Windows makes it easy to update drivers with Windows:Backup Restore Driver UpdateMultiple 61. This container houses most of the electrical components for a computer system.carrier package system board system unit TV tuner2. Similar to notebooks, this system unit specializes in on-the-go Web browsing and e-mail access.chassis desktop media center netbook3. Computers can only recognize this type of electronic signal.analog bus digital maximum4. The main or motherboard is also known as the:computer board processor mobile system system board5. How many bytes can a 32-bit-word computer access at one time?1 48 166. In a microcomputer system, the central processing unit is contained on a single:bus chip module RAM7. This type of memory divides large programs into parts and stores the parts on a secondary storage device.direct expanded random-access virtual8. Also known as NIC, this adapter card is used to connect a computer to a:AIA expansion graphics network9. This provides a pathway to connect parts of the CPU to each other.bus Plug and Play wired wireless10. Older ports that have largely been replaced by faster, more flexible ports are called:buses expandable legacy renderedMultiple 71. Most keyboards use an arrangement of keys known as:Alpha Daisy OptiKey QWERTY2. The device that controls a pointer displayed on the monitor.cord mouse printer scanner3. Also known as a roller ball, this device controls the pointer by rotatinga ball with your thumb.trackball joystick cordless mouse stylus4. The type of screen that can be touched with more than one finger and supports zooming in and out by pinching and stretching your fingers.digital dynamic multitouch OLED5. Flatbed and document are types of:headsets HDTVs monitors scanners6. Device used by banks to automatically read those unusual numbers on the bottom of checks and deposit slips.MICR FDIC OMR UPC7. The most widely used audio-input device.mouse VR microphone TFT8. The monitor feature that specifies how often a displayed image is updated.aspect ratio dot pitch refresh rateresolution rate9. Handheld, book-sized devices that display text and graphics.e-book readers HDTV lasers whiteboards10. This technology allows television stations to broadcast their programming directly to smartphones, computers, and digital media players.CRT HDTV LED Mobile DTVMultiple 81. RAM is sometimes referred to as:primary storage ratio active memoryread only memory secondary storage2. The actual physical material that holds the data and programs.primary storage media disk access3. Measures how tightly these charges can be packed next to one another on the disk.density cylinders tracks sectors4. When a read/write head makes contact with the hard disk’s surface, it causesa head:crash land pit scratch5. This hard-disk performance enhancement anticipates data needs.disk caching file compression file decompression RAID6. This type of storage uses pits and lands to represent 1s and 0s.cloud hard disk optical solid state7. DVD stands for:digital versatile disc digital video datadynamic versatile disc dynamic video disc8. USB drives are also known as:flash drives optical drives ports universal state bus9. An organizational strategy to promote efficient and safe use of data across the networks.cloud dynamic data mission statemententerprise storage system RAID10. A mass storage device that provides access to data archived on tapes.file system NAS RAID system tape libraryMultiple 91. The concept related to using computer networks to link people and resources.connectivity GPS TCP/IP Wi-Fi2. A high-frequency transmission cable that delivers television signals as well as connects computers in a network.coaxial hi def 3-D twisted pair3. A short-range radio communication standard that transmits data over short distances of up to approximately 30 feet.Bluetooth broadband DSL TCP/IP4. The speed with which a modem transmits data is called its:digital velocity dynamic rate modular rating transfer rate5. The bandwidth typically used for DSL, cable, and satellite connections to the Internet.baseband broadband medium band voiceband6. Every computer on the Internet has a unique numeric address called a(n):IP address DNS broadcast packet7. Sometimes referred to as a LAN adapter, these expansion cards connect a computer to a network.PCMCIA NIC server VPN8. A device that allows one LAN to be linked to other LANs or to larger networks.IDS network gateway PAN switch9. Typically using Wi-Fi technology, these wireless access points are typically available from public places such as coffee shops, libraries, bookstores, colleges, and universities.hotspots extranets PANs LANs10. Star, tree, and mesh are three types of network:topologies protocols strategies devicesMultiple 101. The three primary privacy issues are accuracy, property, and:access ethics ownership security2. To easily get names, addresses, and other details about a person using only his or her telephone number, government authorities and others use a(n):adware cookie keystroke logger reverse directory worm3. Browsers store the locations of sites visited in a:history menu tool bar firewall4. The browser mode that eliminates history files and blocks most cookies.detect insert privacy sleep5. The information that people voluntarily post in social networking sites, blogs, and photo- and video-sharing sites is used to create their:access approval firewall online identity phish6. Computer criminals who specialize in stealing, trading, and using stolen credit cards over the Internet are known as:carders card scammers cyber traders identity thieves7. Programs that come into a computer system disguised as something else are called:Trojan horses viruses Web bugs zombies8. The use of the Internet, cell phones, or other devices to send or post content intended to hurt or embarrass another person is known as:cyber-bullying online harassmentsocial media discrimination unethical communication9. Special hardware and software used to control access to a corporation’s private network is known as a(n):antivirus program communication gatefirewall spyware removal program10. To prevent copyright violations, corporations often use:ACT DRM VPN WPAMultiple 111. Which of the basic organizational functions records all financial activity from billing customers to paying employees?accounting marketing production research2. What managerial level has information flow that is vertical, horizontal, and external?top supervisory middle foreman3. Which computer-based information system uses data from TPS and analytical tools to support middle managers?ESS MIS DSS TPS4. Accounts payable refers to money the company owes its suppliers for materials and services it has:created exported inventoried received5. What accounting activity keeps track of all summaries of all transactions?balance sheet general ledgerincome statement inventory control6. What accounting statement lists the overall financial condition of an organization?balance sheet general ledgerincome statement inventory control7. What type of report is produced at regular intervals?demand exception inventory periodic8. A DSS consists of four parts: user, system software, decision models, and:application software data operating systemspreadsheets9. What type of worker is involved with the distribution, communication, and creation of information?executive foreman information knowledge10. What type of program is designed to schedule, plan, and control project resources?auditing dtp project managers schedulersMultiple 121. Facts or observations about people, places, things, and events are:data occurrences records tables2. The most basic logical data element such as a single letter, number, or special character is known as a:character element phrase record3. Each record in a database has at least one distinctive field, called the:key field structure type view4. One element of database security is to provide only authorized users with:classes nodes passwords relations5. The bridge between the logical and physical views of the data is provided by:DBMS records SQL tables6. Highly trained computer specialists who interact with the data administration subsystem are known as:DBMS data modelers database administrators relational specialists7. In a network database, each child node may have more than one parent node; this is known as a:hierarchy many-to-many relationshipparent relationship relational relationship8. Connections between parent nodes and child nodes are provided by:characters DBA objects pointers9. Two of the most significant advantages of multidimensional databases over relational databases are processing speed and:conceptualization control format objectification10. Object-oriented databases organize data by classes, attributes, methods, and:objects relations space timeMultiple 131. An information system is a collection of hardware, software, people, procedures, and:data DBMS specialists system analysts2. What is the first phase in the systems life cycle?needs analysis preliminary investigationsystems analysis systems design3. Which phase in the systems life cycle involves installing the new system and training people?preliminary investigation systems analysissystem design systems implementation4. This phase in the systems life cycle is concerned about determining system requirements not in design.preliminary investigation systems analysissystem design systems implementation5. Which systems analysis tool shows the relationship between input and output documents?checklist data flow decision table grid chart6. These tools relieve the systems analysts of many repetitive tasks, develop clear documentation, and, for larger projects, coordinate team member activities.automated systems life cycle CASEdata flow analyzers flow charts7. Which systems life cycle phase is concerned with economic, technical, and operational feasibility?preliminary investigation systems analysissystems design systems implementation8. What type of feasibility evaluates whether the people within the organization will embrace or resist a new system?behavioral economic operational techinical9. Which approach to conversion begins by trying out a new system in only one part of an organization?direct pilot parallel phased10. An alternative to the systems life cycle approach using powerful development software, small specialized teams, and highly trained personnel.AAD CASE prototyping RADMultiple 141. A program is a list of instructions for the computer to follow to process:data direct logic hardware software2. The major processing steps identified in a top-down program design are called:assembly instructions modules logic3. The programming logic structure in which one program statement follows another.concatenation loop repetition selection4. One of the best ways to code effective programs is to use the three basic logic structures to create:content-markup programs modular languagespseudocode structured programs5. Which step in the six-step programming procedure involves desk checking and searching for syntax and logic errors?program design program documentationprogram maintenance program test6. Which step in the six-step programming procedure is the final step?program design program documentationprogram test program maintenance7. Unlike traditional systems development, this software development approach focuses less on the procedures and more on defining the relationships between previously defined procedures.2GL context-markup module object-oriented8. Natural languages are considered to be a:high-level language low-level languagemid-level language procedural language9. A compiler converts the programmer’s procedural language program, called the source code, into a machine language code, called the:interpreter code object codestructured code top-down code10. The 4GL languages that enable nonprogrammers to use certain easily understood commands to search and generate reports from a database.query application generator C11 COBOLMultiple 151. People who react to technology by thinking computers are magic boxes capable of solving all kinds of problems that computers really can’t handle are:cynics frustrated naïve proactive2. The type of person that looks at technology in a positive realistic way is:cynical proactive naïve frustrated3. Books, journals, and trade associations are the best sources to help you:develop personal contacts develop specialtieslook for innovative opportunities maintain your computer competency 4. If your career is in marketing, it makes sense to develop a specialty in:database desktop publishingprogramming systems analysis and design5. What computer professional repairs and installs computer components and systems?computer technician data entry workerdesktop publisher software engineer6. What computer professional designs, tests, and researches encryption procedures?cryptographer network administratorprogrammer software engineer7. What computer professional uses database management software to determine the most efficient ways to organize and access data?cryptographer database administratorprogrammer software engineer8. What computer professional oversees the work of programmers, computer specialists, systems analysts, and other computer professionals?information systems manager network managersoftware engineer technical writer9. What computer professional creates, tests, and troubleshoots computer programs?network manager programmersoftware engineer technical writer10. What computer professional plans and designs information systems?network manager programmersoftware engineer systems analyst。
跨行业流程分类架构版本号Version 7.0.5概述跨行业流程分类架构®(Process Clas-sification Framework - PCF)是跨职能业务流程的分类法,可对组织内部和组织之间的绩效进行客观的比较。
PCF由APQC及其成员公司所开发,作为一种开放的标准,它能通过流程管理和基准测试来促进流程的改善,无论行业、规模或地理位置。
PCF将运营和管理流程分为13个企业级类别,包括流程组、1000多个流程以及相关的活动。
PCF及其相关衡量方法和定义可从/pcf免费下载。
流程改进的框架经验表明,可推动显著进步的基准测试的潜力正是在于进行创新的比较以及找寻行业范围内不易被发现的独到见解。
为执行这一大有裨益的基准测试,APQC 流程分类架构(PCF)®作为一种高层次、行业中立的企业流程模型,使得企业组织可以从跨行业的角度去审视其业务流程。
跨行业架构已被全球数以千计的企业组织创造性地运用了超过20多年。
PCF为APQC的开放标准基准测试®(Open Standards Benchmarking - OSB)的数据库和全球行业领导咨询委员会的工作奠定了基础。
随着OSB数据库进一步开发其定义、过程和衡量方法,PCF的每个版本都将继续得到加强。
PCF及其相关的衡量方法和基准调查可从开放标准基准测试(OSB)的网站/osb下载。
历史跨行业流程分类架构®最初被设想为一种业务流程的分类法,以及一种可以使APQC成员组织们进行基准测试的通用语言。
APQC和80多家有兴趣推动在美国和全球使用基准测试的企业组织参与到了初步设计中来。
自从1992年成立以来,PCF已经实现了其大部分内容的更新。
这些更新通过世界各地的企业开展业务的方式,来保持该架构的最前沿状态。
2014年,APQC致力于改善跨行业PCF,并更新了一些特定行业的流程分类架构。
OVERVIEWCross Industry Process Classification Framework®(PCF) is a taxonomy of crossfunctional businessprocesses intended to allow the objectivecomparison of organizational performance withinand among organizations. The PCF was developedby APQC and its member companies as an openstandard to facilitate improvement through processmanagement and benchmarking, regardless ofindustry, size, or location. The PCF organizesoperating and management processes into 13enterprise-level categories, including process groupsand more than 1,000 processes and associatedactivities. The PCF, its associated measures, anddefinitions are available for download at no chargeat /pcf.THE FRAMEWORK FOR PROCESSIMPROVEMENTExperience shows that the potential ofbenchmarking to drive dramatic improvement lies squarely in making out-of-the-box compari-sons and searching for insights not typically found within intra-industry paradigms. To enable this beneficial benchmarking, the APQC Process Classification Framework® (PCF) serves as a high-level, industry-neutral enterprise process model that allows organizations to see their business processes from a cross-industry viewpoint. The cross-industry framework has expe-rienced more than 20 years of creative use by thousands of organizations worldwide. The PCF provides the foundation for APQC’s Open Standards Benchmarking® (OSB) database and the work of its advisory council of global industry leaders. Each version of the PCF will continue to be enhanced as the OSB database further develops definitions, processes, and measures. The PCF and associated measures and benchmarking surveys are available for download from the Open Standards Benchmarking web site at /osb.HISTORYThe cross-industry Process Classification Framework® was originally envisioned as a taxonomy of business processes and a common language through which APQC member orga-nizations could benchmark their processes. The initial design involved APQC and more than80 organizations with a strong interest in advancing the use of benchmarking in the United States and worldwide. Since its inception in 1992, the PCF has seen updates to most of its content. These updates keep the framework current with the ways that organizations do busi-ness around the world. In 2014, APQC worked to enhance the cross-industry PCF and updated a number of industry-specific process classification frameworks.The PCF is written in United States English language format.管理和支持服务7.0开发和管理人力资本8.0管理信息技术9.0管理财务资源10.0获取、建造和管理资产11.0管理企业风险、合规、整治和持续性12.0管理外部关系13.0开发和管理业务能力2017.11.25汽车行业流程分类框架PCQ群459842191Version 7.0.5-en-XI • October 2016 12Permission granted to photocopy for personal use. ©2016 APQC. ALL RIGHTS RESERVED.期待跨行业和行业流程分类架构正不断发展其模型, APQC 会继续将这些模型予以加强和改进。
………………………………密………………………………封………………………………线………………………………Ⅰ.Multiple Choices (Each 1 Point, total 15 Points):1. Which of the items listed below is not one of the software engineering layers? ( )A)Process B)Manufacturing C)Methods D)Tools2. What are the three generic phases of software engineering?( )A)definition, development, maintenance B)what, how, whereC)programming, debugging, maintenance D)analysis, design, testing3. The unit that the software Reuse is ( ).A)software module B)Performance C)system D)function4. The prototyping model of software development is ( ).A)A reasonable approach when requirements are well definedB)A useful approach when a customer cannot define requirements clearlyC)The best approach to use for projects with large development teamsD)A risky model that rarely produces a meaningful product5.Requirement specifications should not include the contents of the description are ( ).A)Main function B)algorithm for detailed proceduresC)user interface and operating environment D)software performance6. Use-cases are scenarios that describe ( ).A)the build plan for a software productB)how CASE tools will be used to construct the system.C)how software is to be used in a given situationD)the test cases for a software product7.Which of the following is not an area of concern in the design model?( )A)architecture B)data C)interfaces D)project scope………………………………密………………………………封………………………………线………………………………8. To achieve high modularity of software components, you need ( ).A)high coupling and high cohesion B)high coupling and low cohesionC)low coupling and low cohesion D)low coupling and high cohesion9. Encapsulation of attributes and operations within an object ( ).A)is a poor programming practice.B)increases the cost of program maintenance.C)allows for easy reuse of this information.D)none of the above10. The UML approach to object-oriented design has two major activities:( ).A)message design and system design B)interface design and message designC)architectural design and object design D)system design and object design11. Which of these is not one of the primary benefits of object-oriented architectures? ( )A)easy component reuse B)improved execution performanceC)information hiding D)simplified interfaces12. The first step in any OOA process model are to ( ).A)build an object-relationship model B)define collaborations between objectsC)elicit customer requirements D)select a representation language13. Which of these are objectives for software testing? ( )A)determine the productivity of programmers B)eliminate the need for future program maintenance C)eliminate every error prior to release D)uncover software errors14. A generalized description of a collection of similar objects is a ( ).A)class B)instance C)subclass D)super class15.The longest stage in software life cycle is ( )A)requirement analysis B)design C)test D)maintenance()1.“Software” is equal to “program”.()2. In the real project developing, we need to consider the reliability and usability of the system.………………………………密………………………………封………………………………线……………………………… ( )3.Software is a product and can be manufactured using the same technologies used for otherengineering artifacts.( )4. If the test procedure does not find any errors, then the software free of errors.( )5. Adding more people to a project that is already behind schedule is a good way to catch up.Ⅲ. Noun Explanation. (Each 5 points, total 20 points)1. software process2. cohesion3. Computing Return on Investment (ROI)4. fan_inⅣ.Answer the Following Questions Briefly. (Each 5 Points, total 20 Points)1. What is software maintenance? Please describe the four types of software maintenance.2. What arethe three major content of the software performance properties. Please describe how to improving system performance?3. What are the benefits of using prototyping?4. Description the difference in purposes between software testing and debugging .………………………………密………………………………封………………………………线………………………………Ⅴ.Software Engineering Practice (35 Points)1.Analyse and design a simple management information system of a library using the OO methodology. The system allows the users to manage books (including adding, deleting, displaying and updating books) and readers to manage personal and Library operations (including adding, deleting, displaying and updating readers, borrowing and returning books). Write out the following Requirements specifications briefly:(1) Draw the use case diagram. (8points)………………………………密………………………………封………………………………线………………………………2. According to the following fault-tree, please derive a matching cut-set tree. (13 points)fault-tree。
An Automatable Framework for Formal Specification & Verification of Aspect Oriented ProgramsM. Nafees Qamar1 *, Aamer Nadeem2 , M. Uzair Khan21COMSATS Institute of Information Technology,Islamabad, Pakistan.2Center for Software Dependability,Muhammad Ali Jinnah University,Islamabad, Pakistan.1{nafees_qamar@.pk}, 2{anadeem, uzair@.pk}Abstract.Formal verification of software is a perennial problem and aninclusion to formal verification challenges is AOP (Aspect Oriented programs).Likewise, several contrary formal verification approaches exist for OOP(Object Oriented programs) but unable to deliver same robustness for AOPverification and also the proposed approaches to verify AOP seem to be lesseffective because of their adoptability for large systems. Although we believethat the potential solution would be to choose best existing formal methods forformal verification of AOP to avoid unnecessary additions and modifications incurrent state of the art. This paper gives a thorough survey of the existing work.The paper presents a holistic framework for formal verification of AOP byformally specifying aspects and classes, autonomously. Then the obtainedspecifications are integrated to get filtered definition of the AOP, i.e., mergingthe aspect specification with the class specification to preserve execution orderof an AO program. Besides, to verify augmented system, the derivation ofclasses through de-compilation from compiled AOP is attained for generatingtheir corresponding formal specifications. Former and latter generated formalspecifications are compared to analyze the intended and exotic behavior ofaspects. This helps us to ensure that the actual behavior of the system isaccording to the one specified. Additionally, our approach helps to identifyambiguities and contradictions present in the compiled AOP, and allows toeliminate them. We use Object-Z to write classes and propose our ownnotations and constructs for describing aspects and for formulating filteredformal specification of classes and aspects using the notion of filters fromRTOZ (Real Time Object-Z∗). A possible tool support realizes the automationprocess of the framework.*is a senior member of Center for Software Dependability and presently working as Research Associate at COMSATS Institute of Information Technology, Islamabad.1 IntroductionAspect-Oriented Paradigm (AOP) promises to deliver robust software modularization and reusability. In this regard, AOP [11], [15] presents an acceptable solution to code scattering and tangling as it focuses on separation of concerns to avoid these troubles by treating core and crosscutting concerns separately at design level. The implementation of core concerns is language independent, while crosscutting concerns are written using any aspect based language, e.g., AspectJ [18], AspectC++ [17], etc. The main constructs in AOP are join points, pointcuts, advices, introductions, and aspects. An aspect represents a crosscutting concern and is weaved with one or more core concerns. The aspect code observes the base program and when certain pointcuts reach, the aspect code is weaved into there. Although AOP seems promising to avoid code scattering and tangling issues but correctness can not be guaranteed. AOP has conceptual differences which are more demanding than all the existing ones. Formal verification is a highly reliable solution to ensure the correctness of the software. We just need to use it in a productive manner.This paper presents a novel framework for formal verification of AOP. The proposed approach autonomously tackles aspects and classes for formal specifications, and filters their formal specifications to form a fused formal specification of the complete AOP before actual weaving process and preserving execution order. On the other hand, the byte code1of augmented system is decompiled to obtain formulated (by weaver) classes, which is then transformed into the formal specifications by using derived classes. These formal specifications of derived classes are then verified against the formerly weaved formal specifications of classes and aspects. Although aspects are not realized as stand alone entity (except for their usability), hence their filtration is mandatory to visualize static definition of AOP. For this, we believe that the stand alone specifications of aspects and classes should be integrated into a single filtered specification, where all the constructs of the aspects are integrated with the classes. Groundwork for tool architecture depicts the automation process of the framework. Our contributions towards verification of AO programs are as follows: (i) a framework for static formal definition of classes & aspects, and how their conformance can be analyzed against weaved artifacts, (ii) identification of changes made by aspects into the core concerns, (iii) analysis of aspects with respect to their earlier specified behavior. (iv) a way of integrating formal specifications of aspects and classes, (v) introducing some new notations and constructs to elaborate AOP behavior, (vi) in the end, a way to cope with verification of static definition of the system against weaved system, and a possible tool support.The proposed framework uses the theorem proving strategy to deal with verification of AO programs in a robust way; for instance, we have HOL-Z [24] implementation for Z schemas, consequently we may adopt it to verify the AOP. Several other solutions exist on the subject of de-compilation of the byte code [26], [27].Theorem proving techniques, for example [25], [29], [30], are powerful enough to deal with the verification issues. Regarding the automation of Z schemas, until now, a number of issues have been identified and as a result, robust notations and constructs exist for the mentioned problems [24], [30], [28].1We are assuming a JAVA based system.We have put forward some research challenges regarding our approach as this is a major undertaking, and before these tasks to carry out, a reasonable confidence is essential for accomplishing the absolute framework stages until it gets recognition.The rest of this paper is organized as follows: Section 2 discusses related work, section 3 presents our approach for verification of AO programs along with an illustrative example, section 4 discusses possible tool support, while section 5 describes future directions and concludes the paper.2 Related WorkMousavi et al. [6] discusses the main characteristics of an aspect-oriented formal specification framework, which is based on a multiset transformation language called GAMMA. Their work intends to facilitate the specification-driven design, enabling formal validation, and design reuse at the requirement specification level. They provide a formal design of a small number of aspects, mainly related to distributed real-time systems. These aspects are kept separate and abstract from each other Hence a formal foundation of Aspect-Oriented specification and refinement towards implementation is laid.Larsson and Alexandersson [5] discuss the formal verification of aspects that are written for fault tolerance. However, their work does not provide any concrete example to demonstrate their technique, and hence lacks in this perspective. In case of Aspect-Oriented programs, intricate part of verification is inclusion of aspects to core concerns. Generally in static verification, we analyze whether program satisfies the requirements specification. Formal methods can be excellent incentive to diagnose augmented system, as harmful aspects are always there. Weston et al. [8] talks about the modular verification of the aspects (as they are weaved with core concerns) using aspect tagging and data flow analysis of Control Flow Graphs (CFG).Katz [4] presents a comprehensive survey of static analysis techniques of aspects and their verification approaches. Sakurail et al. [12] realization is possible of any aspect instance as the context of an advice execution as their interactions affects the system, while modifications are not apparent, and easily detectable. The composition, reuse, and interaction of stateful aspects necessitate the need of new testing techniques [10].Storzer [13] reveals the issue that whether any aspect works as intended or not. Their work analyzes the impact of such aspects. By trace analysis, the behavior of program flow is determined. Some of the limitations of formal methods i.e., verification is costly [13], and verification implementation is restricted to some situations. Ubayashi [3] illustrates verification of aspects using model checking to see unexpected behavior of the system, such as deadlocks. Constructs of aspect-oriented programs, e.g., pointcuts, join points, advices, and introduction, are dynamic in nature, which enforce us to specify their behaviors.Okun and Black [14] present model checking as a “light-weight” formal method to check the truth (or falsity) of statements. Their observations stress that more robust techniques are required to show the propagation of faults in the output. Denaro et al.[2] describes the suitability of aspect code for application of formal verificationtechniques. In their approach, they initially select some general properties, which are relevant to a concern of aspect-oriented software, e.g. deadlock [3], [2], and then any formal method (for instance model checking) is selected for formal verification. The selection of formal method is done considering its suitability for the selected properties. Then the aspect, which is encapsulating the relevant code, is identified (for example, aspect coding the synchronization policy). It applies any formal technique after derivation of verification model. As per required, specification of the selected properties is exercised with proper formalism. In the end, their method report on the success of the verification or analyze the provided counter examples, e.g., invalid execution leading to deadlocks. Static analysis is usually manual or automated, but industry practitioners like Hailpern and Santhanam [7], describe that formal verification is used routinely by only small pockets of the industrial software community, particularly in the areas of protocol verification and embedded systems. Solutions to small chunks of problems are focused [1], [12], [10], [13], [3], [9], [20]. Therefore we need to develop a rigorous and automated solution for large scale problems to cope with new imposed challenges of AO programs.Diversity of work also exists in de-compilation [26], [27], theorem provers [29], [25], Z-Schemas automation issues and writing formal specifications from the source code [31], [32].3 The Proposed FrameworkOur proposed approach is presented in Figure 1. Primarily core concerns and aspects(crosscutting concerns) are specified using formal constructs (i.e., Object-Z for classes and our own notations for aspects). Then the separate formal specifications are combined to result in one filtered specification of the overall AO program. There are two main reasons behind filtration of these specifications. Firstly, by filtering formal specifications of aspects and classes together, we may be able to identify the contradictions and ambiguities in core and crosscutting concerns. Secondly, we can use them to verify against the formal specifications of the actual weaved code. Our proposed framework is divided into three main subsections which are (i) formal Specifications of aspects and objects and then filtration of these formal specifications (ii) construction of formal specifications through available byte code by de-compilation (which will be presented later) (iii) A verifier, which identifies conflicts (according to purported proves of the aspects and required services of the objects) between (i) and (ii). We employ Object-Z [16] constructs to write formal specifications of classes, and our own notations. Aspects are specialized in constructs, e.g., pointcuts, join points, advices, introduction etc., to facilitate description of crosscutting features, and are formally specified to describe semantics of aspects. Perhaps when the number of classes and aspects grow, the strategy will help to determine the interdependencies among the (i) aspects itself and (ii) in case of weaving them with the classes. Their conflict resolution can also become less problematic as it will also allow reasoning before compilation. We take an example of an AO program where we want to log the activities in a Stack class. Our example manifests the one part of the framework i.e., formal specification of aspect and class as well as the filtered specification of both. The following subsections illustrate the approach.3.1 Formal Specifications of Core Concerns using Object-ZA rich set of constructs for formal specification of OO systems can be found in Object-Z. We use Object-Z to write formal specifications of our core concern. Figure 4 reflect a state schema for the S tack class in Object-Z. Stack class has number of methods which are specified in the given schema, figure 2. Hence we complete first step to the formal verification of AO program i.e., the specification of the core concern which is stack implementation is this. Stack schema uses the constructs of Object-Z to write formal specification of the classes. Figure 2 states the specification of the required methods which need to be there in implementation. Object-Z is a very practical solution towards writing classes. In fact the problem lies in specification of the aspects which are never specified before so additionally, we believe that the formal definition of aspects is necessary for analyzing their behavior. It is mandatory to specify the behavior of aspects. The following section 3.2 elaborates the specification of an aspect.Fig. 2. Formal Specification of Stack class3.2 Formal Specification of AspectsFormal specification of stand alone aspect is feasible to understand and adopt. An aspect is formally specified using our own abstract model introduction of some new constructs and notations, whilst there doesn’t exist significant work on formal languages for AOP except one, Aspect-Z [19]. However, Aspect-Z doesn’t containrich notations and constructs. The formal specification of aspect is written by employing our methodology using some ad hoc notations in figure 3. Besides it, we want to ensure that the execution order of aspect with base classes must be preserved. Therefore framework also deals with the requirement of step-wise definition of the constructs, which have been defined in any aspect, are also preserved.To avoid from unnecessary details the same syntax of Object-Z is maintained. The visibility list in aspect specification contains all the constructs definitions which may be used for some core concerns. While we define the advices as type and their instantiation is possible. Pointcut is an abstract point and we specify it by describing the target for pointcut while the methods which are changed, present their. The definitions of advices are written for specification, autonomously.In the above aspect schema, figure 3, we represent any aspect by relating it to the class schema which affect from it as this is defined in pointcut public methods. In our example, we have one class (Stack) and a aspect (AutoLog), and there exist a pointcutwhich is mapped to the public methods of the classes. A pointcut relates to differentjoin points, so we define them in the context of pointcut with an operator (₪) called join point operator. Another major construct is advices; we treat them as relating to some pointcut in the base class so all the advices are specified one by one. Theconstructs used here are the same as Object-Z, further syntax and constructs can befound in [16].3.3 AOP - Filtered SpecificationsStatic definition of classes helps us to define the behavior of a core concern.Object-Z is a standard formal language to specify OO systems, whilst it lacks someconstructs or notations to fulfill our requirements for AOP. Its failure scenarios; forexample if we need to specify time constraints for real time systems, Object-Z doesn’tallow. Along with this, it is also impossible to specify concurrent application using Z-language or Object-Z. RTOZ [28] is one of the extension to the Object-Z languagewhich inherits its class schema style and introduces filter specifications for Real-Time systems. Same trouble goes with AO programs where there doesn’t exist any acceptable solution for AO programs specification.Fig. 4. Filtered specification approach to AO programs.Hence we use the notion of filtered specification for AOP. C & C′are pre and postconditions consecutively. The two constructs, before and after advice are introduced to show their relation with the base class while crucial-ness lies in the weaving of advices with the pre and postconditions. Through filtration we preserve the execution sequence and also map the advices to the methods. The constructs are easy to comprehend and practice. We are further investigating filtered specifications to use, which has a most significant advantage in the form minimum constructs’ addition to existing Object-Z. Formalists don’t need to go under an intensive practice but just some new notations along with matured Object-Z schema works. We introduce preconditions and postconditions format to weave formal specifications Figure. 4. presents the approach in pre and post conditions which reflects a viable solution, however, there are some issues which still need to be resolved during static weaving, specially the problem of around advice. All the methods which reside in Stack class schema are enhanced with the advices of an aspect in a filtered model. Then we use the INIT construct to initialize the relevant classes and aspects. Methods lie in form of pre- and post-conditions while preserving their own pre- and post-conditions. We can also write separate state schema for each method in the class, but we don’t follow this methodology in our proposed approach3.4 Generalizing Formal Specification ConstructsThe given example covers only one scenario where we have a single class and an aspect. In real-world systems, this would not be the case. In this section, we are generalizing our approach by providing some basic formal notations for the constructs like pointcut, join point, and advice.A logical representation of our system would be defined as:• Advice: Pointcut X JoinPoint• Let ‘PC’ be a pointcut, then Q would be the set of pointcuts defined in an aspect:[Pointcut][JoinPoint]PC: PointcutQ={PC1, PC2, ….PCn}Q: P P• PC: P Join Point• A pointcut ‘PC’ can have one or more joint points associated with it, and is defined as:PC={JP1, JP2,….,JPn} or we may have• PC={JPi} where i=1 to n, Hence we can formulate an expression for advices as follows:∑ (I to n) JP € PCj | there exists adv k where j=1 to n and k={before,around, after}• For integration of the specifications, Before/ After advices with the class schema’s preconditions/ postconditions are written as follows:•timemap = { ba: c → t , aa: c '→ t+δt }, where using the filters notion the advices are specified to maintain their execution sequence.• The join point operator (₪) is used to specify join points as these are known as principled or specialized pointsOne or more aspects are weaved to a class where we need to cater multiplepostconditions/ preconditions, there may occur a condition where the contradictionamong the advices is possible, especially in case of around advice, as previouslydiscussed. We are currently working on its compositional complexity.3.5 Implementation We consider an example [20] to illustrate our proposed approach. A class “Stack” is implemented in Java, and the AutoLog aspect is written in an AO language, called AspectJ.Class reveals Stack operations while in the aspect code; a pointcut is defined alongwith advices (before & after). Aspect code is weaved into Stack class. Theimplementations given in Figure 5, 6 are based on formal specification of AOP andwe may use their compiled code (by a weaver) for reverse engineering to accomplisha comprehensive case study for this framework.3.5 Formal Specification of the Augmented SystemWe are always more concerned with the aspectual behavior. In case of ourapproach, as a second step, we adopt a de-compilation approach for writing formalspecification of the compiled code, to accomplish our framework methodology. Weneed to check that whether the system’s behavior is relating to the initial formalspecifications, and if not, then what sorts of changes are made to the implementedFig. 5. Implemented Stack Class. public class Stack { private int size; public Stack ( ) { size=0; } public void additem (Item item) { //unimplemented condition items.add(item); } public void removeItem ( Item item) {//unimplemented condition items.remove(item); } public Boolean empty ( ) { return size = = 0; } public Boolean full ( ) {return size==maxSize;} } Fig. 6. The AutoLog Aspect . public aspect AutoLog {pointcut publicMethods ( ); execution (public * *..*(Item)) && target(Stack);Before ( ): publicMethods ( ) { System.out.println(“Enter “ +thisJoinPoint .getSignature ( ).toString ( ) ); } after ( ) ; publicMethods ( ){ System.out.println (“Exit “ + thisJoinPoint.getSignature ( ) .toString ( ) ); }core concerns. Through formal specification of the de-compiled classes, we can verify our primary formal definition of the system. We have following verification purposes; usually a verification technique must tackle: these are specific to the core concerns, for instance, types of changes made to the use of the variables, whether the data members of any class are consistent what it was primarily formally specified and specifically the methods are called with the right member and proper types of arguments. Along with this we need to see that initially type descriptors are consistent with the preliminary definitions and constructs and classes with respect to methods, variables, constants etc., exist in weaved code or not.The aforementioned issues are due to the invasive aspect changes made to the system, our approach also handles them. Aspect specific faults [21] i.e., incorrect strength in pointcut patterns like, incorrect aspect precedence, failure to establish expected postconditions, failure to preserve state invariants, incorrect focus of control flow, incorrect changes in control dependencies can also be determined by the use of our formal verification mechanism as we may get all the possibilities of aspects while weaving to the classes. Adding to these we may have some other faults i.e., faults in control flow changes, inter-type declarations, polymorphic calls, specific issues to join points, any undesirable feature interaction between object, and the aspect, so there may arise situations where the behavior is completely unobservable, what we observe. Even one of the major concerns should be to face the challenge of incompatibilities among aspects and classes. Our framework enables to check these inconsistencies from classes and aspects which we have for weaving. Our proposed formal verifications facilitates to find out maximal faults detection residing in an AO program. Firstly formally specified integrated model of classes and aspects eventually becomes a verification criteria, therefore the weaved system satisfies it or may become a source for us to detect changes which are indeed helpful to evaluate the aspects against the expected behavior.4. Possible AutomationFigure. 7 illustrate the procedure for automation of our framework. As a fundamental part of our framework, a tool for automation can complement it and possibly more robust to analyze of AO software. We are currently working on a prototypic tool for the initial evaluation of our approach, and will present it in later versions of this paper. Fig. 7 illustrates the block diagram and main working of the tool for the proposed framework. The java byte code is decompiled and then HOL representation is generated using a transformation parser. The compiled aspects and classes specifications are also transformed to HOL format. A verifier then compares both representation for dissimilar constructs and ambiguities, if any. Commonalities reflect that aspects are ensuring required behavior while differences illustrates that some of the required behavior couldn’t be achieved, are extra, or is changed. Hence we may able to find out the problems in either aspects or classes. Theorem provers [22], [23] provide support for algebraic proofs of model properties. Examples include ACL2, Alloy, eCHECK (Prover Technologies), KIV, PVS (SRI Inc.), TRIO-Matic, VSE II.Feil! Objekter kan ikke lages ved å redigere feltkoder.5. Conclusion & Future DirectionsThe paper presented a novel approach to formally specify and verify AO programs. First, we formally specify base classes and aspects individually. After this, the integrated model of formal specification (class & aspect) is achieved. The byte code is then reverse engineered into intermediate representation to formulate new classes. Ultimately formal specifications for these classes are written. In the end both the specifications i.e., static definition and formal specifications of intermediate representation are analyzed against each other. A possible tool support illustrates the ease of automation, as we may use theorem proving environment. Our approach also enables us to formally reason about the required services acquired by the classes Fig. 7. Tool Architecture for Proposed Frameworkagainst the services provided by the aspects. We observe that formal methods with rich syntax and constructs are required to deal with complex behaviors of AO systems.The novelty lies in the framework as it is using a best possible combination of widely known Object-Z language, filtered specifications notion, writing formal specifications from the requirements and finally comparison methodology along with the possible automation. Relatively the given approach provides a generic solution as far as the AO software is concerned in the form of whole system specifications.In our future work, we are focusing to present thorough approach with a case study and prototype tool support.. We are eventually more concerned with internal data structure of the classes, in what circumstances that is endangered, and how it can be analyzed effectively. In addition to this, we are working on a formal method with rich constructs, to address the problem of formal specifications of AO programs.References1. Sereni, D., and Moor, O. D., Static Analysis of Aspects, Oxford. In AOSD 2003, Boston,MA USA, in the proceedings of ACM, 2003, Pages: 30 – 39, ISBN:1-58113-660-92. Denaro, G., and Monga, M., An Experience on Verification of Aspect Properties, IWPSE2001, Austria, in the proceedings of ACM, 2001, Pages: 186 – 189, ISBN:1-58113-508-4 3. Ubayashi, N., and Tamai, T., Aspect-Oriented Programming with Model Checking, AOSD2002, Enschede, The Netherlands, in the proceedings of ACM, 2002, Pages: 148 - 154 , ISBN:1-58113-469-X4. Katz, S., A Survey of Verification and Static Analysis for Aspects, AOSD-EuropeTechnion-1(10 July 2005).5. Larsson, D., and Alexandersson, R., Formal Verification of Fault Tolerance Aspects, in theproceedings of ISSRE, 2005.6. Mousavi, M., Russello, G., Chaudron, M., Reniers, M.A., Basten, T., Corsaro, A., Shukla,S., Gupta, R., and Douglas C. Schmidt, Aspects + GAMMA = AspectGAMMA, in the proceedings of FOAL, 2002.。