{"title":"cmUML - A UML based Framework for Formal Specification of Concurrent, Reactive Systems","authors":"Jagadish Suryadevara, L. Chung, R. Shyamasundar","doi":"10.5381/jot.2008.7.8.a7","DOIUrl":"https://doi.org/10.5381/jot.2008.7.8.a7","url":null,"abstract":"Complex software systems possess concurrent and reactive behaviors requiring precise specifications prior to development. Lamport's transition axiom method is a formal specification method which combines axiomatic and operational approaches. On the other hand Unified Modeling Language (UML), a de facto industry standard visual language, lacks suitable constructs and semantics regarding concurrency aspects. Though UML includes action semantics, its higher level constructs and object semantics are inconsistent. Motivated by Lamport's approach, this paper proposes a UML based specification framework 'cmUML' ('cm' for concurrent modules) for formal specification of concurrent, reactive systems without object level diagrams and OCL. The framework integrates higher level diagrams of UML and addresses various concurrency issues including exception handling. It combines UML-RT and UML/ SPT profile as the latter defines a core package for concurrency and causality. Further the framework includes the characteristic safety and liveness aspects of concurrent systems. The proposed framework is in contrast with existing approaches based on low level primitives (semaphore, monitors). The paper includes several specification examples validating the proposed framework.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115101749","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Roger G. Johnson, George Roussos, Luca Vetti Tagliati
{"title":"Requirements analysis for large scale systems","authors":"Roger G. Johnson, George Roussos, Luca Vetti Tagliati","doi":"10.5381/JOT.2008.7.8.A3","DOIUrl":"https://doi.org/10.5381/JOT.2008.7.8.A3","url":null,"abstract":"All readers of this paper most likely have knowledge of the software requirements discipline and of the use case notation, however not everyone is aware that with the progress of the development process, requirement models evolve in different ways. In particular, some artefacts (such as the glossary, for example) are simply enhanced, while others (functional requirements, object model, etc), in different stages of the process encapsulate different aspects of the system and satisfy different needs. Therefore, while the former require one to maintain only the most updated version, the latter require the maintenance of different versions (e.g. business functional requirements, domain functional requirements, etc). As expected, this is more evident in the context of large scale systems. Furthermore, a review of IT literature brings to light some inconsistency in the use of use case notation and, more generally, in requirement models and, even more importantly, to the lack of guidelines related to how to successfully address the requirements analysis for large scale systems. The objectives of this paper are to clarify the terminology of software requirement models by suggesting a more consistent usage, to describe the different versions of requirement models, and to illustrate how to effectively address requirements analysis for large scale systems. This paper is supported by a real case study related to a large scale project implemented in a tier 1 financial organisation.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"658 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123357474","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Enabling Application Agility - Software as A Service, Cloud Computing and Dynamic Languages","authors":"Dave A. Thomas","doi":"10.5381/jot.2008.7.4.c3","DOIUrl":"https://doi.org/10.5381/jot.2008.7.4.c3","url":null,"abstract":"The good news is that application developers are on the verge of being liberated from the tyranny of middleware. Next Generation IT will leverage a new computing platform which makes the development and deliver of applications significantly easier than it is today. This new platform consists of Cloud Computing, Software As A Service and Dynamic Languages. Cloud Computing [1] offers mainframe or better infrastructure through a small set of services delivered globally over the Internet.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"129 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122073585","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A change propagating model transformation Language","authors":"L. Tratt","doi":"10.5381/jot.2008.7.3.a3","DOIUrl":"https://doi.org/10.5381/jot.2008.7.3.a3","url":null,"abstract":"Model transformations are a key component in Model Driven Development, but most approaches only allow ‘one shot' transformations to be expressed. Change propagating model transformations are those which can make suitable updates to models after an initial transformation.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126304333","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"AOP-HiddenMetrics: Separation, Extensibility and Adaptability in SW Measurement","authors":"W. Cazzola, A. Marchetto","doi":"10.5381/jot.2008.7.2.a3","DOIUrl":"https://doi.org/10.5381/jot.2008.7.2.a3","url":null,"abstract":"Traditional approaches to dynamic system analysis and metrics measurement are based on system code (both source, intermediate and executable code) instrumentation or need ad hoc support by the run-time environment. In these contexts, the measurement process is tricky, invasive and the results could be affected by the process itself making the data not germane. Moreover, the tool based on these approaches are difficult to customize, extend and often use since their properties are rooted at specific system details (e.g., special tools such as bytecode analyzers or virtual machine goodies such as the debugger interface) and require high efforts, skills and knowledges to be adapted. Notwithstanding its importance, software measurement is clearly a nonfunctional concern and should not impact on the software development and efficiency. Aspectoriented programming provides the mechanisms to deal with this kind of concern and to overcome the software measurement limitations. In this paper, we present a different approach to dynamic software measurements based on aspect-oriented programming and the corresponding support framework named AOPÂHiddenMetrics. The proposed approach makes the measurement process highly customizable and easy to use reducing its invasiveness and the dependency from the code knowledge.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115482454","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Exceptions in Concurrent Eiffel","authors":"P. Brooke, R. Paige","doi":"10.5381/JOT.2007.6.10.A4","DOIUrl":"https://doi.org/10.5381/JOT.2007.6.10.A4","url":null,"abstract":"We describe the problem of asynchronous exceptions in Eiffel’s Simple Concurrent Object-Oriented Programming (SCOOP). We discuss a range of possible solutions to further enable dependable computing in concurrent Eiffel. We propose a mechanism to handle aynchronous exceptions via a limited developer choice, including the notion of a failed or dead object, and necessarily introduce a small number of new exceptions. We additionally describe a number of mechanisms that were discarded as unsuitable.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121225030","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Programming the World in a Browser Real Men Don't Do JavaScript Do They?!","authors":"Dave A. Thomas","doi":"10.5381/jot.2007.6.10.c3","DOIUrl":"https://doi.org/10.5381/jot.2007.6.10.c3","url":null,"abstract":"The mainstream professional developer community has never taken JavaScript seriously but soon they will have no choice. JavaScript is ready to move to center stage as the development and delivery technology for Web 2.x applications. In the past, most enterprise and product developers flocked to Java or C# while web developers moved to PHP, Perl, Python and more recently Ruby, with most ignoring the web based scripting language called JavaScript. At best it has been considered something to spiff up one's HTML pages. To make matters worse, incompatible implementations of JS and the DOM have tormented developers and made JS very unpopular with many. Until Ajax and Web 2.0 Douglas Crockford seemed to be the only advocate for JavaScript as a reasonable programming language. He pointed out that JS was really a Scheme like language with a prototype-based object model layered on top of it. I'm sure that popular author David Flanagan never dreamed that he would be best known for his book Definitive JavaScript. While many smaller companies had built quality widgets and applications in JS it is was the entry of Yahoo Widgets, and more importantly the that of Google Mail, Calendar, etc. that laid the commercial foundation for the Ajax revolution with a plethora of frameworks and tools. Rather than bulky and complex web standards, more and more of these toolkits support simpler Restful style services that use JSON rather than SOAP. JavaScript's ubiquitous browser availability makes it the frontrunner in that environment and this will no doubt ripple to servers and appliances. JavaScript is headed into the limelight once promised to Java, then later to Flash. It will be a must know language for everyone within 3 years. If JavaScript does cross over from the browser to other platforms it could inflict collateral damage on these languages down the road.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122212228","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Cristina Vicente-Chicote, Begoña Moros, J. Álvarez
{"title":"REMM-Studio: an Integrated Model-Driven Environment for Requirements Specification, Validation and Formatting","authors":"Cristina Vicente-Chicote, Begoña Moros, J. Álvarez","doi":"10.5381/jot.2007.6.9.a22","DOIUrl":"https://doi.org/10.5381/jot.2007.6.9.a22","url":null,"abstract":"In order to integrate requirements into the current Model-Driven Engineering (MDE) approach, the traditional document-based requirements specification process should be changed into a requirements modelling process. To achieve this we propose a requirements metamodel called REMM (Requirements Engineering MetaModel) which includes the elements that should appear in a requirements model (requirements, stakeholders, test cases, etc.) together with the relationships that may appear between them. This metamodel is the basis of the REMM-Studio environment which enables: (1) to build graphical requirements models, (2) to validate them against the metamodel and against a set of additional OCL constraints, and (3) to automatically generate a navigable Software Requirements Specification (SRS) document as the main deliverable of the Requirements Engineering process. REMM-Studio is expected to ease the integration of requirements with other development models (e.g. component models) and to facilitate the validation of the SRS thanks to its navigability.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128112694","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Direct Semantics of Extended State Machines","authors":"K. Lano, D. Clark","doi":"10.5381/jot.2007.6.9.a2","DOIUrl":"https://doi.org/10.5381/jot.2007.6.9.a2","url":null,"abstract":"In this paper we consider a substantial subset of UML 2 state machine notation and assign an axiomatic semantics to this. This semantics is assigned directly to the original models, and does not require pre-processing of the models to reduce them to a more basic form. The advantage of this is that the semantics retains the structure and context information of the model, making it easier to relate semantic analysis results to the model.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"72 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113983520","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Modeling Traceability of Concerns for Synchronizing Architectural Views","authors":"B. Tekinerdogan, Christian Hofmann, M. Aksit","doi":"10.5381/jot.2007.6.7.a1","DOIUrl":"https://doi.org/10.5381/jot.2007.6.7.a1","url":null,"abstract":"Software architecture modeling includes the description of different views that represent the architectural concerns from different stakeholder perspectives. In case of evolution of the software system the related architectural views need to be adapted accordingly. To synchronize the architectural views it is necessary that the dependency links among the architectural concerns in the architectural views can be easily traced. Unfortunately, despite the ongoing efforts for modeling concerns in architectural views, the traceability of concerns remains a challenging issue in architecture design. We propose the concern traceability metamodel (CTM) that enables traceability of concerns within and across architectural views. The metamodel can be used for modeling the concerns, the architectural elements and the traceability links among the elements in architectural views. We have implemented CTM in the tool M-Trace, that uses XML-based representations of the models and XQuery queries to represent tracing information. CTM and M-Trace are illustrated for analyzing the impact of concerns of a Climate Control System case and synchronizing the architectural views","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128013561","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}