Abstract
The complexity of software systems is continuously growing across a wide range of application domains. System architects are often faced with large complex systems and systems whose semantics may be difficult to understand, hidden, or even still evolving. Raising the level of abstraction of such systems can significantly improve their usability.
We introduce System Grokking - a software architect assistance technology designed to support incremental and iterative user-driven understanding, validation, and evolution of complex software systems through higher levels of abstraction. The System Grokking technology enables semi-automatic discovery, manipulation, and visualization of groups of domain-specific software elements and the relationships between them to represent high-level structural and behavioral abstractions.
This work is partially supported by the European Community under the Information Society Technologies (IST) program of the 6th FP for RTD - project MODELPLEX contract IST-034081. The authors are solely responsible for the content of this paper.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Model Driven Architecture, http://www.omg.org/mda
Eclipse Open Source Community, http://www.eclipse.org
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall, Englewood Cliffs (2004)
Eclipse Modelling Framework, http://www.eclipse.org/modeling/emf/
Kan, S.H.: Metrics and Models in Software Quality Engineering, 2nd edn. Addison-Wesley, Reading (2002)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
Brown, W.J., Malveau, R.C., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, Chichester (1998)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
OMG, UML 2.0 OCL Specification, adopted specification, ptc/03-10-14
Djurić, D., Gašević, D., Devedžić, V.: Ontology Modeling and MDA. Journal of Object Technology 4(1) (2005)
Chuen, L.: Aspect-Oriented Programming in Software Engineering, http://users.wfu.edu/chenl4/aop.pdf
IBM Rational Software Analyzer, http://www.ibm.com/developerworks/rational/products/rsar/
Microsoft Visual Studio, http://www.microsoft.com/visualstudio/
Microsoft Code Analysis, http://code.msdn.microsoft.com/codeanalysis
Hassan, A., Holt, R.: The Small World of Software Reverse Engineering. In: 11th Working Conference on Reverse Engineering, pp. 278–283. IEEE Computer Society, Washington (2004)
Telelogic Rhapsody, http://www.telelogic.com/products/rhapsody/index.cfm
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Goldstein, M., Moshkovich, D. (2009). System Grokking – A Novel Approach for Software Understanding, Validation, and Evolution. In: Feldman, Y.A., Kraft, D., Kuflik, T. (eds) Next Generation Information Technologies and Systems. NGITS 2009. Lecture Notes in Computer Science, vol 5831. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04941-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-04941-5_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04940-8
Online ISBN: 978-3-642-04941-5
eBook Packages: Computer ScienceComputer Science (R0)