Software and Systems Modeling manuscript No. (will be inserted by the editor) A Model-Drive
- 格式:pdf
- 大小:699.21 KB
- 文档页数:28
期刊全称期刊简称Acm Computing Surveys ACM COMPUT SURV Acm Journal On Emerging Technologies in Computing Systems ACM J EMERG TECH COM Acm Sigcomm Computer Communication Review ACM SIGCOMM COMP COMAcm Sigplan Notices ACM SIGPLAN NOTICES Acm Transactions On Algorithms ACM T ALGORITHMS Acm Transactions On Applied Perception ACM T APPL PERCEPT Acm Transactions On Architecture and Code Optimization ACM T ARCHIT CODE OPAcm Transactions On Autonomous and Adaptive Systems ACM T AUTON ADAP SYS Acm Transactions On Computational Logic ACM T COMPUT LOGAcm Transactions On Computer Systems ACM T COMPUT SYST Acm Transactions On Computer-Human Interaction ACM T COMPUT-HUM INT Acm Transactions On Database Systems ACM T DATABASE SYST Acm Transactions On Design Automation of Electronic Systems ACM T DES AUTOMAT EL Acm Transactions On Embedded Computing Systems ACM T EMBED COMPUT S Acm Transactions On Graphics ACM T GRAPHIC Acm Transactions On Information and System Security ACM T INFORM SYST SE Acm Transactions On Information Systems ACM T INFORM SYST Acm Transactions On Intelligent Systems and Technology ACM T INTEL SYST TEC Acm Transactions On Internet Technology ACM T INTERNET TECHN Acm Transactions On Knowledge Discovery From Data ACM T KNOWL DISCOV D Acm Transactions On Mathematical Software ACM T MATH SOFTWARE Acm Transactions On Modeling and Computer Simulation ACM T MODEL COMPUT S Acm Transactions On Multimedia Computing Communications and Applications ACM T MULTIM COMPUT Acm Transactions On Programming Languages and Systems ACM T PROGR LANG SYS Acm Transactions On Reconfigurable Technology and Systems ACM T RECONFIG TECHN Acm Transactions On Sensor Networks ACM T SENSOR NETWORK Acm Transactions On Software Engineering and Methodology ACM T SOFTW ENG METH Acm Transactions On Storage ACM T STORAGEAcm Transactions On the Web ACM T WEBActa Informatica ACTA INFORMAd Hoc & Sensor Wireless Networks AD HOC SENS WIREL NEAd Hoc Networks AD HOC NETWAdvances in Computers ADV COMPUTAdvances in Engineering Software ADV ENG SOFTW Aeu-International Journal of Electronics and Communications AEU-INT J ELECTRON C Annals of Telecommunications-Annales Des Telecommunications ANN TELECOMMUNApplied Clinical Informatics APPL CLIN INFORMApplied Ontology APPL ONTOLApplied Soft Computing APPL SOFT COMPUTArtificial Intelligence ARTIF INTELLArtificial Intelligence Review ARTIF INTELL REVArtificial Life ARTIF LIFEAutomated Software Engineering AUTOMAT SOFTW ENG Autonomous Agents and Multi-Agent Systems AUTON AGENT MULTI-AG Bell Labs Technical Journal BELL LABS TECH JBioinformatics BIOINFORMATICSBmc Bioinformatics BMC BIOINFORMATICSBriefings in Bioinformatics BRIEF BIOINFORM Business & Information Systems Engineering BUS INFORM SYST ENG+China Communications CHINA COMMUN Cluster Computing-the Journal of Networks Software Tools and Applications CLUSTER COMPUT Cmc-Computers Materials & Continua CMC-COMPUT MATER CONCmes-Computer Modeling in Engineering & Sciences CMES-COMP MODEL ENGCognitive Computation COGN COMPUTCognitive Systems Research COGN SYST RESCommunications of the Acm COMMUN ACMComputational Biology and Chemistry COMPUT BIOL CHEMComputational Geosciences COMPUTAT GEOSCIComputational Linguistics COMPUT LINGUISTComputer COMPUTERComputer Aided Geometric Design COMPUT AIDED GEOM D Computer Animation and Virtual Worlds COMPUT ANIMAT VIRT W Computer Applications in Engineering Education COMPUT APPL ENG EDUCComputer Communications COMPUT COMMUNComputer Graphics Forum COMPUT GRAPH FORUMComputer Journal COMPUT JComputer Languages Systems & Structures COMPUT LANG SYST STR Computer Methods and Programs in Biomedicine COMPUT METH PROG BIO Computer Methods in Applied Mechanics and Engineering COMPUT METHOD APPL M Computer Methods in Biomechanics and Biomedical Engineering COMPUT METHOD BIOMECComputer Music Journal COMPUT MUSIC JComputer Networks COMPUT NETW Computer Science and Information Systems COMPUT SCI INF SYSTComputer Speech and Language COMPUT SPEECH LANGComputer Standards & Interfaces COMPUT STAND INTER Computer Supported Cooperative Work-the Journal of Collaborative Computing COMPUT SUPP COOP W J Computer Systems Science and Engineering COMPUT SYST SCI ENGComputer Vision and Image Understanding COMPUT VIS IMAGE UNDComputer-Aided Design COMPUT AIDED DESIGN Computers & Chemical Engineering COMPUT CHEM ENGComputers & Education COMPUT EDUCComputers & Electrical Engineering COMPUT ELECTR ENGComputers & Fluids COMPUT FLUIDSComputers & Geosciences COMPUT GEOSCI-UKComputers & Graphics-Uk COMPUT GRAPH-UKComputers & Industrial Engineering COMPUT IND ENGComputers & Operations Research COMPUT OPER RESComputers & Security COMPUT SECURComputers & Structures COMPUT STRUCTComputers and Concrete COMPUT CONCRETE Computers and Electronics in Agriculture COMPUT ELECTRON AGRComputers and Geotechnics COMPUT GEOTECHComputers in Biology and Medicine COMPUT BIOL MEDComputers in Industry COMPUT INDComputing COMPUTINGComputing and Informatics COMPUT INFORMComputing in Science & Engineering COMPUT SCI ENG Concurrency and Computation-Practice & Experience CONCURR COMP-PRACT EConnection Science CONNECT SCIConstraints CONSTRAINTS Cryptography and Communications-Discrete-Structures Boolean Functions and Sequences CRYPTOGR COMMUNCryptologia CRYPTOLOGIACurrent Bioinformatics CURR BIOINFORMData & Knowledge Engineering DATA KNOWL ENG Data Mining and Knowledge Discovery DATA MIN KNOWL DISCDecision Support Systems DECIS SUPPORT SYST Design Automation For Embedded Systems DES AUTOM EMBED SYST Designs Codes and Cryptography DESIGN CODE CRYPTOGRDigital Investigation DIGIT INVESTDisplays DISPLAYSDistributed and Parallel Databases DISTRIB PARALLEL DATDistributed Computing DISTRIB COMPUTEmpirical Software Engineering EMPIR SOFTW ENGEngineering With Computers ENG COMPUT-GERMANYEnterprise Information Systems ENTERP INF SYST-UK Environmental Modelling & Software ENVIRON MODELL SOFTWEtri Journal ETRI J Eurasip Journal On Wireless Communications and Networking EURASIP J WIREL COMM European Journal of Information Systems EUR J INFORM SYSTEvolutionary Bioinformatics EVOL BIOINFORMEvolutionary Computation EVOL COMPUTExpert Systems EXPERT SYSTFormal Aspects of Computing FORM ASP COMPUTFormal Methods in System Design FORM METHOD SYST DES Foundations and Trends in Information Retrieval FOUND TRENDS INF RETFrontiers in Neurorobotics FRONT NEUROROBOTICSFrontiers of Computer Science FRONT COMPUT SCI-CHI Frontiers of Information Technology & Electronic Engineering FRONT INFORM TECH ELFundamenta Informaticae FUND INFORMture Generation Computer Systems-the International Journal of Grid Computing and EscienFUTURE GENER COMP SY Genetic Programming and Evolvable Machines GENET PROGRAM EVOL MGraphical Models GRAPH MODELSHuman-Computer Interaction HUM-COMPUT INTERACT Ibm Journal of Research and Development IBM J RES DEVIcga Journal ICGA JIeee Annals of the History of Computing IEEE ANN HIST COMPUTIeee Communications Letters IEEE COMMUN LETTIeee Communications Magazine IEEE COMMUN MAG Ieee Communications Surveys and Tutorials IEEE COMMUN SURV TUTIeee Computational Intelligence Magazine IEEE COMPUT INTELL M Ieee Computer Architecture Letters IEEE COMPUT ARCHIT L Ieee Computer Graphics and Applications IEEE COMPUT GRAPHIeee Design & Test IEEE DES TESTIeee Internet Computing IEEE INTERNET COMPUT Ieee Journal of Biomedical and Health Informatics IEEE J BIOMED HEALTHIeee Journal On Selected Areas in Communications IEEE J SEL AREA COMMIeee Micro IEEE MICROIeee Multimedia IEEE MULTIMEDIAIeee Network IEEE NETWORKIeee Pervasive Computing IEEE PERVAS COMPUTIeee Security & Privacy IEEE SECUR PRIVIeee Software IEEE SOFTWAREIeee Systems Journal IEEE SYST JIeee Transactions On Affective Computing IEEE T AFFECT COMPUT Ieee Transactions On Autonomous Mental Development IEEE T AUTON MENT DE Ieee Transactions On Broadcasting IEEE T BROADCASTIeee Transactions On Communications IEEE T COMMUN Ieee Transactions On Computational Intelligence and Ai in Games IEEE T COMP INTEL AIIeee Transactions On Computers IEEE T COMPUTIeee Transactions On Cybernetics IEEE T CYBERNETICS Ieee Transactions On Dependable and Secure Computing IEEE T DEPEND SECURE Ieee Transactions On Evolutionary Computation IEEE T EVOLUT COMPUT Ieee Transactions On Haptics IEEE T HAPTICS Ieee Transactions On Information Forensics and Security IEEE T INF FOREN SEC Ieee Transactions On Information Theory IEEE T INFORM THEORYIeee Transactions On Learning Technologies IEEE T LEARN TECHNOLIeee Transactions On Mobile Computing IEEE T MOBILE COMPUT Ieee Transactions On Multimedia IEEE T MULTIMEDIA Ieee Transactions On Neural Networks and Learning Systems IEEE T NEUR NET LEAR Ieee Transactions On Parallel and Distributed Systems IEEE T PARALL DISTR Ieee Transactions On Services Computing IEEE T SERV COMPUTIeee Transactions On Software Engineering IEEE T SOFTWARE ENG Ieee Transactions On Visualization and Computer Graphics IEEE T VIS COMPUT GR Ieee Transactions On Wireless Communications IEEE T WIREL COMMUN Ieee Wireless Communications IEEE WIREL COMMUN Ieee-Acm Transactions On Computational Biology and Bioinformatics IEEE ACM T COMPUT BI Ieee-Acm Transactions On Networking IEEE ACM T NETWORKIeice Transactions On Communications IEICE T COMMUN Ieice Transactions On Information and Systems IEICE T INF SYSTIet Biometrics IET BIOMETRICSIet Computer Vision IET COMPUT VIS Iet Computers and Digital Techniques IET COMPUT DIGIT TEC Iet Information Security IET INFORM SECUR Iet Radar Sonar and Navigation IET RADAR SONAR NAVIet Software IET SOFTWInformatica INFORMATICA-LITHUAN Information and Computation INFORM COMPUT Information and Software Technology INFORM SOFTWARE TECH Information Fusion INFORM FUSION Information Processing Letters INFORM PROCESS LETT Information Retrieval INFORM RETRIEVALInformation Sciences INFORM SCIENCESInformation Systems INFORM SYSTInformation Systems Frontiers INFORM SYST FRONTInformation Systems Management INFORM SYST MANAGEInformation Technology and Control INF TECHNOL CONTROL Information Visualization INFORM VISUAL Informs Journal On Computing INFORMS J COMPUT Integrated Computer-Aided Engineering INTEGR COMPUT-AID E Integration-the Vlsi Journal INTEGRATIONIntelligent Data Analysis INTELL DATA ANALInteracting With Computers INTERACT COMPUT International Arab Journal of Information Technology INT ARAB J INF TECHN International Journal For Numerical Methods in Biomedical Engineering INT J NUMER METH BIO International Journal of Ad Hoc and Ubiquitous Computing INT J AD HOC UBIQ CO International Journal of Approximate Reasoning INT J APPROX REASONInternational Journal of Bio-Inspired Computation INT J BIO-INSPIR COM International Journal of Computational Intelligence Systems INT J COMPUT INT SYS International Journal of Computer Networks and Communications INT J COMPUT NETW CO International Journal of Computers Communications & Control INT J COMPUT COMMUN International Journal of Cooperative Information Systems INT J COOP INF SYSTInternational Journal of Data Mining and Bioinformatics INT J DATA MIN BIOINInternational Journal of Data Warehousing and Mining INT J DATA WAREHOUSInternational Journal of Distributed Sensor Networks INT J DISTRIB SENS NInternational Journal of Foundations of Computer Science INT J FOUND COMPUT S International Journal of General Systems INT J GEN SYST International Journal of High Performance Computing Applications INT J HIGH PERFORM C International Journal of Information Security INT J INF SECUR International Journal of Information Technology & Decision Making INT J INF TECH DECIS International Journal of Machine Learning and Cybernetics INT J MACH LEARN CYB International Journal of Network Management INT J NETW MANAG International Journal of Neural Systems INT J NEURAL SYST International Journal of Parallel Programming INT J PARALLEL PROG International Journal of Pattern Recognition and Artificial Intelligence INT J PATTERN RECOGN International Journal of Satellite Communications and Networking INT J SATELL COMM N International Journal of Sensor Networks INT J SENS NETW International Journal of Software Engineering and Knowledge Engineering INT J SOFTW ENG KNOW International Journal of Uncertainty Fuzziness and Knowledge-Based Systems INT J UNCERTAIN FUZZ International Journal of Unconventional Computing INT J UNCONV COMPUT International Journal of Wavelets Multiresolution and Information Processing INT J WAVELETS MULTI International Journal of Web and Grid Services INT J WEB GRID SERVInternational Journal of Web Services Research INT J WEB SERV RESInternational Journal On Artificial Intelligence Tools INT J ARTIF INTELL T International Journal On Document Analysis and Recognition INT J DOC ANAL RECOG International Journal On Semantic Web and Information Systems INT J SEMANT WEB INFInternet Research INTERNET RESIt Professional IT PROF Journal of Ambient Intelligence and Humanized Computing J AMB INTEL HUM COMP Journal of Ambient Intelligence and Smart Environments J AMB INTEL SMART EN Journal of Applied Logic J APPL LOGIC Journal of Artificial Intelligence Research J ARTIF INTELL RES Journal of Automated Reasoning J AUTOM REASONING Journal of Bioinformatics and Computational Biology J BIOINF COMPUT BIOL Journal of Biomedical Informatics J BIOMED INFORMJournal of Cellular Automata J CELL AUTOMJournal of Cheminformatics J CHEMINFORMATICS Journal of Communications and Networks J COMMUN NETW-S KOR Journal of Communications Technology and Electronics J COMMUN TECHNOL EL+Journal of Computational Analysis and Applications J COMPUT ANAL APPL Journal of Computational Science J COMPUT SCI-NETH Journal of Computer and System Sciences J COMPUT SYST SCI Journal of Computer and Systems Sciences International J COMPUT SYS SC INT+ Journal of Computer Information Systems J COMPUT INFORM SYSTJournal of Computer Science and Technology J COMPUT SCI TECH-CHJournal of Computers J COMPUTJournal of Cryptology J CRYPTOLJournal of Database Management J DATABASE MANAGE Journal of Experimental & Theoretical Artificial Intelligence J EXP THEOR ARTIF IN Journal of Functional Programming J FUNCT PROGRAMJournal of Grid Computing J GRID COMPUTJournal of Heuristics J HEURISTICS Journal of Information Science and Engineering J INF SCI ENGJournal of Information Technology J INF TECHNOLJournal of Intelligent & Fuzzy Systems J INTELL FUZZY SYSTJournal of Intelligent Information Systems J INTELL INF SYST Journal of Internet Technology J INTERNET TECHNOLJournal of Logic and Computation J LOGIC COMPUT Journal of Logical and Algebraic Methods in Programming J LOG ALGEBR METHODS Journal of Machine Learning Research J MACH LEARN RES Journal of Management Information Systems J MANAGE INFORM SYSTJournal of Mathematical Imaging and Vision J MATH IMAGING VISJournal of Molecular Graphics & Modelling J MOL GRAPH MODEL Journal of Multiple-Valued Logic and Soft Computing J MULT-VALUED LOG S Journal of Network and Computer Applications J NETW COMPUT APPLJournal of Network and Systems Management J NETW SYST MANAG Journal of New Music Research J NEW MUSIC RES Journal of Next Generation Information Technology J NEXT GENER INF TEC Journal of Optical Communications and Networking J OPT COMMUN NETW Journal of Organizational and End User Computing J ORGAN END USER COM Journal of Organizational Computing and Electronic Commerce J ORG COMP ELECT COM Journal of Parallel and Distributed Computing J PARALLEL DISTR COM Journal of Real-Time Image Processing J REAL-TIME IMAGE PR Journal of Research and Practice in Information Technology J RES PRACT INF TECH Journal of Software-Evolution and Process J SOFTW-EVOL PROC Journal of Statistical Software J STAT SOFTW Journal of Strategic Information Systems J STRATEGIC INF SYST Journal of Supercomputing J SUPERCOMPUT Journal of Systems and Software J SYST SOFTWAREJournal of Systems Architecture J SYST ARCHITECTJournal of the Acm J ACM Journal of the Association For Information Systems J ASSOC INF SYST Journal of the Institute of Telecommunications Professionals J I TELECOMMUN PROF Journal of Universal Computer Science J UNIVERS COMPUT SCI Journal of Visual Communication and Image Representation J VIS COMMUN IMAGE R Journal of Visual Languages and Computing J VISUAL LANG COMPUT Journal of Visualization J VISUAL-JAPANJournal of Web Engineering J WEB ENGJournal of Web Semantics J WEB SEMANT Journal of Zhejiang University-Science C-Computers & Electronics J ZHEJIANG U-SCI C Journal On Multimodal User Interfaces J MULTIMODAL USER INKnowledge and Information Systems KNOWL INF SYSTKnowledge Engineering Review KNOWL ENG REVKnowledge-Based Systems KNOWL-BASED SYST Ksii Transactions On Internet and Information Systems KSII T INTERNET INF Language Resources and Evaluation LANG RESOUR EVALLogical Methods in Computer Science LOG METH COMPUT SCIMalaysian Journal of Computer Science MALAYS J COMPUT SCI Mathematical and Computer Modelling of Dynamical Systems MATH COMP MODEL DYN Mathematical Modelling of Natural Phenomena MATH MODEL NAT PHENO Mathematical Programming MATH PROGRAM Mathematical Structures in Computer Science MATH STRUCT COMP SCI Medical Image Analysis MED IMAGE ANALMemetic Computing MEMET COMPUT Microprocessors and Microsystems MICROPROCESS MICROSY Minds and Machines MIND MACHMobile Information Systems MOB INF SYSTMobile Networks & Applications MOBILE NETW APPLMultidimensional Systems and Signal Processing MULTIDIM SYST SIGN PMultimedia Systems MULTIMEDIA SYST Multimedia Tools and Applications MULTIMED TOOLS APPLNatural Computing NAT COMPUTNetworks NETWORKSNeural Computation NEURAL COMPUTNeural Network World NEURAL NETW WORLDNeural Networks NEURAL NETWORKSNeural Processing Letters NEURAL PROCESS LETTNeurocomputing NEUROCOMPUTINGNew Generation Computing NEW GENERAT COMPUT New Review of Hypermedia and Multimedia NEW REV HYPERMEDIA M Online Information Review ONLINE INFORM REV Optical Switching and Networking OPT SWITCH NETWOptimization Methods & Software OPTIM METHOD SOFTWParallel Computing PARALLEL COMPUT Peer-To-Peer Networking and Applications PEER PEER NETW APPLPerformance Evaluation PERFORM EVALUATION Personal and Ubiquitous Computing PERS UBIQUIT COMPUTPervasive and Mobile Computing PERVASIVE MOB COMPUTPhotonic Network Communications PHOTONIC NETW COMMUN Presence-Teleoperators and Virtual Environments PRESENCE-TELEOP VIRT Problems of Information Transmission PROBL INFORM TRANSM+Programming and Computer Software PROGRAM COMPUT SOFT+ Rairo-Theoretical Informatics and Applications RAIRO-THEOR INF APPLReal-Time Systems REAL-TIME SYSTRequirements Engineering REQUIR ENGResearch Synthesis Methods RES SYNTH METHODS Romanian Journal of Information Science and Technology ROM J INF SCI TECH Science China-Information Sciences SCI CHINA INFORM SCIScience of Computer Programming SCI COMPUT PROGRAMScientific Programming SCI PROGRAMMING-NETH Security and Communication Networks SECUR COMMUN NETW Siam Journal On Computing SIAM J COMPUTSiam Journal On Imaging Sciences SIAM J IMAGING SCISigmod Record SIGMOD REC Simulation Modelling Practice and Theory SIMUL MODEL PRACT TH Simulation-Transactions of the Society For Modeling and Simulation International SIMUL-T SOC MOD SIMSoft Computing SOFT COMPUTSoftware and Systems Modeling SOFTW SYST MODELSoftware Quality Journal SOFTWARE QUAL J Software Testing Verification & Reliability SOFTW TEST VERIF REL Software-Practice & Experience SOFTWARE PRACT EXPERSpeech Communication SPEECH COMMUNStatistics and Computing STAT COMPUTSwarm Intelligence SWARM INTELL-USTelecommunication Systems TELECOMMUN SYST Theoretical Biology and Medical Modelling THEOR BIOL MED MODEL Theoretical Computer Science THEOR COMPUT SCI Theory and Practice of Logic Programming THEOR PRACT LOG PROG Theory of Computing Systems THEOR COMPUT SYST Transactions On Emerging Telecommunications Technologies T EMERG TELECOMMUN T Universal Access in the Information Society UNIVERSAL ACCESS INFUser Modeling and User-Adapted Interaction USER MODEL USER-ADAPVirtual Reality VIRTUAL REAL-LONDONVisual Computer VISUAL COMPUTVldb Journal VLDB JWiley Interdisciplinary Reviews-Data Mining and Knowledge Discovery WIRES DATA MIN KNOWL Wireless Communications & Mobile Computing WIREL COMMUN MOB COM Wireless Networks WIREL NETW Wireless Personal Communications WIRELESS PERS COMMUN World Wide Web-Internet and Web Information Systems WORLD WIDE WEBISSN EISSN ESI学科名称0360-03001557-7341COMPUTER SCIENCE 1550-48321550-4840COMPUTER SCIENCE 0146-48331943-5819COMPUTER SCIENCE 0362-13401558-1160COMPUTER SCIENCE 1549-63251549-6333COMPUTER SCIENCE 1544-35581544-3965COMPUTER SCIENCE 1544-35661544-3973COMPUTER SCIENCE 1556-46651556-4703COMPUTER SCIENCE 1529-37851557-945X COMPUTER SCIENCE 0734-********-7333COMPUTER SCIENCE 1073-05161557-7325COMPUTER SCIENCE 0362-59151557-4644COMPUTER SCIENCE 1084-43091557-7309COMPUTER SCIENCE 1539-90871558-3465COMPUTER SCIENCE 0730-********-7368COMPUTER SCIENCE 1094-92241557-7406COMPUTER SCIENCE 1046-81881558-2868COMPUTER SCIENCE 2157-69042157-6912COMPUTER SCIENCE 1533-53991557-6051COMPUTER SCIENCE 1556-46811556-472X COMPUTER SCIENCE 0098-35001557-7295COMPUTER SCIENCE 1049-33011558-1195COMPUTER SCIENCE 1551-68571551-6865COMPUTER SCIENCE 0164-09251558-4593COMPUTER SCIENCE 1936-74061936-7414COMPUTER SCIENCE 1550-48591550-4867COMPUTER SCIENCE 1049-331X1557-7392COMPUTER SCIENCE 1553-30771553-3093COMPUTER SCIENCE 1559-11311559-114X COMPUTER SCIENCE 0001-59031432-0525COMPUTER SCIENCE 1551-98991552-0633COMPUTER SCIENCE 1570-87051570-8713COMPUTER SCIENCE 0065-2458null COMPUTER SCIENCE 0965-99781873-5339COMPUTER SCIENCE 1434-84111618-0399COMPUTER SCIENCE 0003-43471958-9395COMPUTER SCIENCE 1869-03271869-0327COMPUTER SCIENCE 1570-58381875-8533COMPUTER SCIENCE 1568-49461872-9681COMPUTER SCIENCE 0004-37021872-7921COMPUTER SCIENCE 0269-28211573-7462COMPUTER SCIENCE 1064-54621530-9185COMPUTER SCIENCE 0928-89101573-7535COMPUTER SCIENCE 1387-25321573-7454COMPUTER SCIENCE 1089-70891538-7305COMPUTER SCIENCE 1367-48031460-2059COMPUTER SCIENCE 1471-21051471-2105COMPUTER SCIENCE 1467-54631477-4054COMPUTER SCIENCE 1867-02021867-0202COMPUTER SCIENCE 1673-5447null COMPUTER SCIENCE 1386-78571573-7543COMPUTER SCIENCE 1546-22181546-2226COMPUTER SCIENCE1526-14921526-1506COMPUTER SCIENCE 1866-99561866-9964COMPUTER SCIENCE 1389-0417null COMPUTER SCIENCE 0001-07821557-7317COMPUTER SCIENCE 1476-92711476-928X COMPUTER SCIENCE 1420-05971573-1499COMPUTER SCIENCE 0891-********-9312COMPUTER SCIENCE 0018-91621558-0814COMPUTER SCIENCE 0167-83961879-2332COMPUTER SCIENCE 1546-42611546-427X COMPUTER SCIENCE 1061-37731099-0542COMPUTER SCIENCE 0140-36641873-703X COMPUTER SCIENCE 0167-70551467-8659COMPUTER SCIENCE 0010-46201460-2067COMPUTER SCIENCE 1477-84241873-6866COMPUTER SCIENCE 0169-26071872-7565COMPUTER SCIENCE 0045-78251879-2138COMPUTER SCIENCE 1025-58421476-8259COMPUTER SCIENCE 0148-92671531-5169COMPUTER SCIENCE 1389-12861872-7069COMPUTER SCIENCE 1820-02141820-0214COMPUTER SCIENCE 0885-23081095-8363COMPUTER SCIENCE 0920-54891872-7018COMPUTER SCIENCE 0925-97241573-7551COMPUTER SCIENCE 0267-6192null COMPUTER SCIENCE 1077-31421090-235X COMPUTER SCIENCE 0010-44851879-2685COMPUTER SCIENCE 0098-13541873-4375COMPUTER SCIENCE 0360-13151873-782X COMPUTER SCIENCE 0045-79061879-0755COMPUTER SCIENCE 0045-79301879-0747COMPUTER SCIENCE 0098-30041873-7803COMPUTER SCIENCE 0097-84931873-7684COMPUTER SCIENCE 0360-83521879-0550COMPUTER SCIENCE 0305-05481873-765X COMPUTER SCIENCE 0167-40481872-6208COMPUTER SCIENCE 0045-79491879-2243COMPUTER SCIENCE 1598-81981598-818X COMPUTER SCIENCE 0168-16991872-7107COMPUTER SCIENCE 0266-352X1873-7633COMPUTER SCIENCE 0010-48251879-0534COMPUTER SCIENCE 0166-36151872-6194COMPUTER SCIENCE 0010-485X1436-5057COMPUTER SCIENCE 1335-9150null COMPUTER SCIENCE 1521-96151558-366X COMPUTER SCIENCE 1532-06261532-0634COMPUTER SCIENCE 0954-********-0494COMPUTER SCIENCE 1383-71331572-9354COMPUTER SCIENCE 1936-24471936-2455COMPUTER SCIENCE 0161-11941558-1586COMPUTER SCIENCE 1574-89362212-392X COMPUTER SCIENCE 0169-023X1872-6933COMPUTER SCIENCE 1384-58101573-756X COMPUTER SCIENCE0167-92361873-5797COMPUTER SCIENCE 0929-55851572-8080COMPUTER SCIENCE 0925-10221573-7586COMPUTER SCIENCE 1742-28761873-202X COMPUTER SCIENCE 0141-93821872-7387COMPUTER SCIENCE 0926-87821573-7578COMPUTER SCIENCE 0178-27701432-0452COMPUTER SCIENCE 1382-32561573-7616COMPUTER SCIENCE 0177-06671435-5663COMPUTER SCIENCE 1751-75751751-7583COMPUTER SCIENCE 1364-81521873-6726COMPUTER SCIENCE 1225-64632233-7326COMPUTER SCIENCE 1687-14991687-1499COMPUTER SCIENCE 0960-085X1476-9344COMPUTER SCIENCE 1176-93431176-9343COMPUTER SCIENCE 1063-65601530-9304COMPUTER SCIENCE 0266-47201468-0394COMPUTER SCIENCE 0934-********-299X COMPUTER SCIENCE 0925-98561572-8102COMPUTER SCIENCE 1554-06691554-0677COMPUTER SCIENCE 1662-52181662-5218COMPUTER SCIENCE 2095-22282095-2236COMPUTER SCIENCE 2095-91842095-9230COMPUTER SCIENCE 0169-29681875-8681COMPUTER SCIENCE 0167-739X1872-7115COMPUTER SCIENCE 1389-25761573-7632COMPUTER SCIENCE 1524-07031524-0711COMPUTER SCIENCE 0737-********-7051COMPUTER SCIENCE 0018-86462151-8556COMPUTER SCIENCE 1389-6911null COMPUTER SCIENCE 1058-61801934-1547COMPUTER SCIENCE 1089-77981558-2558COMPUTER SCIENCE 0163-68041558-1896COMPUTER SCIENCE 1553-877X1553-877X COMPUTER SCIENCE 1556-603X1556-6048COMPUTER SCIENCE 1556-60561556-6064COMPUTER SCIENCE 0272-17161558-1756COMPUTER SCIENCE 2168-2356null COMPUTER SCIENCE 1089-78011941-0131COMPUTER SCIENCE 2168-21942168-2194COMPUTER SCIENCE 0733-********-0008COMPUTER SCIENCE 0272-17321937-4143COMPUTER SCIENCE 1070-986X1941-0166COMPUTER SCIENCE 0890-********-156X COMPUTER SCIENCE 1536-12681558-2590COMPUTER SCIENCE 1540-79931558-4046COMPUTER SCIENCE 0740-74591937-4194COMPUTER SCIENCE 1932-81841937-9234COMPUTER SCIENCE 1949-30451949-3045COMPUTER SCIENCE 1943-06041943-0612COMPUTER SCIENCE 0018-93161557-9611COMPUTER SCIENCE 0090-67781558-0857COMPUTER SCIENCE 1943-068X1943-0698COMPUTER SCIENCE0018-93401557-9956COMPUTER SCIENCE 2168-22672168-2275COMPUTER SCIENCE 1545-59711941-0018COMPUTER SCIENCE 1089-778X1941-0026COMPUTER SCIENCE 1939-14122329-4051COMPUTER SCIENCE 1556-60131556-6021COMPUTER SCIENCE 0018-94481557-9654COMPUTER SCIENCE 1939-13821939-1382COMPUTER SCIENCE 1536-12331558-0660COMPUTER SCIENCE 1520-92101941-0077COMPUTER SCIENCE 2162-237X2162-2388COMPUTER SCIENCE 1045-92191558-2183COMPUTER SCIENCE 1939-13741939-1374COMPUTER SCIENCE 0098-55891939-3520COMPUTER SCIENCE 1077-26261941-0506COMPUTER SCIENCE 1536-12761558-2248COMPUTER SCIENCE 1536-12841558-0687COMPUTER SCIENCE 1545-59631557-9964COMPUTER SCIENCE 1063-66921558-2566COMPUTER SCIENCE 1745-13451745-1345COMPUTER SCIENCE 1745-13611745-1361COMPUTER SCIENCE 2047-49382047-4946COMPUTER SCIENCE 1751-96321751-9640COMPUTER SCIENCE 1751-86011751-861X COMPUTER SCIENCE 1751-87091751-8717COMPUTER SCIENCE 1751-87841751-8792COMPUTER SCIENCE 1751-88061751-8814COMPUTER SCIENCE 0868-49521822-8844COMPUTER SCIENCE 0890-********-2651COMPUTER SCIENCE 0950-58491873-6025COMPUTER SCIENCE 1566-25351872-6305COMPUTER SCIENCE 0020-01901872-6119COMPUTER SCIENCE 1386-45641573-7659COMPUTER SCIENCE 0020-02551872-6291COMPUTER SCIENCE 0306-43791873-6076COMPUTER SCIENCE 1387-33261572-9419COMPUTER SCIENCE 1058-05301934-8703COMPUTER SCIENCE 1392-124X null COMPUTER SCIENCE 1473-87161473-8724COMPUTER SCIENCE 1091-98561526-5528COMPUTER SCIENCE 1069-25091875-8835COMPUTER SCIENCE 0167-92601872-7522COMPUTER SCIENCE 1088-467X1571-4128COMPUTER SCIENCE 0953-********-7951COMPUTER SCIENCE 1683-3198null COMPUTER SCIENCE 2040-79392040-7947COMPUTER SCIENCE 1743-82251743-8233COMPUTER SCIENCE 0888-613X1873-4731COMPUTER SCIENCE 1758-03661758-0374COMPUTER SCIENCE 1875-68911875-6883COMPUTER SCIENCE 0975-********-9322COMPUTER SCIENCE 1841-98361841-9844COMPUTER SCIENCE 0218-84301793-6365COMPUTER SCIENCE。
DARPS 232High precision absolute and relative positionDARPS 232 is a GPS/GLONASS based system which uses simultaneously gathered GPS/GLONASS data from high performance sensors on remote and own vessel to compute distance to target (DT) and bearing to target (BT). Relative position will be availableat short and long distances with a worldwide accuracy of 20 cm andis independent of differential correction data. For computation of absolute position, differential corrections are used. The absolute position is available with a worldwide accuracy of 20 cm in High Precision mode utilising commercial subscription services. In addition the DARPS system also makes use of free-to-air SBAS correction signals such as WAAS, EGNOS and MSAS. These correction signals can be received and used free of charge.Combining GPS and GLONASSAdding GLONASS to GPS improves all aspects of satellite navigation. With more observations available for position calculation, the accuracy, availability and integrity of the system is greatly enhanced when operating in challenging environments.Trustworthy and reliableThe DARPS product has been in the market for 20 years and is recognized as one of the most suitable positioning solutions for shuttle tanker offshore operations. The quality of a combined GPS/ GLONASS system for DP operation has been improved through along and incremental development cycle. DARPS is designed to ensure continuous and reliable operation. New hardware technology tailored for maritime use and advanced modular software design in a networked architecture ensure a robust and stable performance.DP interfaceThrough the years, the DARPS system has been modified and improved to meet the demanding requirements for an accurate and reliable positioning sensor to the DP system. This includes features such as direct target selection by the DP, transfer of gyro information from the DP to the DARPS system and continuous updates of absolute and relative positions to the DP. All data interfaces, such as telegram formats, update rates and communication formats are duly in line with the prevailing DP specifications.Radio communicationData between the two DARPS systems are transferred by UHF transceivers operating in the 450 MHz band, 455 MHz band or 860 MHz band. The data are transmitted using a TDMA protocol, which enables two-way communication between the two systems. UHF frequency configuration flexibility ensures reliable and safe operations in areas with high radio communication activity.Lever arm compensationBuilt-in lever arm compensation enables selection of several measurement points on the vessel. It is possible to establish and correct loading and offloading points both on-board the shuttle tanker and the FPSO/FSU. The selected monitoring points will bethe basis for the distance calculations during relative position mode operation. Heading input is necessary to utilise the built-in lever arm compensation.Real-time situational awarenessA new operator software has been developed in close co-operation with DP operators for the new generation DARPS system. Operators need to assess the quality of their absolute and relative position quickly and efficiently. The primary goal of the HMI is to enable the operator to instantly identify and to react safely to critical situations. Several views tailored for different vessel operation modes are available.System diagnostics made easyDARPS offers a set of graphical views for easy and effective on-board system diagnostics. In addition, sensor data and telegram outputs are automatically logged by the system. A data export tool provides an easy way of exporting data from the system to a USB disk media, either for documentation, post-processing or diagnostics.System verificationReduce the risk of costly downtime by verifying your DARPS system before arriving at the location. A new tool has been developed fora quick verification of the DARPS UHF radios prior to an offshore loading operation. The test will run through all the radios sequentially and indicate if the radio units are operating as required. A redundant DARPS system is required to run the test.HIGH PERFORMANCE POSITION REFERENCE SYSTEM FOR OFFSHORE LOADING DARPS is a DP position reference system tailor made for offshore loading operations. The DARPS system combines high performance sensors for reliable and accurate absolute and relative positioning of two vessels such as a shuttle tanker and a FPSO/FSU.PERFORMANCERTK horizontal accuracy 1 cm + 1.6 ppm RMSRTK vertical accuracy2 cm + 3.2 ppm RMS XP/G2 horizontal accuracy 10 cm, 95 % CEP XP/G2 vertical accuracy 15 cm, 95 % CEPDGPS/DGLONASS position accuracy < 1 m, 95 % CEP, 0.4 m, 1 σSBAS accuracy < 1 m, 95 % CEP, 0.6 m, 1 σVelocity accuracy0.05 m/s, 95 % CEP, 0.2 m/s, 1 σRelative position accuracy 0.2 m, 95 % CEP1Output rate1 HzAll accuracy specifications are based on real-life tests conducted in the North Sea under various conditions. Operation in other locations under different conditions may produce different results.INTERFACESSerial ports 8 isolated ports, 6 configurable between RS-232 and RS-422Ethernet/LAN 4USB 3DATA OUTPUTSMessage formats NMEA 0183 v 3.0, Proprietary Message types ABBDP, ARABB, DPGGA, DTM, GBS, GGA, GLL, GNS, GRS, GSA, GST, GSV, PKNOR, PSKPS, PSKRB, RMC,VBW, VTG, ZDADATA INPUTSDGPS/DGLONASS corrections RTCM-SC104 v 2.2, 2.3, Seastar XP, Seastar G2RTK corrections RTCM-SC104 v 2.3, 3.0, 3.1 and CMR Gyro compass NMEA 0183 HDT, HRC, HDM, EM3000, PSXN10, PSXN 23 and Robertson LR22 BCD format WEIGHTS AND DIMENSIONSDARPS 232 Processing Unit 5.4 kg, 89 mm x 485 mm x 357 mm DARPS HMI Unit 3.8 kg, 44 mm x 485 mm x 330 mm Radio Units 3.0 kg, 44.5 mm x 482 mm x 370 mm GNSS antenna 0.5 kg, 69 mm x 185 mm IALA becon antenna 1 kg, 1000 mmUHF 450 antenna 1.3 kg, 1400 mm, 6 cm max ⌀UHF 860 antenna1.4 kg, 1510 mm1 Requires 4th generation DARPS system on both shuttle tanker and FPSO/FSU.2 Recommended +5 to +40 °C3 Recommended +5 to +40 °CPOWER SPECIFICATIONSDARPS 232 Processing Unit 100 to 240 V AC, 50/60 Hz, max. 60 W DARPS 232 HMI Unit 100 to 240 V AC, 50/60 Hz, max. 40 W Radio Units 100 to 240 V AC, 50/60 Hz, max. 15 W GNSS antenna 5 V DC from Processing Unit IALA beacon antenna 10.2 V DC from Processing UnitENVIRONMENTAL SPECIFICATIONS Operating temperature range DARPS 232 Processing Unit -15 to +55 °C2DARPS 232 HMI Unit -15 to +55 °C3Radio Units 0 to +55 °C GNSS antenna -40 to +85 °C IALA beacon antenna -55 to +55 °C UHF antennas -30 to +70 °CHumidityDARPS 232 Processing Unit Max. 95 % non-condensing DARPS 232 HMI Unit Max. 95 % non-condensing Radio Units Max. 95 % non-condensing GNSS antenna Hermetically sealed IALA beacon antenna Hermetically sealed UHF antennas Hermetically sealedMechanical VibrationIEC 60945/EN 60945Electromagnetic compatibility Compliance to EMCD,immunity/emission IEC 60945/EN 60945Product safetyCompliance to LVD, standard usedIEC 60950/EN 60950PRODUCT STANDARDS IMO regulations MSC.112(73) M SC.113(73) M SC.114(73) M SC.115(73)IEC standards IEC 61162-1 IEC 60945 IEC 61108-1UKOOA compliantSpecifications subject to change without any further notice.KONGSBERG SEATEXSwitchboard: +47 73 54 55 00Global support 24/7: +47 33 03 24 07E-mailsales:****************************.com E-mailsupport:******************************.com/maritimeF e b r u a r y 2021FEATURESIALA antennaGPS/Glonass。
Knowledge Engineering:Principles and MethodsRudi Studer1, V. Richard Benjamins2, and Dieter Fensel11Institute AIFB, University of Karlsruhe, 76128 Karlsruhe, Germany{studer, fensel}@aifb.uni-karlsruhe.dehttp://www.aifb.uni-karlsruhe.de2Artificial Intelligence Research Institute (IIIA),Spanish Council for Scientific Research (CSIC), Campus UAB,08193 Bellaterra, Barcelona, Spainrichard@iiia.csic.es, http://www.iiia.csic.es/~richard2Dept. of Social Science Informatics (SWI),richard@swi.psy.uva.nl, http://www.swi.psy.uva.nl/usr/richard/home.htmlAbstractThis paper gives an overview about the development of the field of Knowledge Engineering over the last 15 years. We discuss the paradigm shift from a transfer view to a modeling view and describe two approaches which considerably shaped research in Knowledge Engineering: Role-limiting Methods and Generic Tasks. To illustrate various concepts and methods which evolved in the last years we describe three modeling frameworks: CommonKADS, MIKE, and PROTÉGÉ-II. This description is supplemented by discussing some important methodological developments in more detail: specification languages for knowledge-based systems, problem-solving methods, and ontologies. We conclude with outlining the relationship of Knowledge Engineering to Software Engineering, Information Integration and Knowledge Management.Key WordsKnowledge Engineering, Knowledge Acquisition, Problem-Solving Method, Ontology, Information Integration1IntroductionIn earlier days research in Artificial Intelligence (AI) was focused on the development offormalisms, inference mechanisms and tools to operationalize Knowledge-based Systems (KBS). Typically, the development efforts were restricted to the realization of small KBSs in order to study the feasibility of the different approaches.Though these studies offered rather promising results, the transfer of this technology into commercial use in order to build large KBSs failed in many cases. The situation was directly comparable to a similar situation in the construction of traditional software systems, called …software crisis“ in the late sixties: the means to develop small academic prototypes did not scale up to the design and maintenance of large, long living commercial systems. In the same way as the software crisis resulted in the establishment of the discipline Software Engineering the unsatisfactory situation in constructing KBSs made clear the need for more methodological approaches.So the goal of the new discipline Knowledge Engineering (KE) is similar to that of Software Engineering: turning the process of constructing KBSs from an art into an engineering discipline. This requires the analysis of the building and maintenance process itself and the development of appropriate methods, languages, and tools specialized for developing KBSs. Subsequently, we will first give an overview of some important historical developments in KE: special emphasis will be put on the paradigm shift from the so-called transfer approach to the so-called modeling approach. This paradigm shift is sometimes also considered as the transfer from first generation expert systems to second generation expert systems [43]. Based on this discussion Section 2 will be concluded by describing two prominent developments in the late eighties:Role-limiting Methods [99] and Generic Tasks [36]. In Section 3 we will present some modeling frameworks which have been developed in recent years: CommonKADS [129], MIKE [6], and PROTÈGÈ-II [123]. Section 4 gives a short overview of specification languages for KBSs. Problem-solving methods have been a major research topic in KE for the last decade. Basic characteristics of (libraries of) problem-solving methods are described in Section 5. Ontologies, which gained a lot of importance during the last years are discussed in Section 6. The paper concludes with a discussion of current developments in KE and their relationships to other disciplines.In KE much effort has also been put in developing methods and supporting tools for knowledge elicitation (compare [48]). E.g. in the VITAL approach [130] a collection of elicitation tools, like e.g. repertory grids (see [65], [83]), are offered for supporting the elicitation of domain knowledge (compare also [49]). However, a discussion of the various elicitation methods is beyond the scope of this paper.2Historical Roots2.1Basic NotionsIn this section we will first discuss some main principles which characterize the development of KE from the very beginning.Knowledge Engineering as a Transfer Process…This transfer and transformation of problem-solving expertise from a knowledge source to a program is the heart of the expert-system development process.” [81]In the early eighties the development of a KBS has been seen as a transfer process of humanknowledge into an implemented knowledge base. This transfer was based on the assumption that the knowledge which is required by the KBS already exists and just has to be collected and implemented. Most often, the required knowledge was obtained by interviewing experts on how they solve specific tasks [108]. Typically, this knowledge was implemented in some kind of production rules which were executed by an associated rule interpreter. However, a careful analysis of the various rule knowledge bases showed that the rather simple representation formalism of production rules did not support an adequate representation of different types of knowledge [38]: e.g. in the MYCIN knowledge base [44] strategic knowledge about the order in which goals should be achieved (e.g. “consider common causes of a disease first“) is mixed up with domain specific knowledge about for example causes for a specific disease. This mixture of knowledge types, together with the lack of adequate justifications of the different rules, makes the maintenance of such knowledge bases very difficult and time consuming. Therefore, this transfer approach was only feasible for the development of small prototypical systems, but it failed to produce large, reliable and maintainable knowledge bases.Furthermore, it was recognized that the assumption of the transfer approach, that is that knowledge acquisition is the collection of already existing knowledge elements, was wrong due to the important role of tacit knowledge for an expert’s problem-solving capabilities. These deficiencies resulted in a paradigm shift from the transfer approach to the modeling approach.Knowledge Engineering as a Modeling ProcessNowadays there exists an overall consensus that the process of building a KBS may be seen as a modeling activity. Building a KBS means building a computer model with the aim of realizing problem-solving capabilities comparable to a domain expert. It is not intended to create a cognitive adequate model, i.e. to simulate the cognitive processes of an expert in general, but to create a model which offers similar results in problem-solving for problems in the area of concern. While the expert may consciously articulate some parts of his or her knowledge, he or she will not be aware of a significant part of this knowledge since it is hidden in his or her skills. This knowledge is not directly accessible, but has to be built up and structured during the knowledge acquisition phase. Therefore this knowledge acquisition process is no longer seen as a transfer of knowledge into an appropriate computer representation, but as a model construction process ([41], [106]).This modeling view of the building process of a KBS has the following consequences:•Like every model, such a model is only an approximation of the reality. In principle, the modeling process is infinite, because it is an incessant activity with the aim of approximating the intended behaviour.•The modeling process is a cyclic process. New observations may lead to a refinement, modification, or completion of the already built-up model. On the other side, the model may guide the further acquisition of knowledge.•The modeling process is dependent on the subjective interpretations of the knowledge engineer. Therefore this process is typically faulty and an evaluation of the model with respect to reality is indispensable for the creation of an adequate model. According to this feedback loop, the model must therefore be revisable in every stage of the modeling process.Problem Solving MethodsIn [39] Clancey reported on the analysis of a set of first generation expert systems developed to solve different tasks. Though they were realized using different representation formalisms (e.g. production rules, frames, LISP), he discovered a common problem solving behaviour.Clancey was able to abstract this common behaviour to a generic inference pattern called Heuristic Classification , which describes the problem-solving behaviour of these systems on an abstract level, the so called Knowledge Level [113]. This knowledge level allows to describe reasoning in terms of goals to be achieved, actions necessary to achieve these goals and knowledge needed to perform these actions. A knowledge-level description of a problem-solving process abstracts from details concerned with the implementation of the reasoning process and results in the notion of a Problem-Solving Method (PSM).A PSM may be characterized as follows (compare [20]):• A PSM specifies which inference actions have to be carried out for solving a given task.• A PSM determines the sequence in which these actions have to be activated.•In addition, so-called knowledge roles determine which role the domain knowledge plays in each inference action. These knowledge roles define a domain independent generic terminology.When considering the PSM Heuristic Classification in some more detail (Figure 1) we can identify the three basic inference actions abstract ,heuristic match , and refine . Furthermore,four knowledge roles are defined:observables ,abstract observables ,solution abstractions ,and solutions . It is important to see that such a description of a PSM is given in a generic way.Thus the reuse of such a PSM in different domains is made possible. When considering a medical domain, an observable like …410 C“ may be abstracted to …high temperature“ by the inference action abstract . This abstracted observable may be matched to a solution abstraction, e.g. …infection“, and finally the solution abstraction may be hierarchically refined to a solution, e.g. the disease …influenca“.In the meantime various PSMs have been identified, like e.g.Cover-and-Differentiate for solving diagnostic tasks [99] or Propose-and-Revise [100] for parametric design tasks.PSMs may be exploited in the knowledge engineering process in different ways:Fig. 1 The Problem-Solving Method Heuristic Classificationroleinference action•PSMs contain inference actions which need specific knowledge in order to perform their task. For instance,Heuristic Classification needs a hierarchically structured model of observables and solutions for the inference actions abstract and refine, respectively.So a PSM may be used as a guideline to acquire static domain knowledge.• A PSM allows to describe the main rationale of the reasoning process of a KBS which supports the validation of the KBS, because the expert is able to understand the problem solving process. In addition, this abstract description may be used during the problem-solving process itself for explanation facilities.•Since PSMs may be reused for developing different KBSs, a library of PSMs can be exploited for constructing KBSs from reusable components.The concept of PSMs has strongly stimulated research in KE and thus has influenced many approaches in this area. A more detailed discussion of PSMs is given in Section 5.2.2Specific ApproachesDuring the eighties two main approaches evolved which had significant influence on the development of modeling approaches in KE: Role-Limiting Methods and Generic Tasks. Role-Limiting MethodsRole-Limiting Methods (RLM) ([99], [102]) have been one of the first attempts to support the development of KBSs by exploiting the notion of a reusable problem-solving method. The RLM approach may be characterized as a shell approach. Such a shell comes with an implementation of a specific PSM and thus can only be used to solve a type of tasks for which the PSM is appropriate. The given PSM also defines the generic roles that knowledge can play during the problem-solving process and it completely fixes the knowledge representation for the roles such that the expert only has to instantiate the generic concepts and relationships, which are defined by these roles.Let us consider as an example the PSM Heuristic Classification (see Figure 1). A RLM based on Heuristic Classification offers a role observables to the expert. Using that role the expert (i) has to specify which domain specific concept corresponds to that role, e.g. …patient data”(see Figure 4), and (ii) has to provide domain instances for that concept, e.g. concrete facts about patients. It is important to see that the kind of knowledge, which is used by the RLM, is predefined. Therefore, the acquisition of the required domain specific instances may be supported by (graphical) interfaces which are custom-tailored for the given PSM.In the following we will discuss one RLM in some more detail: SALT ([100], [102]) which is used for solving constructive tasks.Then we will outline a generalization of RLMs to so-called Configurable RLMs.SALT is a RLM for building KBSs which use the PSM Propose-and-Revise. Thus KBSs may be constructed for solving specific types of design tasks, e.g. parametric design tasks. The basic inference actions that Propose-and-Revise is composed of, may be characterized as follows:•extend a partial design by proposing a value for a design parameter not yet computed,•determine whether all computed parameters fulfil the relevant constraints, and•apply fixes to remove constraint violations.In essence three generic roles may be identified for Propose-and-Revise ([100]):•…design-extensions” refer to knowledge for proposing a new value for a design parameter,•…constraints” provide knowledge restricting the admissible values for parameters, and •…fixes” make potential remedies available for specific constraint violations.From this characterization of the PSM Propose-and-Revise, one can easily see that the PSM is described in generic, domain-independent terms. Thus the PSM may be used for solving design tasks in different domains by specifying the required domain knowledge for the different predefined generic knowledge roles.E.g. when SALT was used for building the VT-system [101], a KBS for configuring elevators, the domain expert used the form-oriented user interface of SALT for entering domain specific design extensions (see Figure 2). That is, the generic terminology of the knowledge roles, which is defined by object and relation types, is instantiated with VT specific instances.1Name:CAR-JAMB-RETURN2Precondition:DOOR-OPENING = CENTER3Procedure:CALCULATION4Formula:[PLATFORM-WIDTH -OPENING-WIDTH] / 25Justification:CENTER-OPENING DOORS LOOKBEST WHEN CENTERED ONPLATFORM.(the value of the design parameter CAR-JUMB-RETURN iscalculated according to the formula - in case the preconditionis fulfilled; the justification gives a description why thisparameter value is preferred over other values (example takenfrom [100]))Fig. 2 Design Extension Knowledge for VTOn the one hand, the predefined knowledge roles and thus the predefined structure of the knowledge base may be used as a guideline for the knowledge acquisition process: it is clearly specified what kind of knowledge has to be provided by the domain expert. On the other hand, in most real-life situations the problem arises of how to determine whether a specific task may be solved by a given RLM. Such task analysis is still a crucial problem, since up to now there does not exist a well-defined collection of features for characterizing a domain task in a way which would allow a straightforward mapping to appropriate RLMs. Moreover, RLMs have a fixed structure and do not provide a good basis when a particular task can only be solved by a combination of several PSMs.In order to overcome this inflexibility of RLMs, the concept of configurable RLMs has been proposed.Configurable Role-Limiting Methods (CRLMs) as discussed in [121] exploit the idea that a complex PSM may be decomposed into several subtasks where each of these subtasks may be solved by different methods (see Section 5). In [121], various PSMs for solving classification tasks, like Heuristic Classification or Set-covering Classification, have been analysed with respect to common subtasks. This analysis resulted in the identification ofshared subtasks like …data abstraction” or …hypothesis generation and test”. Within the CRLM framework a predefined set of different methods are offered for solving each of these subtasks. Thus a PSM may be configured by selecting a method for each of the identified subtasks. In that way the CRLM approach provides means for configuring the shell for different types of tasks. It should be noted that each method offered for solving a specific subtask, has to meet the knowledge role specifications that are predetermined for the CRLM shell, i.e. the CRLM shell comes with a fixed scheme of knowledge types. As a consequence, the introduction of a new method into the shell typically involves the modification and/or extension of the current scheme of knowledge types [121]. Having a fixed scheme of knowledge types and predefined communication paths between the various components is an important restriction distinguishing the CRLM framework from more flexible configuration approaches such as CommonKADS (see Section 3).It should be clear that the introduction of such flexibility into the RLM approach removes one of its disadvantages while still exploiting the advantage of having a fixed scheme of knowledge types, which build the basis for generating effective knowledge-acquisition tools. On the other hand, configuring a CRLM shell increases the burden for the system developer since he has to have the knowledge and the ability to configure the system in the right way. Generic Task and Task StructuresIn the early eighties the analysis and construction of various KBSs for diagnostic and design tasks evolved gradually into the notion of a Generic Task (GT) [36]. GTs like Hierarchical Classification or State Abstraction are building blocks which can be reused for the construction of different KBSs.The basic idea of GTs may be characterized as follows (see [36]):• A GT is associated with a generic description of its input and output.• A GT comes with a fixed scheme of knowledge types specifying the structure of domain knowledge needed to solve a task.• A GT includes a fixed problem-solving strategy specifying the inference steps the strategy is composed of and the sequence in which these steps have to be carried out. The GT approach is based on the strong interaction problem hypothesis which states that the structure and representation of domain knowledge is completely determined by its use [33]. Therefore, a GT comes with both, a fixed problem-solving strategy and a fixed collection of knowledge structures.Since a GT fixes the type of knowledge which is needed to solve the associated task, a GT provides a task specific vocabulary which can be exploited to guide the knowledge acquisition process. Furthermore, by offering an executable shell for a GT, called a task specific architecture, the implementation of a specific KBS could be considered as the instantiation of the predefined knowledge types by domain specific terms (compare [34]). On a rather pragmatic basis several GTs have been identified including Hierarchical Classification,Abductive Assembly and Hypothesis Matching. This initial collection of GTs was considered as a starting point for building up an extended collection covering a wide range of relevant tasks.However, when analyzed in more detail two main disadvantages of the GT approach have been identified (see [37]):•The notion of task is conflated with the notion of the PSM used to solve the task, sinceeach GT included a predetermined problem-solving strategy.•The complexity of the proposed GTs was very different, i.e. it remained open what the appropriate level of granularity for the building blocks should be.Based on this insight into the disadvantages of the notion of a GT, the so-called Task Structure approach was proposed [37]. The Task Structure approach makes a clear distinction between a task, which is used to refer to a type of problem, and a method, which is a way to accomplish a task. In that way a task structure may be defined as follows (see Figure 3): a task is associated with a set of alternative methods suitable for solving the task. Each method may be decomposed into several subtasks. The decomposition structure is refined to a level where elementary subtasks are introduced which can directly be solved by using available knowledge.As we will see in the following sections, the basic notion of task and (problem-solving)method, and their embedding into a task-method-decomposition structure are concepts which are nowadays shared among most of the knowledge engineering methodologies.3Modeling FrameworksIn this section we will describe three modeling frameworks which address various aspects of model-based KE approaches: CommonKADS [129] is prominent for having defined the structure of the Expertise Model, MIKE [6] puts emphasis on a formal and executable specification of the Expertise Model as the result of the knowledge acquisition phase, and PROTÉGÉ-II [51] exploits the notion of ontologies.It should be clear that there exist further approaches which are well known in the KE community, like e.g VITAL [130], Commet [136], and EXPECT [72]. However, a discussion of all these approaches is beyond the scope of this paper.Fig. 3 Sample Task Structure for DiagnosisTaskProblem-Solving MethodSubtasksProblem-Solving MethodTask / Subtasks3.1The CommonKADS ApproachA prominent knowledge engineering approach is KADS[128] and its further development to CommonKADS [129]. A basic characteristic of KADS is the construction of a collection of models, where each model captures specific aspects of the KBS to be developed as well as of its environment. In CommonKADS the Organization Model, the Task Model, the Agent Model, the Communication Model, the Expertise Model and the Design Model are distinguished. Whereas the first four models aim at modeling the organizational environment the KBS will operate in, as well as the tasks that are performed in the organization, the expertise and design model describe (non-)functional aspects of the KBS under development. Subsequently, we will briefly discuss each of these models and then provide a detailed description of the Expertise Model:•Within the Organization Model the organizational structure is described together with a specification of the functions which are performed by each organizational unit.Furthermore, the deficiencies of the current business processes, as well as opportunities to improve these processes by introducing KBSs, are identified.•The Task Model provides a hierarchical description of the tasks which are performed in the organizational unit in which the KBS will be installed. This includes a specification of which agents are assigned to the different tasks.•The Agent Model specifies the capabilities of each agent involved in the execution of the tasks at hand. In general, an agent can be a human or some kind of software system, e.g.a KBS.•Within the Communication Model the various interactions between the different agents are specified. Among others, it specifies which type of information is exchanged between the agents and which agent is initiating the interaction.A major contribution of the KADS approach is its proposal for structuring the Expertise Model, which distinguishes three different types of knowledge required to solve a particular task. Basically, the three different types correspond to a static view, a functional view and a dynamic view of the KBS to be built (see in Figure 4 respectively “domain layer“, “inference layer“ and “task layer“):•Domain layer : At the domain layer all the domain specific knowledge is modeled which is needed to solve the task at hand. This includes a conceptualization of the domain in a domain ontology (see Section 6), and a declarative theory of the required domain knowledge. One objective for structuring the domain layer is to model it as reusable as possible for solving different tasks.•Inference layer : At the inference layer the reasoning process of the KBS is specified by exploiting the notion of a PSM. The inference layer describes the inference actions the generic PSM is composed of as well as the roles , which are played by the domain knowledge within the PSM. The dependencies between inference actions and roles are specified in what is called an inference structure. Furthermore, the notion of roles provides a domain independent view on the domain knowledge. In Figure 4 (middle part) we see the inference structure for the PSM Heuristic Classification . Among others we can see that …patient data” plays the role of …observables” within the inference structure of Heuristic Classification .•Task layer : The task layer provides a decomposition of tasks into subtasks and inference actions including a goal specification for each task, and a specification of how theseFig. 4 Expertise Model for medical diagnosis (simplified CML notation)goals are achieved. The task layer also provides means for specifying the control over the subtasks and inference actions, which are defined at the inference layer.Two types of languages are offered to describe an Expertise Model: CML (Conceptual Modeling Language) [127], which is a semi-formal language with a graphical notation, and (ML)2 [79], which is a formal specification language based on first order predicate logic, meta-logic and dynamic logic (see Section 4). Whereas CML is oriented towards providing a communication basis between the knowledge engineer and the domain expert, (ML)2 is oriented towards formalizing the Expertise Model.The clear separation of the domain specific knowledge from the generic description of the PSM at the inference and task layer enables in principle two kinds of reuse: on the one hand, a domain layer description may be reused for solving different tasks by different PSMs, on the other hand, a given PSM may be reused in a different domain by defining a new view to another domain layer. This reuse approach is a weakening of the strong interaction problem hypothesis [33] which was addressed in the GT approach (see Section 2). In [129] the notion of a relative interaction hypothesis is defined to indicate that some kind of dependency exists between the structure of the domain knowledge and the type of task which should be solved. To achieve a flexible adaptation of the domain layer to a new task environment, the notion of layered ontologies is proposed:Task and PSM ontologies may be defined as viewpoints on an underlying domain ontology.Within CommonKADS a library of reusable and configurable components, which can be used to build up an Expertise Model, has been defined [29]. A more detailed discussion of PSM libraries is given in Section 5.In essence, the Expertise Model and the Communication Model capture the functional requirements for the target system. Based on these requirements the Design Model is developed, which specifies among others the system architecture and the computational mechanisms for realizing the inference actions. KADS aims at achieving a structure-preserving design, i.e. the structure of the Design Model should reflect the structure of the Expertise Model as much as possible [129].All the development activities, which result in a stepwise construction of the different models, are embedded in a cyclic and risk-driven life cycle model similar to Boehm’s spiral model [21].The basic structure of the expertise model has some similarities with the data, functional, and control view of a system as known from software engineering. However, a major difference may be seen between an inference layer and a typical data-flow diagram (compare [155]): Whereas an inference layer is specified in generic terms and provides - via roles and domain views - a flexible connection to the data described at the domain layer, a data-flow diagram is completely specified in domain specific terms. Moreover, the data dictionary does not correspond to the domain layer, since the domain layer may provide a complete model of the domain at hand which is only partially used by the inference layer, whereas the data dictionary is describing exactly those data which are used to specify the data flow within the data flow diagram (see also [54]).3.2The MIKE ApproachThe MIKE approach (Model-based and Incremental Knowledge Engineering) (cf. [6], [7])。
沙利文名词解释(二)沙利文名词解释1. 沙利文(Sullivan)•解释:沙利文是一种智能机器人,由OpenAI公司开发。
它是一种语言模型,具备理解和生成人类语言的能力。
通过深度学习算法,沙利文可以根据输入的文本进行回复和生成文章,可应用于自然语言处理、智能对话等领域。
•示例:在智能客服系统中,用户向沙利文提问问题,沙利文通过分析问题内容并学习相关知识后,给出准确的回答。
2. 语言模型(Language Model)•解释:语言模型是一种用于计算和预测文本序列的统计模型。
它可以基于历史的语言数据,学习到词语之间的概率分布关系,并根据这些关系生成新的文本。
语言模型常用于语音识别、机器翻译、智能对话等自然语言处理任务中。
•示例:语言模型可以通过统计分析大量英文文章,学习到词语的概率分布关系,并根据这些关系生成新的句子,如生成句子“今天天气很好”,“他正在上大学”。
3. 深度学习(Deep Learning)•解释:深度学习是一种机器学习技术,通过模拟人脑神经网络的结构和工作机制,实现对大规模数据进行学习和分析。
深度学习主要由多层神经网络构成,通过多次迭代训练,可以自动从数据中提取特征和规律,并进行高效的模式识别和预测。
•示例:深度学习在图像识别领域取得了重要的突破,通过训练深度卷积神经网络,可以高准确率地识别图像中的物体、场景等。
4. 自然语言处理(Natural Language Processing)•解释:自然语言处理是一种人工智能技术,用于理解和处理人类语言。
它涉及文本预处理、语义解析、情感分析、机器翻译等任务。
自然语言处理技术可以使计算机能够理解、分析和生成自然语言文本,以实现语音识别、智能对话等应用。
•示例:自然语言处理技术可以通过分析用户提问的问题,识别出问题的意图,并给出相应的回答,如智能语音助手能够根据用户的指令,完成查询、调整设备等操作。
5. 智能对话(Intelligent Dialogue)•解释:智能对话是一种通过人工智能技术实现的、与机器进行自然语言交流的方式。
1.What is object technology? What do you perceive as object technology’s strength? It’s weakness?OOT is such a technology that facing the objective world and the question realm and using the generally thinking way of human-beings to acknowledge the nature world to describe some things.OOT fit the thinking way of human-beings and easy to protect and functions’ addition and decrease are also become more convenient. And OOT’s reusing is more strengthen.weakness2. What is UML? List at least three benefits of developing with UML.UML(Unified Modeling Language)is used to proceeding the visual model of software dense system.(1)UML can help to express things exactly.(2)UML can help programmer to write a better code.(3)UML can accelerate the procedure’s development.3.What process characteristic best fit the UML? Describe each characteristic.4.What is a use-case driven process? What is use-case? What are the benefits of use case?It is the use-case become a guidance of program.Use-case is a description of system functions.Use-case can help us to get a general impression of the determined system.5.What is system’s architecture? What is an architecture-centric Process?System’s architecture is an overall construction of a system, it include the concept, the requirements and all of the detail in implementing the project. The architecture-centric process is a process that exploit a software use the system’s architecture.6.What is iteration? What are the benefits of Iterative Development?Iteration is a way of exploiting the software that finishing the software in several steps, and it need the customer present his advices after every step in order to ensure the product can fit to the requirements of the customer’s. Iteration can ensure a lower risk in a large project.7.What are the basic principles of OO technology? Describe each in detail.Abstraction, it report those important properties connect to the applications.Encapsulation, it can cover details of implementation and is the basis of the modularity.Modularity, it break complex part into simple piecesHierarchy, it provides a method that can let the son class to get data from father class.8.What is use case model? Which artifacts can be included in a use case model?9.List three types of relationships existed between different use cases and give examples.Generalization, Include, Extend.Generalization, apples and bananas can be generalized as fruit.Include, the banana peel is included in the banana.Extend, we can eat the banana, but we can also smash it and mixed it with yogurt and drink it, drinking is an extension.10.Explain the following diagram and their elements with examples.1) Use case diagram 2) Activity diagram 3) Sequence diagram 4) Collaboration diagram5) Class diagram 6) state chart diagram 7) Deployment diagram1)2)3)4)5)6)7)11.Describe the similarities and differences between the sequence diagram and collaborationdiagram.They are both interactive diagram, but collaboration diagram don’t care about when the information be transferred.12.Define the different relationships in class diagram: dependency, association, aggregation,composition, generalization.Dependency, is a connection during two classes, one class depend another class.Association, it let a class acquire another class’s functions and attributes.Aggregation, it is the association but those two classes are in different levels, one is entity but the other one is part.Composition, it is a kind of aggregation, it demands the object that represent the entity in responsible of the life cycle of the object that represent the part.Generalization, it represents the hierarchy between two classes.13.What is a node in deployment diagram? List two different types of nodes.Node in deployment diagram always represent a device .14.Describe the extensibility mechanisms of UML.15.What is the function of Stereotypes?Give two examples of stereotypes.16.Explain the six best practices of software engineering.1)Iteration 2)Manage requirements 3)Module-basis architecture 4)visualization modeling5) software quality’s confirmation 6)Control the changes of software.17.What is RUP? How many phases are there in RUP? Describe each phase’s purpose andmilestone.It is a programming exploitation methodology which is OOT and web-basis.Inception, Elaboration, Construction, TransitionInception: Constructing the business cases of system and confirm the edge of the project.Lifecycle objective.Elaboration: Analysis the problem domain.Lifecycle architecture.Construction: Product’s exploitation.Initial operation.Transition: Ensuring the software is usable to the customer.Product release. and briefly describe the “4+1”views of architecture.Ans:Which of the four views are:Logical View which is the logical relationship around the objects,Process View which is the view that show the actions of the objects or software actions,Deployment View which is to show the relatonship between the module of the objects and Implementation View which is the software implementations.And the one view can be Use-Case View.19.What is the difference between analysis and design?The analysis focus on understanding of de problem,but the design focus on the understanding of the solution.20.Please describe the whole process of OO analysis and design with UML.Ans:1.Build the requirement model-the plan for the reqiurement2.Build the basic model-Class diagram3.Build the assistant diagram4.Design the protocol of the model5.Prototype Development21.What is a layered architecture? Give examples of typical layers.Ans:A layered architecture can be descript as the “separation of responsibility which is to say that each layer is responsible for a finite amount of work.For instance,a company may has its enterprise architecture.The layers of the manager and the layers of the employees.They have the responsibilities themselves and they have their own layers.22.What are analysis mechanisms? What are design mechanisms? Give examples.Ans:Analysis mechanisms can be a process which may run through the whole analysis.And so does the design mechanisms.For instance,a analysis mechanisms may contains Auditing, Communication and so on.23.What is an analysis class? Name and describe the three analysis stereotypes. Give examples. Boundary Classes: Behavior that involves communication with an actorEntity Classes: Behavior that involves the data encapsulated within the abstractionControl Classes: Behavior specific to a use case or part of a very important flow of events24.What is Use-case realization? What‘s your understandings about the benefit of the use-caserealization structure.Ans:The Use-case realization is a method to realize the problem that we should analyse.The use-case realization structure helps to organize the model elements needed to realize the use cases in the design model.25.Describe the steps occurred in the use-case analysis.Ans:It may contain five steps: (1)Identify Use Cases,(2)Indentify Domain Class and relationships,(3)Define the System Sequence Diagram for each use case,(4)Produce an operation,(5)Draw a sequence diagram for each use case.26.What’s the package, and why we need package?Ans:Package is a universal mechanism that organize other elements of the models together.Why we need?If a system has a lot of structures and we have to know more about the structures,then we should point to the so many elements that the systems or the structureshave.And at that time we can find that this may big a complex and hard work.So the package has been developed for this. Package is a universal mechanism that organize other elements of the models together.So we can analyse the system from the bigger layers instead of the great number of the element.27.What is a subsystem? What is an interface? How does a subsystem differ from a package? Ans: A subsystem is a coherent and somewhat independent component of a larger system.It is an element of the model,and it contains the semantics of the packages and the classes.An interface can be an operation about the subsystem.A subsystem realizes one or more interfaces that define its behavior.28.What is the purpose of describing the run-time architecture? How to model the process view? Ans:Describing the run-time architecture’s purpose is:Analyze concurrency requirements,Identify processes and threads,Identify process lifecycles, Map processes onto the implementation and Distribute model elements amongProcesses.The Process View is an “architecturally significant” slice of theprocesses and threads of the Design Model.Processes can be modeled using:1. Active classes (Class Diagrams) and Objects(Interaction Diagrams)ponents (Component Diagrams)29.What is the purpose of describing the distribution? How to model the deployment view? Ans:The purpose is to Reduce processor load.For the Special processing requirements,Scaling concerns,Economic concerns and Distributed access to the system.The Deployment View is an “architecturally significant” slice of the Deployment Model.The deployment view will contain nodes and connections.Connection lines are used to connect the nodes that will be Physical run-time computational resource,Processor node and Device node.And connections may contain Communication mechanism,Physical medium and Software protocol30.Describe the 3 typical distribution patterns, C/S , B/Sand P2P.Ans:C/S:Client/Server, in network connections pattern, besides coordinated net, but also has another form network, namely client/server net, Client/Server. In the client/server network, the server is the network core, but the client is the network foundation, the client dependence server obtains the network resource which needs, but the server provides the network for the client to resources.B/S: Browser/Server,is called as Browser/Server patterns.It is developing as the development of Internet,it is improved from the C/S.P2P: Peer-to-peer network. According to the network in the shared resource way's difference, the local area network has two kind of configurations of organization: One kind is the peer-to-peer network (), another kind is the workstation/server structure. Between peer-to-peer network's computer may correspond mutually and the shared resource (document, peripheral device and so on); But in the workstation/server structure's network may the shared resource place on special purpose computer - server (server), between workstation not mutually direct shared resource. 31.What is the difference between the process models of agile and RUP?Ans: Rational Unified Process is a whole software process,but the process models of agile may bea process in an Architecture or in part of a software.That is to say the RUP may contain the process models of agile.。
System Modeling and Simulation System modeling and simulation play a crucial role in various fields such as engineering, business, and science. It involves creating a simplified representation of a system in order to analyze its behavior and make predictions. This process allows for better understanding of complex systems and helps in making informed decisions. However, there are several challenges and issues that need to be addressed when it comes to system modeling and simulation. One of the main problems with system modeling and simulation is the accuracy of the model. Creating a model that accurately represents the real-world system can be a daunting task. It requires a deep understanding of the system and its components, as well as the ability to translate this knowledge into a mathematical or computational model. Inaccurate models can lead to misleading results and flawed predictions, which can have serious consequences in fields such as engineering and healthcare. Another challenge is the validation of the model. Once a model is created, it needs to be validated to ensure that it accurately represents thereal-world system. This involves comparing the model's predictions with actual data and making adjustments as necessary. Validation is a time-consuming and complex process that requires a deep understanding of the system and its behavior. Without proper validation, the model's predictions cannot be trusted, which undermines the entire purpose of modeling and simulation. Furthermore, there is the issue of scalability. Many real-world systems are incredibly complex and involve a large number of components and interactions. Creating a model that accurately represents such systems can be extremely challenging, and running simulations on these models can be computationally intensive. As a result, scalability becomes a major concern in system modeling and simulation. It is important to develop techniques and tools that can handle the complexity and size of real-world systems without sacrificing accuracy and efficiency. In addition, there is the problem of uncertainty. Many real-world systems are subject to various sources of uncertainty, such as random events, measurement errors, and incomplete information. Incorporating uncertainty into models and simulations is a difficult task that requires a deep understanding of probability theory and statistics. Failure to properly account for uncertainty can lead to unreliablepredictions and decisions, which can have serious consequences in fields such as finance and environmental management. Moreover, there is the challenge of interdisciplinary collaboration. System modeling and simulation often require expertise from multiple disciplines, such as mathematics, computer science, and engineering. Bringing together experts from different fields and integrating their knowledge can be a complex and time-consuming process. Effective collaboration is essential for creating accurate and reliable models, but it requires overcoming communication barriers and aligning different perspectives and methodologies. Lastly, there is the issue of ethical considerations. System modeling and simulation can have far-reaching implications, especially in fields such as healthcare, finance, and environmental management. The predictions and decisions made based on models can have significant impacts on people's lives and the environment. It is important to consider the ethical implications of modeling and simulation, such as ensuring fairness, transparency, and accountability in decision-making processes. Failing to address these ethical considerations can lead to misuse and abuse of modeling and simulation, which can have detrimental effects on society. In conclusion, system modeling and simulation are powerful tools for understanding and predicting the behavior of complex systems. However, there are several challenges and issues that need to be addressed in order to ensure the accuracy, reliability, and ethical use of models and simulations. By addressing these challenges, we can harness the full potential of system modeling and simulation and make informed decisions that benefit society as a whole.。
ASSESSING THE PERFORMANCE OF A COMPUTERIZED ACCOUNTING SYSTEM作者: Danciu, RaduAbstract: The study aims to present the criteria for assessing the performance of a computerized accounting system starting with completeness, ergonomics, information integration, flexibility, adaptability, accessibility, adaptability, accessibility, adaptability, safety and security in the operations. The study's conclusions formulate a set of minimum requirements for the creation, implementation and use of a computerized accounting system. Key words: computerized accounting system, ergonomics, information integration, flexibility, adaptability, accessibility, operational safety1. IntroductionThe deliverance of an independent opinion, by a group of specialists, referring to the informational system used for organizing and conducting the accounting is one of the modern business management goals. Among the objectives that must be considered in the process of assessing the financial and accounting system we can mention:* checking the operating system's correctness, completeness, flexibility, adaptability, cost of maintenance, ergonomics and operational safety* expressing an opinion on the computerized accounting system's usage facilities and efficiency (computing and software), as well as on the business's place in the informational economic environments, before and after its purchase/creation.* formulating some proposals regarding the achievement of the objectives, the informatics system's development and the elimination of the deficiencies consigned in the assessment reports.In order to be able to quantitatively and qualitatively asses the computerized accounting system one must answer at least the following questions:What is the system's degree of flexibility?Is the system ergonomic and accessible?Is the system adaptable?Is the system complete? Does it cover the information management needs of the enterprise?What kind of operational safety does the system offer?Do the programming language and the databases satisfy the requirements of an enterprise's dynamic modelling system?What are the mutations produced by such a system in the financial and accounting management?After the acquisition or creation of a computerized accounting system and its implementation, the system must undergo an audit to determine the weaknesses in the system's usage.The auditing of the information systems is a very complex operation and it involves the auditor expressing his opinion on real time data processing, database management, system integration, the work with computer networks, etc. The claims for an audit of the computerized accounting system are very high, which involves the implication of some specialists in accounting and in the field of applications design and implementation. Computerized systems audit should include the general examination of the computerized accounting systemand the analytical examination of each application individually.Among the objectives of the computerized accounting system's general examination we may include :* assessing the completeness of the information system, therefore the coverage degree of the accounting needs for organization and management* assessing the integration degree of the system's applications, of the way they communicate* assessing the flexibility and adaptability* assessing the accessibility, reliability and security* assessing the way the minimum conditions to be met by the computerized systems are being respected* assessing the delimitation procedure for the attributions and responsibilities of the people involved in the computerized systems management* assessing the way the computerized system complies with the accounting principles and methods* assessing the system's ergonomics.Among the objectives of the computerized accounting system's analytical examination we may include :* assessing each application's architecture* assessing the integrity and the integrality of the system's main functions and of their usage possibility* assessing the effects of using the application functions and of every function's usage degree* detecting function overlaps in the accounting's implementation* establishing and evaluating the application's additional functions* assessing the automation degree of accounting projects* assessing the degree of detail in the information description, namely the adequacy or inadequacy of the informational attributes necessary to identify the transactions, events and objects* assessing the menus of data collection and validation* assessing the fairness of the data processing and systematization procedures* assessing the manner of creating, consulting and printing the accounting reports as well as their informational content* assessing the manner of database presentation and consultation* assessing the level of maintenance and system administration functions accomplishmentTo facilitate the discovery of an answer for the questions formulated above and to detail the objectives of the computerized accounting system's general and analytical examination, the system's main characteristics will be described: flexibility, adaptability, ergonomics, accessibility, reliability, integration and operational safety.2. Qualitative characteristics of the computerized accounting system2.1. Flexibility and adaptabilityThe flexibility of the computerized applications refers both to the multitude of options available to create a function, as well as to the possibility of going behind some commands or application functions without altering the collected, processed and archived databases. All the application's functions must be characterized byflexibility, namely:User-defined sort keys should provide the opportunity to choose attributes ordering information by seeking data from a database or a table.* The data collecting function should provide at least the following facilities:* accessing auxiliary databases in order to choose data when collecting it through a control key / a command button. For example, when collecting an account, the user, by pressing a key / button control should be able to access the chart of accounts in order to select the desired account* allowing the user, when using the key / command button, to add new items to auxiliary databases or modify existing ones when the data he is searching for is not there* displaying the processed and stored data, useful in the collection process, such as: displaying the quantity available on stock and the stock's output unit price or showing the invoices to be paid to suppliers at the moment when the payment data is being collected, etc.* the data collection function should allow deletion or modification of not validated data* ensure the possibility of operating or de-operating data at a document's level* multi-criteria search and selection of data in order to choose the data by multiple informational attributes combined with mathematical operators: equal "=" lower "<", higher ">", lower and equal "<=", higher and equal ">=", including "$" different "#".* the multiple classification of data by one or more informational attributes, for example: in the case of stock entries sorting can be done by input document type, document number and date, etc. There are two types of ordering keys for flexible applications:- ordering keys defined by software- user defined ordering keys.The user defined ordering keys must provide him with the opportunity to choose the informational attributes based on which he wants the ordering of data from a database or a table to be made.* the generating, consulting and listing function for the financial and accounting statements must offer at least the following facilities:* obtaining accounting reports for any period of time by indicating the starting and closing dates for information to be included in the report* obtaining accounting reports both in foreign currencies and in lei when indicating a different currency than the domestic one* getting full reports or only for a list of indicated entities / objects , such as: accounts, distributors, partners, stock items, etc.* displaying in screen mode all the financial and accounting statements made before listing* listing of the reports with the following options type of printer (local or În network/printer name)- type of printing ( normal or reversed )- first page- final page- document's margins, etc.* the processing or auxiliary database consultation function must at least provide the following facilities:* prohibiting additions, changes and deletion from processed and archived* multi-criteria search and selection of data* enabling the listing of selected data* the application's parameterization and management function should provide at least the following facilities:* saving / restoring data and software from multiple drives. Thus, before performing these operations, the choice of the magnetic disk drive to / from which the backup / restore of data or software will be performed must be leftup to the user* facilitating the access to data belonging to any processing period by simply pointing it out* the possibility to update the readymade applications without intervention from the producer, based on the new software package provided, by using the software update option.The lack of options listed above leads to the creation of a system which is rigid and cumbersome in use. The existence of functions / options is not the only one important, but also the programmer's and analyst's tenacity in putting them into the right place , the control keys / control buttons having to be easy to remember, and to be the same for the same function / option in all applications.In fact, achieving a high flexibility of an integrated computerized system is the result of combining the accounting science with the computer science, which is easier to accomplish when the analyst and the programmer is the same person.The adaptability of the computerized accounting system to the specific conditions of accounting organization and management within an enterprise has two aspects, namely:a. adaptation and integration in the enterprise's computerized economic systemb. adjusting to the accounting's organization and management requirements.In order to express an opinion regarding the adaptation degree of a computerized system to the company's concrete conditions, we must analyze the types of computerized systems, namely:* the self created computerized system which has the following characteristics:* the enterprise's integration in the computerized system is easy to achieve as the computerized accounting system is compatible with other specific applications* the system's design will be made to match the information management requirements and the enterprise's management strategy* system implementation and user education is easier* the system creation in an economists-comp team leads to attachment and loyalty towards the created system, any improvement of the system being easily achievable* the system's production time is long, the system's analysis must be very careful, the making process involving high costs and a higher skilled workforce* the readymade computerized system with the following features:* the user can choose the applications package that meets the utmost of his requirements* the system's architecture and documentation is more comprehensive and complete, because it answers the requirements of many users, many times being updated according to their requirements* regular updating and software maintenance is done at much lower cost than independent upgrading and maintenance* the purchase price of the readymade software is smaller than that of the software developed by themselves, because of the competition on the accounting computerized applications market, and the fact that the development cost is distributed to more buyers* these computerized systems are usually closed systems in terms of analyst and programmer, being directly addressed to the accounting user* this type of software, frequently do not integrate in an enterprise's activity, so, very often the acquiring company's needs do not find themselves in the purchased applications, requiring a working style review, which may or may not have beneficial effect on the economic activity* the applications packages having a high degree of generalization do not have the same efficiency as their own software packages* the company providing readymade software can interrupt it's activity or stop doing business, which is a major impediment for updating and maintaining computer applications while the sources for software and system analysis are not owned by user* the pre-ordered computerized system which has the following characteristics:* the user, according to the delivered command can work under their individual data processing and information systematization requirements* costs may be lower than those for software developed with own forces* it integrates easily into the enterprise's computerized system* the user can take possession of sources and system analysis which helps making it easy to do future changes and updates, even if we are facing an interruption / termination of relationships with companies and program analysis that was used originally.To ensure continuity of he management and information integration principles of the financial and accounting computerized system, the best readymade computer system, completed and adapted where the enterprise information management require it.2.2. Ergonomics, accessibility and reliabilityFor the computerized accounting system to be ergonomic and accessible its component application must stand in line with the following requests:* using the same principles in developing and using the data collection models in all computer applications* using the same combinations of keys / command buttons to collect and access the data* using some information functions on the status and the content of the data in the system, namely:- showing the record statistics which displays the number of basic documents, the number of secondary documents and number of records for each database separately- displaying the selected records number that shows the number of basic documents, the number of secondary documents and the number of records for the database selection- displaying the document type and accounts names, allocators and other elements encoded in the recording where the cursor is positioned- generating at the user's request the list / report with full data / seected from the database- enabling access to explanations on the role and functioning of the application's functions /options. All the explanations given for each feature / option are enrolled in the system's user manual- the existence of a function to perform simple calculations on data, such as adding values in column / selected area- the option of displaying and distributing an account balance with the structure: Account, distribution, money. This function will provide data on:- Opening balance debtor / creditor- Aggregate debit and credit turnover- Monthly debit and credit turnover- Total debit and credit amounts- Final balance debtor / creditor- the option of calculating an expression for the user's need, in order to do some calculations outside offered the information management system- the option of duplicating the content of some information attributes previously collected designed to pick up data from the user common data for two consecutive records in a table.The system's availability refers to setting access levels for each worker individually, ensuring a certain degree of data confidentiality and to limit the rights of changing data collected by other operators or data from auxiliary databases.An accessible computerized system must provide the highlighting of the information by various technical means like:* colour differentiation* differentiation by font size* flashy markings* sound markings* grouping data in boxes* highlighting important data* displaying messages during work time* displaying short explanations for each system function / option.Moreover, a complex computerized system must alert the operator or the user of its abnormal operation, indicating where necessary the system's errors and defects.Particularly important in assessing ergonomics, accessibility and reliability of a computerized system is the tracking of its behaviour in use, at least in terms of the following aspects:* in terms of the system's operational tenacity which also considers the cases and reasons for computerized applications failure* in terms of user requirements, which means assessing the degree of weariness caused to the user after a longer work period and its causes* in terms of work speed, that is the extent to which the system responds to user commands and the reaction times* in terms of accuracy, that is the manner of fulfilling the system's displayed and executed functionsIn the making of an ergonomic and accessible computerized system there are also other important factors:* the creation of some menus with high intelligibility by using short names with intelligibility, logical grouping of data, etc* facilitate the consultation of multiple databases* achieving at least the following reporting features, data collection models, consulting data bases and their associate functions / options:- the high level of information synthesis- information's timeliness- information's completeness- data correctness- data accessibility.The computerized accounting system's reliability refers to the probability that this system will continue to function for a certain amount of time according to the designed and implemented standards. Regarding the reliability assessment of a computer programme, E. Yourdon in the paper "Decline &Fall of the American Programmer" (Oprea, 1999), addresses a number of indicators like:* average time between two failures* average time to remediate troubles* the area affected by failures* the error rate per hour, day, week or month* the error rate on the basic software components* the opportunity of the answer to the errors or the time granted to their remedy* the beneficiary's satisfaction about the quality of the intervention to remedy softdefectsThe system's reliability analysis by using these indicators leads the user to establishing of the software's place, both in the enterprise and comparatively with other software.2.3 Operational safetyThe system's safety includes its security and its capacity to function continuously with no malfunctions, and if malfunctions come up it need to have its own models of remediating them.The system's security is a complex problem, especially when using computer networks for data processing. The main objective of a computerized system's security is represented by insuring the data's confidentiality and integrity. The data confidentiality must be done by:* precisely determining the people who have access to the computer applications* precisely determining the applications and databases the operators and users have access to* precisely determining the access passwords for each person* regularly changing the access passwords and communicating them in maximum confidentialityTo achieve data confidentiality one must establish a Register regarding the use of computer applications inside the computerized accounting system. The structure of this register could present itself as follows:* Ist option considering the person as a benchmark, comprises:- the person - name and position- the computer application or parts of application he has access to- access password- the date of granting / modifying access- acknowledgement signature- observations* IInd option considering the computer application as a benchmark comprises:- the computer application- the people - name and position - having access to the application- access passwords- the date of granting / modifying access- acknowledgement signature- observationsThe data integrity aims to maintain and preserve the collected data, without altering them by data processing and the safe preservation of the processed data, any subsequent intervention being forbidden (change, deletion, mergers, etc.).The system's functioning security must also take into consideration the failure possibility, for them to be able to repair themselves. Some examples of interventions for the maintenance and repairing of the computerized system could be:*for the system's maintenance* database reorganization related to re-indexing them by the index keys defined when the application was created* setting the printing systems used for listing the accounting statements on paper* checking the integrity of the databases that ensure control over the existence of all databases and of their associated indexes* checking the databases structure which ensures the control over the database's structural updates occurring when new versions of the computer applications are created* the database and software saving / restoring, option which provides the saving/restoring of databases on/from floppy disks, local or central hard disks, CD-s, DVD-s, etc.*for the repairing of damaged data* recovery of destroyed database structures* recovery of the system's menus and functions* recovery of archived/saved data, previous to the incidentThe technical methods for carrying out the computerized system's security are:* the physical security which is designed to limit the physical access to the computer system by:- introduction of access codes and installation of alarm systems where the technical items are located- enclosing the microcomputers in protection cabinets or in a protective wrapper- installing a secured mechanism for connecting to the electrical network- storing the data saved on external magnetic devices in maximum security places: safes, safe deposit boxes, etc.* the softsecurity by password access to computers and computer applications, using encryption software for long distance transmitted data, by password access to created data archives, in order for them to only be accessible through the same applications that generated them, by using hidden files and secret file names, etc. If in the case of compute application functions, their completeness must be ensured as well as a wide variety of working options, in the case of features an optimum balance must be achieved, for the computerized system to be able to reach its objectives in the best conditions reported to the highest standards.3. ConclusionsThe introduction and use of a computerized financial and accounting system must ensure reconciliation between the individual vision and the collective network organization, along with the collection, processing, administration and delivery of information in terms of maximum speed and security conditions. For the creation of a computerized information system we may propose the compliance with the following requirements:* the computerized applications must be consistent with any type of computer and created in a performing operating system and programming language with perfecting perspectives* it should have the highest possible accessibility level, so that the level of computer knowledge the user needs to hold to be minimized* it should have a high flexibility degree, therefore to allow changes, deletions, searches, returning to current data, creation of extra reports defined by the user, returning to previous data collections, saving and restoring data collections, etc.* it should be ergonomic, therefore the organizing of the working menus should follow the same principles for all the applications and to be based on simplicity and intuition* to offer operational safety* to ensure data security and privacy by restricting the access to information* the user-computer relationship related to data collection should be as easy as possible and it should comprise explanations regarding every element of information* the mathematical and accounting relations used for validating and calculating the data collected in the system should comply with rules, regulations and laws* it should have a high working speed and data storage capacity* it should protect itself in case of major incidents ( fault of electric current, application failure, etc.) ensuring data preservation.Adapting the experience's effect theory (it comprises: learning effect, innovation effect and the mechanization, automation and robotization effects) to the computerized systems, theory which was elaborated by Boston Consulting Group (B.C.G.), one can say that as the number of financial and accounting computerized products has increased, the tendency of using them has become predominant, using them leads to the discovery of deficiencies and their removal generates the product improvement by eliminating redundant functions, cumbersome models, unnecessary work modules, etc. Perfecting the computer products is not sufficient, the consequences of their use must be insisted on and some accounting areas need to be improved, such as:* developing the accounting standards in line with information's processing and administration in the computerized environments; the financial and accounting computerizes systems must not be treated only as data processing systems, because they are financial and accounting data management systems as well* adapting the common and the special forms regarding the financial and accounting activity to the processing and administration need of the information in the computerized environment* completing the rules on creating and using financial and accounting software with a set of minimum informational attributes required in managing financial and accounting objects, transactions and events* developing a national standard on financial and accounting information processing and management in the computerized environment including:* architectural elements of the computerized system* main functions and characteristics of the computer applications* aspects related to the management of financial and accounting objects, transactions and events* The start of some national research programmes on the changes produced by the use of computerized informational systems and their effects on the accounting science.References1. Danciu, R.;(1994); Computerized accounting systems, Dacia, Cluj-Napoca2. Oprea, D.; (1999); Analysis and design of economic information, Polirom, Iasi3. Tugui, Al.;(2003); Products generalized accounting information, CECCAR, Bucharest4. ***, Manual of Use Systems ERP SAP FICO, MicrosoftDynamics Navision, Clarvision, WinMentor, Siveco Applications 2020, BAAN ERP。
Software and Systems Modeling manuscript No.(will be inserted by the editor)A Model-Driven Runtime Environment for Web ApplicationsStefan Haustein1,Joerg Pleumann21Artificial IntelligenceUniversity of DortmundGermany2Software TechnologyUniversity of DortmundGermanyReceived:date/Revised version:dateAbstract A large part of software development these days deals with building so-called Web applications.Many of these applications are data-base-powered and exhibit a page layout and navigational structure that is close to the class structure of the entities being managed by the system. Also,there is often only limited application-specific business logic.This makes the usual three-tier architectural approach unappealing,because it results in a lot of unnecessary overhead.One possible solution to this prob-lem is the use of model-driven architecture(MDA).A simple platform-independent domain model describing only the entity structure of interest could be transformed into a platform-specific model that incorporates a persistence mechanism and a user interface.Yet,this raises a number of ad-ditional problems caused by the one-way,multi-transformational nature of the MDA process.To cope with these problems,the authors propose the no-tion of a model-driven runtime(MDR)environment that is able to execute a platform-independent model for a specific purpose instead of transform-ing it.The paper explains the concepts of an MDR that interprets OCL-annotated class diagrams and state machines to realize Web applications.It shows the authors’implementation of the approach,the Infolayer system, which is already used by a number of applications.Experiences from these applications are described,and the approach is compared to others.This is an extended and revised version of a paper originally presented at the UML2003conference in San Francisco[23].The second author has been supported by the German Federal Ministry of Education and Research(BMBF), grant08NM098.2Stefan Haustein,Joerg Pleumann 1IntroductionA large part of software development these days deals with building so-called Web applications,that is,server-sided applications that are remotely accessed via the Internet using a standard Web munication be-tween client and server is based on the Hypertext Transfer Protocol(HTTP) and uses the Hypertext Markup Language(HTML)for content description. For nontrivial applications,static HTML pages are usually not sufficient–instead,each page exists in two variants:the server holds the original page that consists of HTML code and embedded scripting commands which,for example,access the content of some underlying database.This template-like page is processed on the server,resulting in a pure HTML page which is then delivered to the client.Web applications often employ a traditional three-tier architectural ap-proach:the lower tier provides a persistence mechanism for the entities the application deals with.The upper tier provides either the HTML user in-terface meant to be consumed by humans or a communication interface for other applications based on,for example,the Simple Object Access Proto-col(SOAP).The middle tier ties the other two together and implements the application’s business logic.While this approach is relatively common, it raises a number of problems:–The database used in the persistence tier is likely to be a relational one.Given that the rest of the application is modeled using the Uni-fied Modeling Language(UML)[11,2]and later implemented using an object-oriented programming language like Java,a mapping between the object-oriented and relational worlds is necessary.This mapping is fur-ther complicated by the need for a normalization of database tables and the expressive mismatch between the Standard Query Language(SQL) and a modern object-oriented language like Java.–As mentioned,most approaches use some form of scripting language to separate static and dynamic portions of a Web page.While it is possible that the scripts are implemented in(roughly)the same language as the rest of the application–like in the combination of Java and Java Server Pages(JSP)–this is not a necessity.It may well be a different language like PHP or Perl,which results in at leastfive languages being used in the overall system:UML,SQL,HTML,Java plus the scripting language.This poses high demands on the developers’skills,it raises development time and cost and it complicates maintenance.–In a significant number of cases,the application’s business logic is pretty uniform.Take,for example,the typical simple Web application used to realize the Web site of a university department(as depicted in Fig.1).The database stores instances of some entity classes,and the userinterface provides access to them.Often,even the navigational structure of the user interface is close to the entities’class structure,that is,there is a correspondence between domain classes and HTML pages used to display,manipulate or query instances of these classes.If the logic isA Model-Driven Runtime Environment for Web Applications 3Fig.1A(simplified)domain model of a university departmentnot application-specific,it seems unnecessary to explicitly model and implement it.Instead of going through the effort of the full three-tier approach,one would want to focus on the entities and their presentation in the user interface and leave the rest to a tool.A solution to the aforementioned problems,as mandated by OMG,is the use of Model Driven Architecture(MDA)[10,9].For a given problem, MDA proposes thatfirst a platform-independent model(PIM)be created. This model is then transformed to one or more platform-specific models (PSM)using appropriate transformation rules.In the given domain of Web applications,the PIM could encompass application-specific information like the domain model and the application’s business logic.From the potentially infinite number of possible PSMs,a specific one could incorporate a user interface based on HTML and a persistence layer employing a relational database.A PSM can in principle be refined into an even more platform-specific model.Yet,at some point programming language code has to be emitted that can be compiled into an executable application.From a programmer’s point of view,MDA is not completely new.It is extending the traditional idea of a compiler to the earlier phases of the software development process,that is,to the models.While this is surely a powerful idea,it has some consequences for the overall process as well as the application under development:–Evolution is complicated.As Heckel and Lohmann[16]have noted be-fore,MDA doesn’t pay enough attention to functional evolution of the system.Every such evolutional step,for example a new requirement,4Stefan Haustein,Joerg Pleumann induces changes to the PIM or the specification of the transformations from the PIM to the PSMs.In either case,the whole transformational chain up to the executable application has to be applied over and over again.Given that a large part of Web application development deals with the creative process of designing an appropriate user interface,that is, small changes to HTML pages(or their equivalent in the model)are made and evaluated,these time-consuming transformations are likely to hamper development progress.–Maintenance is complicated.This is due to the fact that the application has not only undergone the transformation(s)inherent in the traditional compilation step,but also additional ones for the models.Tracking a problem in the running application back to its roots in either the PIM or one of the transformations requires that the equivalent to“debug-ging”information is available for each model that was derived from a less-specific one.Currently,there seems to be no solution for this prob-lem.Also,unless special care is taken,the generated models and source code might be hard to read,since they are not primarily meant to be consumed by humans.–The process is one-way.While it is in principle possible to modify mod-els generated during a previous transformation step,this is not rec-ommended.Manually changing a PSM or some generated source code potentially results in an inconsistent description of the whole system ar-chitecture,since these changes are neither reflected in the other models nor gained“legally”through a transformation.They are lost when a complete rebuild of the system is done starting from the PIM.Thus, until there exists a means to propagate manual changes in any model to the rest of the system architecture,it is best to treat generated models and source code as read-only.Since all three problems stem from the multiple transformations(or compilations)inherent in the MDA approach,the authors were looking for a solution that suited the Web application domain better.As a result,we propose a slight variant of MDA that does not compile PIMs,but inter-prets them instead.In this approach,the transformation from the PIM to the PSM is handled implicitly by a model-driven runtime(MDR)environ-ment.Where MDA potentially transforms object-oriented concepts to non object-oriented ones(as in the case of the relational database),an MDR implements selected parts of the UML metamodel and interprets them for a given application domain.Just like it is possible to derive multiple PSMs from a single PIM in the pure MDA approach,it is possible to have a num-ber of very different MDRs executing the same PIM for different reasons. In our case,the MDR of interest is one that supports the development of Web applications like the one described in the university scenario of Fig. 1,that is,database-powered applications with limited business logic and a navigational structure that is close to the underlying entity structure.The rest of this paper is organized as follows:section2presents the basic concepts of an MDR for Web applications.It shows how UML is used toA Model-Driven Runtime Environment for Web Applications 5 describe static and dynamic aspects of a Web application and how these descriptions are interpreted at runtime.Section3shows how the user in-terface of the MDR can be customized using templates.Section4presents our implementation of an MDR for Web applications,the Information Layer system,or Infolayer for short.Section5describes examples of concrete appli-cations realized with the approach,with experiences from these being given in section6.Thefinal sections7and8compare our approach to others and draw a conclusion.A detailed case study is presented in the appendix.2Core conceptsThe basic idea of an MDR is avoid the transformational steps from the PIM via the PSM and the generated source code to the working applica-tion.Instead,the MDR is to execute the PIM itself:a UML model designed in a Computer Aided Software Engineering(CASE)tool and exported to the standard Extensible Metadata Interchange(XMI)format supported by most contemporary tools shall be sufficient to invoke the system.The MDR then provides a user interface and a persistence mechanism that would be gained through explicit modeling/implementation or a suitable transfor-mation in the traditional or MDA approach,respectively.To achieve this, the model information,possibly annotated with constraints specified in the Object Constraint Language(OCL)[30],is interpreted in several ways:1.The model drives the database.2.The model determines the user interface.3.The model provides business logic.The MDR can be seen as a domain-specific UML interpreter the core semantics of which is taken verbatim from the UML specification.Only in those areas that are not covered by the UML specification,we need to define additional semantics.These are typically areas which are specific to the domain of Web applications.Fig.2depicts the system at a very high level of abstraction,with the MDR being in the center.The next sections provide more detail on the various aspects of the interpretation sketched above.2.1The model drives the databaseAt the heart of the UML model fed into the system is a class diagram de-scribing the entities of interest.Based on this structural model,the MDR provides a persistence mechanism that supports creating,accessing,mod-ifying,and deleting instances of the given classes.The semantics of the persistence mechanism is taken directly from the UML specification:at-tributes store values of the primitive types Boolean,Integer,Float,String, and DateTime.Associations describe which instances can be linked to each other.Inheritance is used to build specialization hierachies.6Stefan Haustein,Joerg PleumannFig.2Overview of an MDR-based Web applicationSince we interpret the model instead of generating lower-level code,we do not lose valuable information inherent in the class diagram.Thus it is easy for the MDR to,for instance,treat associations between classes as first-order elements that are kept consistent by the system according to the multiplicities at the association ends.Changes are made persistent to an underlying storage by serializing the objects.Object configurations that violate OCL constraints specified in the model are rejected.Practically speaking,the MDR makes it possible to con-struct a persistent object diagram that conforms to the given class diagram.Operations are supported,too,with OCL serving as the primary lan-guage for evaluating any kind of expressions throughout the system:–Query operations(that is,operations with no side effects)are imple-mented directly using OCL expressions.OCL is basically used like a functional programming language in that case.–Non-query operations are implemented using UML action semantics.To minimize the learning effort for users,we chose a superset of OCL as the surface language(the concrete syntax)for action semantics.Details of this action language are presented in[14].The system knows several predefined classes.One of them is the usual Object class that forms the root of the class tree.Object provides a built-in operation toString():String the purpose of which is to derive a print-able text from an object.It is used and redefined in the same way as,for example,in the Java class libraries.Another predefined class User serves as the basis for user management,authentication and access control to classes and objects based on permissions(again expressed in OCL).A Model-Driven Runtime Environment for Web Applications 7Fig.3Generic user interface derived from the model2.2The model determines the user interfaceAn MDR can be accessed in numerous ways,of course,but for the moment we are only interested in Web-based access.Technically,the system needs to run inside a Web server or provide Web server functionality itself.Conceptu-ally,an HTML user interface needs to be generated by the interpreter when a client accesses the system.This interface is based both on the structural information inherent in the UML model and on the existing instances.The mapping from the model to user interface components is straightforward:–The interface shows a clickable inheritance tree of known classes.Whena specific class is selected,its current instances are listed,individualinstances can be selected for display,and new instances can be created.–The system shows for each instance a list of all attributes and associa-tions,with associations being rendered as hyperlinks to the associated objects.The latter supports the user in easily navigating through the whole object diagram.–When editing an object,the system takes care to restrict the user’s input to sensible choices–like exactly those objects that can participate in a certain association under the constraints imposed by the multiplicities at the association ends.–For querying the database a very similar screen is used.The results ofa query are displayed as a list of instances where individual objects canbe selected for display.8Stefan Haustein,Joerg PleumannFig.4State machine for the Thesis classFig.3depicts the user interface generated for the Thesis class of the university example.Underlined strings denote hyperlinks.Arrows are used to indicate which parts of the user interface are derived from which parts of a class declaration.2.3The model provides business logicExperience with Web applications shows that a number of systems display workflow-like characteristics.Take,for example,the university department model from Fig.1.The corresponding Web site would usually provide a list of master theses,each of which can be in a different state:a thesis can be available,it can be reserved for a student who is writing a proposal,it can be work in progress,and it can befinished.The possible transitions between these states are restricted,and the user interface should enforce these restrictions.For example,one should be able to go from in progress tofinished,but going back should be prohibited.Such behavior is easily specified by means of a UML state machine,as Fig.4shows.The MDR interprets state machines as additional business logic of the system.Every class in the domain model can be annotated with a state ma-chine that describes its behaviour.Once a new object is created at runtime, it not only has all its attributes set to default values,but also starts in its initial state(s).The statechart interpretation follows the core semantics of the UML specification.Only the generation of the user interface parts require addi-tional semantics:–When an object is displayed,the user interface shows a list of buttons representing the potential triggers.These are the triggers of exactly those transitions that are enabled,or,more precisely,would be enabled if these events were to enter the system.In Fig.3,the Assign button is displayed because the corresponding trigger is attached to a transition that leaves the currently active state.A Model-Driven Runtime Environment for Web Applications 9–The buttons take into account any guard expressions attached to the transitions.These guards are,again,specified in OCL and may thus encompass both the model information and the existing instances.–When a button is pressed,the enabled transitions are taken,resulting ina new active state configuration.Actions executed by a transition canbe used to modify an object’s attributes,for example by assigning values to attributes or associations.–The new state configuration is made persistent together with the object, just as the attributes and associations are.Once a state machine reachesa terminal state,the object it belongs to is deleted.If required within an expression or operation,the current active state configuration of an object can be queried using the OclInState(<state>) function.As an example,the toString()operation of a class could take the active state configuration of an object into account when deriving the resulting string.3Customizing the user interfaceBeing relatively simple and thus not sufficient for real-life applications,the generic user interface needs to be tailorable to specific needs.It is tempting to achieve this on the level of the UML model,too,since it would result in a coherent approach that employs a minimum number of formalisms.Yet,for pragmatic reasons wefind it more appropriate to perform this tailoring on the level of HTML pages.This is due to the observation that HTML is also the target language of the system and that a number of powerful and mature tools exist for creating HTML pages.We assume that people responsible for the artistic design of a Web application will be more comfortable with these and prefer them over a CASE tool.What is required then is a means to intertwinefixed parts of HTML pages with variable content taken from the database,that is,with objects currently stored in the system.We solve this problem by augmenting HTML pages(XHTML,actually)with special XML elements that are evaluated on the server side before a page is being delivered to a client.Each of these augmented pages,or templates,is bound to a class of the UML model and is subject to inheritance and refinement.The next sections provide more detail.3.1TemplatesA template is a named HTML page that is bound to a class of the UML model.When requested by a client,the template is loaded,and any special XML elements that access the model or its instances are evaluated.Standard HTML elements and those elements to be evaluated are easily distinguished by XML namespaces.The results of the evaluation are inserted into the10Stefan Haustein,Joerg Pleumann <h1>Theses Available</h1><ul><!--’forAll’traverses a collection of objects and--><!--repeats the enclosed elements for each of them.--><!--’t’denotes the namespace for template elements.--><t:forAll expr="Thesis->select(author->isEmpty())"><li><!--’self’holds the current iteration item(optinal).--><!--’valueOf’evaluates an expression and prints the--><!--result.--><t:valueOf expr="self.title"/><!--’if’encloses a conditional block.--><t:if expr="advisor->notEmpty()">(advised by<t:valueOf expr="advisor.givenName"/><t:valueOf expr="advisor.familyName"/>)</t:if></li></t:forAll></ul>Fig.5Template incorporating OCL expressionsHTML page,and the page isfinally delivered to the client.Figure5shows an excerpt from a template of the Thesis class.The template displays a list of all theses that are available,that is,those theses that don’t already have have an author assigned.For each thesis,the title and a possible advisor are printed.The template mechanism is similar in spirit to the embedding of a pro-gramming or database query language into HTML pages.Yet,there are also differences:–Templates are not just a collection of HTML pages.They are prop-erties of classes,loosely related to operations:templates are requested (or invoked)in the context of either their class or an instance of their class(similar to class and instance operations).The invocation context is stored in a variable self that can be accessed from inside the template.–Instead of incorporating yet another query language,OCL is used as an expression language for all sorts of queries in templates.For example, <t:valueOf expr="advisor.givenName"/>outputs the givenName at-tribute of an object that is referenced by the advisor association of a Thesis(self is optional,as usual).Additional XML elements provide a limited degree of what might be called controlflow while generating an HTML page.As an example,there is an element that iterates the constituents of an OclCollection(the result of a<class>.allInstances->select(<condition>)expression)and out-puts a certain HTML fragment for each.Another XML element provides an equivalent to the usual if construct known from programming languages. Its condition is an OCL expression that evaluates to a boolean value.Fig.6Inheritance and refinement of templatesSeveral template names are reserved for specific purposes.For exam-ple,edit.html is used for editing the details of an object.The effect of providing templates with these reserved names is that the default pages for listing,displaying,editing,and searching objects are changed,while the overall structure of the system is still determined by the model.By provid-ing additional templates,it is possible to build systems with a more complex navigational structure.3.2Inheritance and refinementBeing properties of classes,the templates propagate according to the inher-itance rules dictated by the class hierarchy:subclasses inherit the templates defined by their superclasses,but can override them by providing a tem-plate of the same name.If no specific templates are defined at all,classes inherit their templates from Object–which results in the default output behaviour described in section2.Refinement of templates is supported by an XML element<inner>that behaves similar to the way refinement is handled in the BETA program-ming language[21]:each template can define a slot where it wants to be refined by specialized templates.When a specialized template that refines a more general one is processed by the MDR,the resulting HTML page contains the general template,with the<inner>element being replaced by the specialized template.It should be noted that the BETA way of handling refinement is ratherdifferent from the super construct used in programming languages like Javaor C++.Conceptually,super inserts inherited code into overriding code at a position where the call occurs,so specialized code“encloses”inherited code.BETA does it the other way around.For the purpose of dealing with HTML pages(or general XML documents,actually),the BETA approach is more appropriate,because it supports a more natural way of organizing templates:the most general template contains the usual outermost HTML elements(<html>,<head>,...)and provides a general page layout(for example,a title and a menu bar).In particular,this template is already a complete and well-structured(X)HTML document.Specialized templates simplyfill in their details into the appropriate refinement slot.Figure6illustrates template refinement in the context of the univer-sity example.The default.html template for the Object class defines the general page layout for all classes in the system.This layout includes a fixed menu on the left side.By means of the<inner>element,the template reserves the dashed rectangle for refinement.Subclasses that override and refine default.html specify their additional information here.The Thesis class,for instance,adds the aforementioned list of available theses.4ImplementationWe have implemented the above ideas in our Infolayer system.The roots of this Java-based system go back to the COMRIS[13]project funded by the European Community.Fig.7shows a very rough approximation to the architecture.At the heart of the system lies an implementation of selected portions of the UML metamodel:–A core part,implementing basic properties of all model elements.This part has a loose conceptual relationship to the UML meta-metamodel, but it is not an implementation of the Meta Object Facility(MOF).–A part that implements UML classes and objects,including all the nec-essary properties,such as attributes,associations,methods,inheritance, etc.In addition to the usual built-in datatypes,a primitive File type provides for easily storing binaryfiles and thus supports a limited form of content management system(CMS)functionality.–A part that implements UML state machines,including a runtime com-ponent that is able to simulate a state machine.–An OCL parser and evaluator.This component implements the OCL as defined in the UML1.5specification.As mentioned,a few additional constructs have been introduced to turn the OCL into a full UML action semantics surface language.–An XMI loader that is used to feed the model into the system.Since XMI operates on the UML meta-metamodel,this part requires the core part only and handles arbitrary metamodel elements through the reflective capabilities introduced in the core part.–A part that implements an XML-based persistence mechanism as well as other ones,for example one based on Java Database ConnectivityFig.7Architecture of the Infolayer(JDBC)that makes it possible to integrate an existing relational data-base into the Infolayer.Actually,it is even possible to have the Infolayer operate on a BibTeXfile–in that case a model is automatically provided that represents the various BibTeX entry types.All these components contribute to the system’s model layer or back-end,which is still largely application-independent.Atop the model layer lie different application front-ends which provide the functional equivalent to transformations from a PIM to a PSM in MDA,among them the servlet already mentioned in the previous sections.The servlet uses the template mechanism to generate output based on the model and instance informa-tion.HTML is one possible output format,but it is not the only one.The template processor can actually be used for generating output in any XML-based target language.As an example,an approach to produce output con-forming to the Resource Description Framework(RDF)and thus open the Infolayer to the Semantic Web is described in[15].Further template sets could easily be used to address mobile phones using the Wireless Markup Language(WML)or a limited subset of HTML.Fig.8shows the default HTML user interface for the university example. This is an actual screenshot from an Infolayer installation working on the class diagram depicted in Fig.1when no specific templates are used.Fig.9 shows the improved user interface after templates have been added to thesystem.The templates make use of the refinement mechanism,that is,they。