Abstract
Requirements compliant software is becoming a necessity. Fewer and fewer organizations will run their critical transactions on software that has no visible relationship to its requirements. Businesses wish to see their software being consistent with their policies. Moreover, partnership agreements are pressuring less mature organizations to improve their systems. Businesses that rely on web services, for example, are vulnerable to the problems of their web service providers. While electronic commerce has increased the speed of on-line transactions, the technology for monitoring requirements compliance—especially for transactions—has lagged behind. To address the requirements monitoring problem for enterprise information systems, we integrate techniques for requirements analysis and software execution monitoring. Our framework assists analysts in the development of requirements monitors for enterprise services. The deployed system raises alerts when services succeed or fail to satisfy their specified requirements, thereby making software requirements visible. The framework usage is demonstrated with an analysis of ebXML marketplace specifications. An analyst applies goal analysis to discover potential service obstacles, and then derives requirements monitors and a distributed monitoring system. Once deployed, the monitoring system provides alerts when obstacles occur. A summary of the framework implementation is presented, along with analysis of two monitor component implementations. We conclude that the approach implemented in the framework, called ReqMon, provides real-time feedback on requirements satisfaction, and thereby provides visibility into requirements compliance of enterprise information systems.



































Similar content being viewed by others
Notes
Letier and van Lamsweerde provide tactics for determining responsibility assignment when it is not specified [46].
The analysis of the converse obstacle “confirmation despite bad credit” is very similar.
References
Andrews JH (1998) Testing using log file analysis: tools, methods and issues. In: Proceedings of the 1998 international conference on automated software engineering (ASE’98). Honolulu, Hawaii
Andrews JH, Zhang Y (2000) Broad-spectrum studies of log file analysis. In: Proceedings of the 22nd international conference on software engineering (ICSE 2000). Limerick, Ireland
Antón AI (1996) Goal-based requirements analysis. In: Proceedings of the 2nd IEEE international conference on requirements engineering (ICRE ’96). Colorado Springs, Colorado, pp 136–144
Antón AI, Potts C (1998) The use of goals to surface requirements for evolving systems. In: Proceedings of the international conference on software engineering (ICSE ’98). Kyoto, Japan, pp 157–166
Antón AI, Earp JB (2001) Strategies for developing policies and requirements for secure e-commerce systems. In: Ghoshpp AK (ed) Recent advances in e-commerce security and privacy. Kluwer Academic Publishers, Dordrecht, pp 29–46
Antón AI, Earp JB Potts C, Alspaugh TA (2001) The role of policy and privacy values in requirements engineering. In: Proceedings of the IEEE 5th international symposium on requirements engineering (RE’01). Toronto, Canada, pp 138–145
Antón AI, Earp JB, Potts C, Alspaugh TA (2001) The role of policy and privacy values in requirements engineering. In: Proceedings of the IEEE 5th international symposium on requirements engineering (RE’01). Toronto, Canada, pp 138–145
Antón AI, Earp JB, Reese A (2002) Analyzing web site privacy requirements using a privacy goal taxonomy. In: Proceedings of the 10th anniversary IEEE joint requirements engineering conference (RE’02). Essen, Germany, pp 605–612
The Apache Project (2003) “log4j,” Apache software foundation http://jakarta.apache.org/log4j/docs/index.html
CapeScience (2003) “Using nettool,” Cape clear software http://www.capescience.com/articles/using_nettool/
Chen M-S, Han J, Yu PS (1997) Data mining: an overview from database perspective. IEEE Trans Knowl Data Eng 8(6):866–883
Chodrow SE, Gouda MG (1992) The sentry system. In: Proceedings of the SRDS11, 11th symposium on reliabile distributed systems. Houston, USA
Chung L, Nixon BA, Yu E, Mylopoulos J (1999) Non-functional requirements in software engineering. Kluwer Publishing, Dordrecht
Cohen G, Chase J, Kaminsky D (1998) Automatic program transformation with JOIE. In: Proceedings of the 1998 USENIX annual technical symposium
Correia J, Schroder N (2002) BAM: a composite market view. Gartner Inc.
Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Prog 20:3–50
De Pauw W, Kimelman D, Vlissides JV (1997) Isualizing object-oriented software execution. In: Stasko JT, Domingue JB, Brown MH, Price BA (eds) Software visualization. MIT Press, Cambridge, MA
Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: Proceedings of the 21st international conference on software engineering. Pages, Los Angeles, pp 411–420
Easterbrook S, Callahan J (1998) Formal methods for verification and validation of partial specifications: a case study. J Sys Software 40(3):199–210
ebXML (2001) “ebXML e-commerce patterns v1.0,” business process team, ebXML http://www.ebXML.org/specs/bpPATT.pdf, http://www.ebXML.org/specs/bpPATT.pdf
Eisenhauer G, Bustamante F, Schwan K (2001) Event services in high performance systems. Cluster Comput: J Netw Software Tools Appl 4(3):243–252
Feather MS (1997) FLEA: formal language for expressing assumptions language description
Feather MS (1998) Rapid application of lightweight formal methods for consistency analyses. IEEE Trans Software Eng 24(11)
Feather MS, Fickas S, van Lamsweerde A, Ponsard C (1998) Reconciling system requirements and runtime behavior.In: Proceedings of the international workshop on software specification and design (IWSSD’98), Isobe
Fickas S, Feather MS (1995) Requirements monitoring in dynamic environments. In: Proceedings of the 2nd international symposium on requirements engineering. York, England, pp 140–147
Foster I, Kesselman C,Tuecke S (2001) The anatomy of the grid: enabling scalable virtual organizations. Int J. Supercomputer Appl 15(3)
Frankel DS (2003) Model driven architecture: applying mda to enterprise computing. Wiley , New York
Christopher D, Gill, Levine DL, O’Ryan C, Schmidt DC (1999) Distributed object visualization for sensor-driven systems. In: Proceedings of the 18th IEEE/AIAA digital avionics systems conference (DASC). St. Louis, MO
Girgensohn A, Shipman RDF (1994) Agent-based support for communication between developers and users in software design. In: Proceedings of the 9th knowledge-based software engineering (KBSE-94) conference. Monterey, CA, pp 22–29
The Globus Project (2003) “The globus toolkit 3.0” Globus Project, The http://www.globus.org/toolkit
Hall RJ (2002) Open modeling in multi-stakeholder distributed systems: requirements engineering for the 21st century. In: Proceedings of the 1st workshop on the state of the art in automated software engineering
Han J, Fu Y (1999) Discovery of multiple-level association rules from large databases. IEEE Trans Knowl Data Eng 11(5)
Heimbold D, Luckham D (1985) Debugging Ada tasking programs. IEEE Software 2(2):47–57
Hellinger M, Fingerhut S (2002) Business activity monitoring: eai meets data warehousing. Business Integration J http://www.bijonline.com/Article.asp?ArticleID=563&DepartmentId=1
Hilbert DM, Redmiles DF (1998) Agents for collecting application usage data over the internet. In: Proceedings of the 2nd international conference on autonomous agents (Agents’98)
Hoffman T (2004) Sarbanes-Oxley sparks forensics apps interest. Computerworld 38(13):14
Jaffe MS, Leveson NG, Heimdahl MPE, Melhart BE (1991) Software requirements analysis for real-time process-control systems. IEEE Trans Software Eng 17(3):241–258
Jain AK, Murty MN, Flynn PJ (1999) Data clustering: a review. ACM Comput Surveys 31(3):264–323
Jeffery C, Zhou W, Templer K, Brazell M (1998) A lightweight architecture for program execution monitoring. In: Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on program analysis for software tools and engineering. Montreal, Quebec, Canada
Koymans R (1992) Specifying message passing and time-critical systems with temporal logic, LNCS 651. Springer-Verlag, Berllin
Kunz T, Black J,Taylor D, Basten T (1997) Poet: target-system-independent visualizations of complex distributed-application executions. Comput J40(8):499–512
Lee, HB, Zorn BG (1997) BIT: a tool for instrumenting java bytecodes. In: Proceedings of USENIX symposium on internet technologies and systems, pp 73–82
Lee I, Ben-Abdallah H, Kannan S, Kim M, Sokolsky, O, Viswanathan M (1998) A monitoring and checking framework for run-time correctness assurance. In: Proceedings of the 1998 Korea-U.S. technical conference on strategic technologies. Vienna, VA
Lee W, Stolfo S, Mok K (2000) Adaptive intrusion detection: a data mining approach. Journal Artificial Intelligence Review. Kluwer Academic Publishers, Dordrecht, 14:533–67
Lee W, Stolfo S, Mok K (1999) Algorithms for mining system audit data. In: Lin TY, Cercone N (eds) Data retrieval and data mining. Kluwer Academic Publishers, Dordrecht
Letier E, van Lamsweerde A (2002) Agent-based tactics for goal-oriented requirements elaboration. In: Proceedings ICSE’2002—24th international conference on software engineering. Orlando, FL
Leveson N (1995) Safeware, system safety and computers. Addison-Wesley, Reading, MA
Leveson NG (1995) Safeware: system safety and computers. Addison-Wesley Pub. Co. Inc, Reading, MA
Lin K-J (1995) Issues on real-time systems programming: language, compiler, and object orientation. In: Advances in real-time systems, Prentice-Hall Inc., Englewood cliffs, NJ, pp 335–351
Manna Z, Prueli A (1992) The temporal logic of reactive and concurrent systems. Springer-Verlag, Berlin
Marquardt T (2003) ASP.NET performance monitoring, and when to alert administrators. Microsoft Corporation http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/monitor_perf.asp
Microsoft (2002) Using Microsoft Operations Manager 2000 to Monitor BizTalk Server 2002. Microsoft Corporation http://www.microsoft.com/technet/prodtechnol/biztalk/biztalk2002/maintain/btswpmom.mspx August 1 2002.http://www.microsoft.com/technet/prodtechnol/biztalk/biztalk2002/maintain/btswpmom.mspx
Microsoft (2003) Enterprise Instrumentation Framework (EIF). Microsoft Corp. http://msdn.microsoft.com/vstudio/productinfo/enterprise/eif/ http://msdn.microsoft.com/vstudio/productinfo/enterprise/eif/
Sun Microsystems (2001) Enterprise JavaBeans specification, Version 2.0. Sun Microsystems
Sun Microsystems (2003) Jini distributed event specification. http://www.sun.com/ jini/specs
Moe J, Carr D (2002) Using execution trace data to improve distributed systems. Software Pract Experience 32(9):889–906
Mok AK, Liu G (1997) Efficient run-time monitoring of timing constraints. In: Proceedings of IEEE real-time technology and applications symposium
Mok AK, Liu G (1997) Early detection of timing constraint violation at runtime. Proceedings of real-time systems symposium, RTSS’97
Oechsle R, Gronz O, Schüler M (2002) Visusniff: a tool for the visualization of network traffic. In: Proceedings of ACM 2nd program visualization workshop. Porvoo, Finland
O’Malley TO, Richardson DJ, Dillon LK (1996) Efficient specication-based oracles for critical systems. In: Proceedings of the california software symposium
OMG (1999) CORBA components: joint revised submission. Object Management Group
OMG (2003) OMG model driven architecture http://www.omg.org/mda
The Open Group (2002)Application response measurement—–RM. Open Group, Enterprise Management Forumhttp://www.opengroup.org/management/arm.htm
The Open Group (2003)CORBA. Systems management: event management service. x/open document. The Open Group Number: P437, http://www.opengroup.org/onlinepubs/008356299/
Peters DK, Parnas DK (1984) Using test oracles generated from program documentation. In: Proceedings of the international symposium on software testing and analysis
Platt DS (2002) Introducing microsoft. NET, 2nd edn. Microsoft Press, Redmond, WA
Potts C (1995) Using schematic scenarios to understand user needs. Proceedings of DIS’95–ACM Symposium on designing interactive systems: processes, practices and techniques
PushToTest (2003) TestMaker. PushToTest http://www.pushtotest.com/ptt
Qiao S, Zhang H (1999) An automatic log analyzer for parallel programs. In: Proceedings of the international conference on parallel and distributed processing techniques and applications. Las Vegas, Nevada, pp 1371–1376
Robinson WN (1989) Integrating multiple specifications using domain goals. In: Proceedings of the 5th international workshop on software specification and design, pp 219–226 (Also available as CIS-TR-89-03 from the University of Oregon)
Robinson WN (2002) Monitoring software requirements using instrumented code. In: IEEE Proceedings of the 35th annual hawaii international conference on systems sciences, Hawaii, http://localhost/wnr/publications/HICSS-Instrument-02.pdf
Robinson WN (2003) Monitoring web service requirements.In: Proceedings of the 11th IEEE international conference on requirements engineering. Monterey Bay, CA, pp 65–74, http://www.cis.gsu.edu/∼wrobinson/papers
Robinson WN, Pawlowski S (1998) Surfacing root requirements interactions from inquiry cycle requirements. In: Proceedings of the 3rd IEEE international conference on requirements engineering (ICRE’98). Colorado Springs, CO, pp 82–89, http://localhost/wnr/publications/ICRE-Surface-98.pdf
Robinson WN, Pawlowski S, Volkov V (2003) Requirements interaction management. ACM Comput Surveys (CSUR) 35(2):132–190, http://localhost/wnr/publications/CSUR-RIM-03.pdf
Robinson WN, Volkov S (1997) A meta-model for restructuring stakeholder requirements. In: Proceedings of ICSE19—19th international conference on software engineering. Boston, pp 140–149, http://localhost/wnr/publications/ICSE-GoalModel-98.pdf
Rosenblum DS (1996) Formal methods and testing: why the state-of-the-art is not the state-of-the-practice (Issta ’96/fmsp ’96 panel summary). ACM sigsoft software engineering notes, vol. 21(4), pp 64–66
Sankar S, Mandal M (1993) Concurrent runtime monitoring of formally specified programs. I. IEEE Comput 26(3):32–41
Freshwater Software (2003) SiteScope. Mecury interactive company http://www.freshwater.com/SiteScope.htm
Sommerville I, Sawyer P (1997) Requirements engineering: a good practice guide. Wiley, Chichester England New York
Stelling P, Foster I, Kesselman C, Lee C, von Laszewski G (1998) A fault detection service for wide area distributed computations. In: Proceedings of the 7th IEEE symposium on high performance distributed computing, pp 268–278
Tai K-C, Carver RH, Obaid EE (1991) Debugging concurrent Ada programs by deterministic execution. IEEE Trans Software Eng 17(1):45–63
Thompson JP (1998) Web-based enterprise management architecture. Commun Mag IEEE 36(3):80–86
Tierney B, Gunter D (2002) NetLogger: a toolkit for distributed system performance tuning and debugging. Lawrence Berkeley National Laboratory LBNL Tech Report LBNL-51276
The Time-Rover Corp (2003) Time rover. Time-Rover Corp http://www.time-rover.com
Tunstall C, Cole, G (2003) Developing WMI solutions: a guide to windows management instrumentation. Addison Wesley Professional, Reading, MA
van Lamsweerde A, Darimont R, Massonet P (1995) Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt. In: Proceedings of the IEEE 2nd international symposium on requirements engineering, pp 194–203
van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Software Eng 26:978–1005
Acknowledgements
The author would like to thank the anonymous reviewers and members of IFIP 2.9 Requirement Engineering Working Group. The feedback, provided at the IFIP 2.9 Workshops 2001 and 2002, was instrumental in the development of this work. Special thanks go to Martin Feather, Steve Fickas, and Axel van Lamsweerde for their comments on this work. Of course, any errors found herein are the sole responsibility of the author.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Robinson, W.N. A requirements monitoring framework for enterprise systems. Requirements Eng 11, 17–41 (2006). https://doi.org/10.1007/s00766-005-0016-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-005-0016-3