1,324 results on '"Smalltalk"'
Search Results
2. Unix, Plan 9 and the Lurking Smalltalk
- Author
-
Kell, Stephen, Floridi, Luciano, Editor-in-Chief, Taddeo, Mariarosaria, Editor-in-Chief, De Mol, Liesbeth, editor, and Primiero, Giuseppe, editor
- Published
- 2018
- Full Text
- View/download PDF
3. Personal programming and the object computer.
- Author
-
Reenskaug, Trygve M. H.
- Subjects
- *
COMPUTER programming , *ALARM clocks , *CONCEPTUAL models , *ELECTRONIC control , *INFANTS - Abstract
My objective is to create an intuitive computer for laypeople who want to go beyond ready-made apps and create programs to control their electronic environment. I submit Loke, a new kind of computer that is a universe of objects and nothing but objects. I call it an object computer. Loke is implemented in Squeak, a variant of Smalltalk, and is an extensible, conceptual model for execution, inspection, and exploration. It was first used to demonstrate how Ellen, a novice, programs a smart alarm clock through a GUI adapted to her competence, needs, and preferences. Informal demonstrations indicated that laypeople immediately grasp the idea of communicating objects that represent real things in their environment. They also wanted to use it for their own purposes. They were creative in identifying personal opportunities for Loke and in sketching out their implementations. Interestingly, expert programmers who attended the demonstration did not see the point of Loke. I have completed the programming of Loke qua conceptual model. The model underpins its potential security and privacy and sustains its object and message models. The Loke qua programming environment is still in its infancy, and its inherent security and privacy properties are still not realized in practice. A future Loke device will be accessible from anywhere and embedded in its own hardware to achieve them. The Loke IDE rests on Data–Context–Interaction (DCI), a new programming paradigm that leads to readable code with a clear architecture. I submit Loke for the pleasure of personal programming. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
4. Testing Modtalk
- Author
-
Fridstrom, Josh, Jacques, Adam, Kilpela, Kurt, Sarkela, John, van der Aalst, Wil, Series editor, Mylopoulos, John, Series editor, Rosemann, Michael, Series editor, Shaw, Michael J., Series editor, Szyperski, Clemens, Series editor, Lassenius, Casper, editor, Dingsøyr, Torgeir, editor, and Paasivaara, Maria, editor
- Published
- 2015
- Full Text
- View/download PDF
5. ViSPE: A Graphical Policy Editor for XACML
- Author
-
Nergaard, Henrik, Ulltveit-Moe, Nils, Gjøsæter, Terje, Diniz Junqueira Barbosa, Simone, Series editor, Chen, Phoebe, Series editor, Du, Xiaoyong, Series editor, Filipe, Joaquim, Series editor, Kara, Orhun, Series editor, Liu, Ting, Series editor, Kotenko, Igor, Series editor, Sivalingam, Krishna M., Series editor, Washio, Takashi, Series editor, Camp, Olivier, editor, Weippl, Edgar, editor, Bidan, Christophe, editor, and Aïmeur, Esma, editor
- Published
- 2015
- Full Text
- View/download PDF
6. Adapting Processor Grain via Reconfiguration
- Author
-
de Assumpção, Jecel Mattos, Jr., Voswinkel, Merik, Marques, Eduardo, Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Kobsa, Alfred, editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Pandu Rangan, C., editor, Steffen, Bernhard, editor, Terzopoulos, Demetri, editor, Tygar, Doug, editor, Weikum, Gerhard, editor, Goehringer, Diana, editor, Santambrogio, Marco Domenico, editor, Cardoso, João M. P., editor, and Bertels, Koen, editor
- Published
- 2014
- Full Text
- View/download PDF
7. Introduction
- Author
-
Soukup, Jiri, Lokanath, Raj, Soukup, Martin, Soukup, Jiri, and Macháček, Petr
- Published
- 2014
- Full Text
- View/download PDF
8. Interaction Repertoire in a Distance Education Community
- Author
-
Lars Svensson
- Subjects
Human–computer interaction ,Repertoire ,Distance education ,GRASP ,Psychology ,computer ,Social situation ,Smalltalk ,computer.programming_language - Abstract
This paper presents results from a study focusing on text-based electronic interaction in a distance educational setting. The analysis of the interaction identifies three typified genres, labeled Query, Feedback and Smalltalk. Together they constitute a shared interaction repertoire with marks of a new social landscape for education with changes in roles and behaviours that are important to grasp for designers as well as teachers.
- Published
- 2023
9. CodeCaption - Una herramienta para realizar Code Review distribuido
- Author
-
Aparicio, Nahuel Alejandro and Balaguer, Federico
- Subjects
Equipo Remoto ,STON ,CodeCaption ,Code Review ,Prueba de Usuario ,Ciencias Informáticas ,Smalltalk ,Pharo ,Git ,Abstract Syntax Tree - Abstract
La tesina detalla el desarrollo de una herramienta para realizar Code Review distribuido llamada CodeCaption. El desarrollo fue realizado en la Pharo Smaltalk. La herramienta permite al desarrollador agregar comentarios al código fuente de un proyecto dentro del IDE, y que estos puedan ser vistos, revisados, y/o modificados por todos los desarrolladores del mismo. El objetivo de este trabajo es mejorar la comunicación de un equipo de desarrollo de software con revisiones de código asíncronas y remotas. Está especialmente orientado a equipos de desarrollo remotos donde sus miembros se encuentran en diferentes ubicaciones y husos horarios, Facultad de Informática
- Published
- 2023
10. IWST 2022: International Workshop on Smalltalk Technologies 2022
- Author
-
Lagadec, Loïc, Aranega, Vincent, École Nationale Supérieure de Techniques Avancées Bretagne (ENSTA Bretagne), Université de Bretagne Occidentale - UFR Sciences et Techniques (UBO UFR ST), Université de Brest (UBO), Equipe Hardware ARchitectures and CAD tools (Lab-STICC_ARCAD), Laboratoire des sciences et techniques de l'information, de la communication et de la connaissance (Lab-STICC), École Nationale d'Ingénieurs de Brest (ENIB)-Université de Bretagne Sud (UBS)-Université de Brest (UBO)-École Nationale Supérieure de Techniques Avancées Bretagne (ENSTA Bretagne)-Institut Mines-Télécom [Paris] (IMT)-Centre National de la Recherche Scientifique (CNRS)-Université Bretagne Loire (UBL)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-École Nationale d'Ingénieurs de Brest (ENIB)-Université de Bretagne Sud (UBS)-Université de Brest (UBO)-École Nationale Supérieure de Techniques Avancées Bretagne (ENSTA Bretagne)-Institut Mines-Télécom [Paris] (IMT)-Centre National de la Recherche Scientifique (CNRS)-Université Bretagne Loire (UBL)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT), Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 (CRIStAL), and Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS)
- Subjects
[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] ,Programming ,Smalltalk ,ESUG - Abstract
The International Smalltalk Technologies Workshop (IWST) is a forum around advances or experience in Smalltalk, bringing together Smalltalk practitioners since 2009. The IWST aims to stimulate discussion and exchange of ideas on all aspects of Smalltalk, both theoretical and practical. IWST is a co-located event with the annual European Smalltalk User Group (ESUG) conference. The 2022 edition of IWST was held in Novi Sad, Serbia, July 24-26, with Lam Research Corporation as a sponsor.
- Published
- 2022
11. Instance-Level Modeling and Simulation Using Lambda-Calculus and Object-Oriented Environments
- Author
-
Merunka, Vojtěch, van der Aalst, Wil, Series editor, Mylopoulos, John, Series editor, Rosemann, Michael, Series editor, Shaw, Michael J., Series editor, Szyperski, Clemens, Series editor, Barjis, Joseph, editor, Eldabi, Tillal, editor, and Gupta, Ashish, editor
- Published
- 2011
- Full Text
- View/download PDF
12. Improving live debugging of concurrent threads through thread histories.
- Author
-
Leske, Max, Chiş, Andrei, and Nierstrasz, Oscar
- Subjects
- *
DEBUGGING , *OBJECT-oriented databases , *THREADS (Computer programs) , *COMPUTER multitasking , *COMPUTER programming - Abstract
Concurrency issues are inherently harder to identify and fix than issues in sequential programs, due to aspects like indeterminate order of access to shared resources and thread synchronisation. Live debuggers are often used by developers to gain insights into the behaviour of concurrent programs by exploring the call stacks of threads. Nevertheless, contemporary live debuggers for concurrent programs are usually sequential debuggers augmented with the ability to display different threads in isolation. To these debuggers every thread call stack begins with a designated start routine and the calls that led to the creation of the thread are not visible, as they are part of a different thread. This requires developers to manually link stack traces belonging to related but distinct threads, adding another burden to the already difficult act of debugging concurrent programs. To improve debugging of concurrent programs we address the problem of incomplete call stacks in debuggers through a thread and debugger model that enables live debugging of child threads within the context of their parent threads. The proposed debugger operates on a virtual thread that merges together multiple relevant threads. To better understand the features of debuggers for concurrent programs we present an in-depth discussion of the concurrency related features in current live debuggers. We test the applicability of the proposed model by instantiating it for simple threads, local and remote promises, and a remote object-oriented database. Starting from these use cases we further discuss implementation details ensuring a practical approach. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
13. A feature-oriented model-driven engineering approach for the early validation of feature-based applications.
- Author
-
Cavarlé, Glenn, Plantec, Alain, Costiou, Steven, and Ribaud, Vincent
- Subjects
- *
COMPUTER software development , *FEATURE extraction , *DEBUGGING , *SIMULATION methods & models , *SMALLTALK (Computer program language) - Abstract
The software industry has to offer increasingly individualized software for a large number of platforms. In a constantly evolving technical context, the appropriateness and the profitableness of a software has to be ensured earlier, before most of the costs have been incurred and before most of the risks have been taken. Feature-Oriented Model-Driven Development (FOMDD) is a promising paradigm to tackle the issue of developing software variants when multiple platforms are targeted. However, because of its model-driven fundament, FOMDD suffers from limited capabilities regarding model execution and early validation. In this paper, we present CrossFabrik, an approach for the design and the early functional validation of feature-based applications. This approach allows the live debugging and editing of the underlying models during a simulation without being forced to stop and restart a validation process. Such an approach relies on the reflective capability of the development environment. An implementation of our approach within Pharo is also presented. [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
14. Putting Traits in Perspective
- Author
-
Ducasse, Stéphane, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Nierstrasz, Oscar, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Sudan, Madhu, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Vardi, Moshe Y., Series editor, Weikum, Gerhard, Series editor, Bergel, Alexandre, editor, and Fabry, Johan, editor
- Published
- 2009
- Full Text
- View/download PDF
15. Huemul – A Smalltalk Implementation
- Author
-
Molina, Guillermo Adrián, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Nierstrasz, Oscar, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Sudan, Madhu, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Vardi, Moshe Y., Series editor, Weikum, Gerhard, Series editor, Hirschfeld, Robert, editor, and Rose, Kim, editor
- Published
- 2008
- Full Text
- View/download PDF
16. Let’s Modularize the Data Model Specifications of the ObjectLens in VisualWorks/Smalltalk
- Author
-
Prasse, Michael, Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Rangan, C. Pandu, editor, Steffen, Bernhard, editor, Sudan, Madhu, editor, Terzopoulos, Demetri, editor, Tygar, Doug, editor, Vardi, Moshe Y., editor, Weikum, Gerhard, editor, and De Meuter, Wolfgang, editor
- Published
- 2007
- Full Text
- View/download PDF
17. Using Smalltalk as a Reflective Executable Meta-language
- Author
-
Ducasse, Stéphane, Gîrba, Tudor, Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Pandu Rangan, C., editor, Steffen, Bernhard, editor, Sudan, Madhu, editor, Terzopoulos, Demetri, editor, Tygar, Dough, editor, Vardi, Moshe Y., editor, Weikum, Gerhard, editor, Whittle, Jon, editor, Harel, David, editor, and Reggio, Gianna, editor
- Published
- 2006
- Full Text
- View/download PDF
18. DODELA RADNIH ZADATAKA U POSLOVNOM PROCESU UPOTREBOM PHARO PROGRAMSKOG JEZIKA
- Author
-
Nemanja Gavrilović
- Subjects
Presentation ,Programming language ,Process (engineering) ,Business process ,Computer science ,media_common.quotation_subject ,computer.software_genre ,Pharo ,computer ,Smalltalk ,computer.programming_language ,media_common - Abstract
The thesis describes the business processes, the tools used for their modeling and the programming languages Smalltalk and Pharo. Templates for assigning tasks to participants in the process are shown. The implementation is presented, with a presentation of classes and their methods by which the desired solution is reached.
- Published
- 2021
19. Classboxes: A Minimal Module Model Supporting Local Rebinding
- Author
-
Bergel, Alexandre, Ducasse, Stéphane, Wuyts, Roel, Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, Böszörményi, László, editor, and Schojer, Peter, editor
- Published
- 2003
- Full Text
- View/download PDF
20. Traits: Composable Units of Behaviour
- Author
-
Schärli, Nathanael, Ducasse, Stéphane, Nierstrasz, Oscar, Black, Andrew P., Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, and Cardelli, Luca, editor
- Published
- 2003
- Full Text
- View/download PDF
21. The evolution of Smalltalk: from Smalltalk-72 through Squeak
- Author
-
Daniel Ingalls
- Subjects
Computer science ,Squeak ,computer.software_genre ,World Wide Web ,Bytecode ,Bit blit ,Scripting language ,Virtual machine ,Safety, Risk, Reliability and Quality ,Etoys ,computer ,Software ,Interpreter ,Smalltalk ,computer.programming_language - Abstract
This paper presents a personal view of the evolution of six generations of Smalltalk in which the author played a part, starting with Smalltalk-72 and progressing through Smalltalk-80 to Squeak and Etoys. It describes the forces that brought each generation into existence, the technical innovations that characterized it, and the growth in understanding of object-orientation and personal computing that emerged. It summarizes what that generation achieved and how it affected the future, both within the evolving group of developers and users, and in the outside world. The early Smalltalks were not widely accessible because they ran only on proprietary Xerox hardware; because of this, few people have experience with these important historical artifacts. To make them accessible, the paper provides links to live simulations that can be run in present-day web browsers. These simulations offer the ability to run pre-defined scripts, but also allow the user to go off-script, browse the details of the implementation, and try anything that could be done in the original system. An appendix includes anecdotal and technical aspects of how examples of each generation of Smalltalk were recovered, and how order was teased out of chaos to the point that these old systems could be brought back to life.
- Published
- 2020
22. The origins of Objective-C at PPI/Stepstone and its evolution at NeXT
- Author
-
Hansen Hsu, Steve Naroff, and Brad J. Cox
- Subjects
Unix ,Syntax (programming languages) ,Computer science ,Objective-C ,computer.software_genre ,App store ,World Wide Web ,Software crisis ,OS X ,Compiler ,Safety, Risk, Reliability and Quality ,computer ,Software ,Smalltalk ,computer.programming_language - Abstract
The roots of Objective-C began at ITT in the early 1980s in a research group led by Tom Love investigating improving programmer productivity by an order of magnitude, a concern motivated by the perceived "software crisis" articulated in the late 1960s. In 1981, Brad Cox, a member of this group, began to investigate Smalltalk and object-oriented programming for this purpose, but needed a language compatible with the Unix and C environments used by ITT. That year, Cox quickly wrote up the Object-Oriented Pre-Compiler (OOPC) that would translate a Smalltalk-like syntax into C. Love felt there was a market for object-oriented solutions that could coexist with legacy languages and platforms, and after a brief stint at Schlumberger-Doll, co-founded with Cox Productivity Products International (PPI), later renamed as Stepstone, to pursue this. At PPI, Cox developed OOPC into Objective-C. Cox saw Objective-C as a crucial link in his larger vision of creating a market for "pre-fabricated" software components ("software-ICs"), which could be bought off the shelf and which, Cox believed, would unleash a "software industrial revolution." Steve Naroff joined Stepstone in 1986 as Steve Jobs' NeXT Computer became an important customer for Objective-C, as it was being used in its NeXTSTEP operating system. Naroff became the primary Stepstone developer addressing NeXT's issues with Objective-C, solving a key fragility problem preventing NeXT from deploying forwards-compatible object libraries. Impressed with NeXT, Naroff left Stepstone for NeXT in 1988, and once there, added Objective-C support to Richard Stallman's GNU GCC compiler, which NeXT was using as its C compiler, removing the need to use Stepstone's ObjC to C translator. Over the next several years, Naroff and others would add significant new features to Objective-C, such as "categories," "protocols," and the ability to mix in C++ code. When Stepstone folded in 1994, all rights to Objective-C were acquired by NeXT. This eventually transferred to Apple when NeXT was acquired by Apple in 1997. Objective-C became the basis for Apple's Mac OS X and then iOS platforms, and Naroff and others at Apple added additional features to the language in the late 2000s as the iPhone App Store greatly expanded Objective-C's user base.
- Published
- 2020
23. Self-contained development environments
- Author
-
Olivier Flückiger, Jan Vitek, Javier Pimás, and Guido Chari
- Subjects
010302 applied physics ,Programming language ,business.industry ,Computer science ,020206 networking & telecommunications ,020207 software engineering ,02 engineering and technology ,Python (programming language) ,computer.software_genre ,01 natural sciences ,Computer Graphics and Computer-Aided Design ,Development (topology) ,Virtual machine ,020204 information systems ,0103 physical sciences ,0202 electrical engineering, electronic engineering, information engineering ,x86 ,Software engineering ,business ,computer ,Smalltalk ,Software ,computer.programming_language - Abstract
Operating systems are traditionally implemented in low- level, performance-oriented programming languages. These languages typically rely on minimal runtime support and provide unfettered access to the underlying hardware. Tra- dition has benefits: developers control the resources that the operating system manages and few performance bottle- necks cannot be overcome with clever feats of programming. On the other hand, this makes operating systems harder to understand and maintain. Furthermore, those languages have few built-in barriers against bugs. This paper is an ex- periment in side-stepping operating systems, and pushing functionality into the runtime of high-level programming languages. The question we try to answer is how much sup- port is needed to run an application written in, say, Smalltalk or Python on bare metal, that is, with no underlying oper- ating system. We present a framework named NopSys that allows this, and we validate it with the implementation of CogNos a Smalltalk virtual machine running on bare x86 hardware. Experimental results suggest that this approach is promising.
- Published
- 2020
24. Issues in translating Smalltalk to Java
- Author
-
Engelbrecht, R. L., Kourie, D. G., Goos, Gerhard, editor, Hartmanis, Juris, editor, van Leeuwen, Jan, editor, and Koskimies, Kai, editor
- Published
- 1998
- Full Text
- View/download PDF
25. Assessing Inheritance for the Multiple Descendant Redefinition Problem in OO Systems
- Author
-
Li-Thiao-Té, Philippe, Kennedy, Jessie, Owens, John, Orlowska, Maria E., editor, and Zicari, Roberto, editor
- Published
- 1998
- Full Text
- View/download PDF
26. Personal programming and the object computer
- Author
-
Trygve Reenskaug
- Subjects
Computer science ,Alarm clock ,GRASP ,Squeak ,law.invention ,Human–computer interaction ,law ,Modeling and Simulation ,Programming paradigm ,Architecture ,Competence (human resources) ,computer ,Implementation ,Software ,Smalltalk ,computer.programming_language - Abstract
My objective is to create an intuitive computer for laypeople who want to go beyond ready-made apps and create programs to control their electronic environment. I submit Loke, a new kind of computer that is a universe of objects and nothing but objects. I call it an object computer. Loke is implemented in Squeak, a variant of Smalltalk, and is an extensible, conceptual model for execution, inspection, and exploration. It was first used to demonstrate how Ellen, a novice, programs a smart alarm clock through a GUI adapted to her competence, needs, and preferences. Informal demonstrations indicated that laypeople immediately grasp the idea of communicating objects that represent real things in their environment. They also wanted to use it for their own purposes. They were creative in identifying personal opportunities for Loke and in sketching out their implementations. Interestingly, expert programmers who attended the demonstration did not see the point of Loke. I have completed the programming of Loke qua conceptual model. The model underpins its potential security and privacy and sustains its object and message models. The Loke qua programming environment is still in its infancy, and its inherent security and privacy properties are still not realized in practice. A future Loke device will be accessible from anywhere and embedded in its own hardware to achieve them. The Loke IDE rests on Data–Context–Interaction (DCI), a new programming paradigm that leads to readable code with a clear architecture. I submit Loke for the pleasure of personal programming.
- Published
- 2019
27. Microworlds for teaching concepts of object oriented programming
- Author
-
Tomek, Ivan, Maurer, Hermann, editor, Calude, Cristian, editor, and Salomaa, Arto, editor
- Published
- 1996
- Full Text
- View/download PDF
28. Experiences with Groupware Development under CORBA
- Author
-
Horstmann, Thilo, Wasserschaff, Markus, Raymond, Kerry, editor, and Armstrong, Liz, editor
- Published
- 1995
- Full Text
- View/download PDF
29. Do loose lips sink ships? : The meaning, antecedents and consequences of rumour and gossip in organisations
- Author
-
Michelson, Grant and Suchitra Mouly, V.
- Published
- 2004
- Full Text
- View/download PDF
30. Should LOGO Keep Going FORWARD 1?
- Author
-
Ken KAHN
- Subjects
future of LOGO ,Smalltalk ,ToonTalk ,StageCast Creator ,AgentSheets ,NetLogo ,Special aspects of education ,LC8-6691 - Abstract
LOGO has been evolving in incremental steps for 40 years. This has resulted in steady progress but some regions of the space of all programming languages for children cannot be reached without passing through unacceptable intermediate designs. What are the ultimate aims of LOGO? What criteria and aesthetics should be used in determining which areas of the design space are most promising? What would the ideal programming language look like? Would a family of special-purpose languages be more effective than a single language? In looking to the future what can we learn from the history of LOGO? What can we learn from other programming systems for children? Alan Kay is leading a new project entitled, ``Steps toward the Reinvention of Programming''. What are its strengths and weaknesses? We can conceptualise the design alternatives as defining an n-dimensional space. Some dimensions represent major alternatives for syntax, others for dealing with concurrency, others for the underlying computational models, and others for features of the programming environment. The goal of this paper is to spur a discussion of these issues. I will present my personal opinions based upon 30 years of research experience in this field.
- Published
- 2007
- Full Text
- View/download PDF
31. Definition of a reflective kernel for a prototype-based language
- Author
-
Mulet, Philippe, Cointe, Pierre, Goos, Gerhard, editor, Hartmanis, Juris, editor, Nishio, Shojiro, editor, and Yonezawa, Akinori, editor
- Published
- 1993
- Full Text
- View/download PDF
32. Modeling Organizations with Visual Agents
- Author
-
Griggs, Kenneth A., Crookall, David, editor, and Arai, Kiyoshi, editor
- Published
- 1992
- Full Text
- View/download PDF
33. Practical domain-specific debuggers using the Moldable Debugger framework.
- Author
-
Chiş, Andrei, Denker, Marcus, Gîrba, Tudor, and Nierstrasz, Oscar
- Subjects
- *
DEBUGGING , *COMPUTER software , *DOMAIN-specific programming languages , *USER interfaces , *CUSTOMIZATION - Abstract
Understanding the run-time behavior of software systems can be a challenging activity. Debuggers are an essential category of tools used for this purpose as they give developers direct access to the running systems. Nevertheless, traditional debuggers rely on generic mechanisms to introspect and interact with the running systems, while developers reason about and formulate domain-specific questions using concepts and abstractions from their application domains. This mismatch creates an abstraction gap between the debugging needs and the debugging support leading to an inefficient and error-prone debugging effort, as developers need to recover concrete domain concepts using generic mechanisms. To reduce this gap, and increase the efficiency of the debugging process, we propose a framework for developing domain-specific debuggers, called the Moldable Debugger , that enables debugging at the level of the application domain. The Moldable Debugger is adapted to a domain by creating and combining domain-specific debugging operations with domain-specific debugging views , and adapts itself to a domain by selecting, at run time, appropriate debugging operations and views. To ensure the proposed model has practical applicability (i.e., can be used in practice to build real debuggers), we discuss, from both a performance and usability point of view, three implementation strategies. We further motivate the need for domain-specific debugging, identify a set of key requirements and show how our approach improves debugging by adapting the debugger to several domains. [ABSTRACT FROM AUTHOR]
- Published
- 2015
- Full Text
- View/download PDF
34. Capsules and types in Fresco : Program verification in Smalltalk
- Author
-
Wills, Alan, Goos, Gerhard, editor, Hartmanis, Juris, editor, and America, Pierre, editor
- Published
- 1991
- Full Text
- View/download PDF
35. From Driver Talk To Future Action: Vehicle Maneuver Prediction by Learning from Driving Exam Dialogs
- Author
-
Alina Roitberg, Rainer Stiefelhagen, and Simon Reib
- Subjects
Action (philosophy) ,Casual ,Intersection (set theory) ,Human–computer interaction ,Computer science ,Task analysis ,Leverage (statistics) ,Noise (video) ,computer ,Smalltalk ,Task (project management) ,computer.programming_language - Abstract
A rapidly growing amount of content posted online inherently holds knowledge about concepts of interest, i.e. driver actions. We leverage methods at the intersection of vision and language to surpass costly annotation and present the first automated framework for anticipating driver intention by learning from recorded driving exam conversations. We query YouTube and collect a dataset of posted mock road tests comprising student-teacher dialogs and video data, which we use for learning to foresee the next maneuver without any additional supervision. However, instructional conversations give us very loose labels, while casual chat results in a high amount of noise. To mitigate this effect, we propose a technique for automatic detection of smalltalk based on the likelihood of spoken words being present in everyday dialogs. While visually recognizing driver's intention by learning from natural dialogs only is a challenging task, learning from less but better data via our smalltalk refinement consistently improves performance.
- Published
- 2021
36. Test Smell Detection Tools: A Systematic Mapping Study
- Author
-
Christian D. Newman, Wajdi Aljedaani, Ali Ouni, Mazen Alotaibi, Anthony Peruma, Stephanie Ludi, Abdullatif Ghallab, Ahmed Aljohani, and Mohamed Wiem Mkaouer
- Subjects
FOS: Computer and information sciences ,Java ,Scala ,business.industry ,Computer science ,media_common.quotation_subject ,Code smell ,020207 software engineering ,02 engineering and technology ,computer.software_genre ,Test (assessment) ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Test case ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Plug-in ,Quality (business) ,Software engineering ,business ,computer ,Smalltalk ,computer.programming_language ,media_common - Abstract
Test smells are defined as sub-optimal design choices developers make when implementing test cases. Hence, similar to code smells, the research community has produced numerous test smell detection tools to investigate the impact of test smells on the quality and maintenance of test suites. However, little is known about the characteristics, type of smells, target language, and availability of these published tools. In this paper, we provide a detailed catalog of all known, peer-reviewed, test smell detection tools. We start with performing a comprehensive search of peer-reviewed scientific publications to construct a catalog of 22 tools. Then, we perform a comparative analysis to identify the smell types detected by each tool and other salient features that include programming language, testing framework support, detection strategy, and adoption, among others. From our findings, we discover tools that detect test smells in Java, Scala, Smalltalk, and C++ test suites, with Java support favored by most tools. These tools are available as command-line and IDE plugins, among others. Our analysis also shows that most tools overlap in detecting specific smell types, such as General Fixture. Further, we encounter four types of techniques these tools utilize to detect smells. We envision our study as a one-stop source for researchers and practitioners in determining the tool appropriate for their needs. Our findings also empower the community with information to guide future tool development., Comment: Accepted at: The International Conference on Evaluation and Assessment in Software Engineering (EASE '21)
- Published
- 2021
37. Social talk capabilities for dialogue systems
- Author
-
Klüwer, Tina
- Subjects
Datenanalyse ,Dialogsystem ,Smalltalk ,Mensch-Maschine-Kommunikation - Published
- 2021
- Full Text
- View/download PDF
38. Ghost: A uniform and general-purpose proxy implementation.
- Author
-
Martinez Peck, Mariano, Bouraqadi, Noury, Fabresse, Luc, Denker, Marcus, and Teruel, Camille
- Subjects
- *
PROXY servers , *DATABASES , *COMPUTER security , *PARALLEL computers , *OBJECT-oriented programming , *MESSAGE passing (Computer science) - Abstract
A proxy object is a surrogate or placeholder that controls access to another target object. Proxy objects are a widely used solution for different scenarios such as remote method invocation, future objects, behavioral reflection, object databases, inter-language communications and bindings, access control, lazy or parallel evaluation, security, among others. Most proxy implementations support proxies for regular objects but are unable to create proxies for objects with an important role in the runtime infrastructure such as classes or methods. Proxies can be complex to install, they can have a significant overhead, they can be limited to certain kind of classes, etc. Moreover, proxy implementations are often not stratified and there is no clear separation between proxies (the objects intercepting messages) and handlers (the objects handling interceptions). In this paper, we present Ghost: a uniform and general-purpose proxy implementation for the Pharo programming language. Ghost provides low memory consuming proxies for regular objects as well as for classes and methods. When a proxy takes the place of a class, it intercepts both the messages received by the class and the lookup of methods for messages received by its instances. Similarly, if a proxy takes the place of a method, then the method execution is intercepted too. [ABSTRACT FROM AUTHOR]
- Published
- 2015
- Full Text
- View/download PDF
39. On the integration of Smalltalk and Java.
- Author
-
Hlopko, Marcel, Kurš, Jan, Vraný, Jan, and Gittinger, Claus
- Subjects
- *
SMALLTALK (Computer program language) , *JAVA programming language , *PROGRAMMING languages , *COMPUTER programming , *INTERNETWORKING - Abstract
After decades of development in programming languages and programming environments, Smalltalk is still one of few environments that provide advanced features and is used in the industry. However, as Java became prevalent, the ability to call a Java code from Smalltalk became important. A traditional approach to integrate the Java and Smalltalk languages is through low-level communication between separate Java and Smalltalk virtual machines. To our best knowledge there is no other project attempting to execute and integrate the Java language directly in the Smalltalk environment. A direct integration allows for a very tight integration of the languages and their objects within a single environment. Yet integration and language interoperability impose challenging issues related to method naming conventions, method overloading, exception handling and thread-locking mechanisms. In this paper we describe ways to overcome these challenges and to integrate Java into the Smalltalk environment. We focus on a possibility to call a Java code from Smalltalk using standard Smalltalk idioms while the semantics of both languages remains preserved. We present stx:libjava – an implementation of a Java virtual machine within Smalltalk/X – as a validation of our approach. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
40. A logic foundation for a general-purpose history querying tool.
- Author
-
Stevens, Reinout, De Roover, Coen, Noguera, Carlos, Kellens, Andy, and Jonckers, Viviane
- Subjects
- *
REVISION control (Computer science) , *COMPUTER software development , *SMALLTALK (Computer program language) , *OBJECT-oriented programming languages , *COMPUTER programming - Abstract
Version control systems (VCS) have become indispensable software development tools. The version snapshots they store to provide support for change coordination and release management, effectively track the evolution of the versioned software and its development process. Despite this wealth of historical information, it has only been leveraged by tools that are dedicated to a specific task such as empirical validation of software engineering practices or fault prediction. General-purpose tool support for reasoning about the historical information stored in a version control system is limited. This paper provides a comprehensive description of a logic-based, general-purpose history query tool called Absinthe . Absinthe supports querying versioned Smalltalk system using logic queries in which quantified regular path expressions are embedded. These expressions lend themselves to specifying the properties that each individual version in a sequence of successive software versions ought to exhibit. To demonstrate the general-purpose nature of our history query tool, we use it to verify development process constraints, to identify temporal bad smells and to answer questions that developers commonly ask. Finally, we compare a query written in Absinthe to an equivalent one written in Smalltalk. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
41. Smalltalk in a C world.
- Author
-
Chisnall, David
- Subjects
- *
SMALLTALK (Computer program language) , *PROGRAMMING languages , *COMPUTER programming , *DYLAN (Computer program language) , *COMPUTER software development - Abstract
A modern developer is presented with a continuum of choices of programming languages, ranging from assembly languages and C up to high-level domain-specific languages. It is very rare for a single language to be the best possible choice for everything, and the sweet spot with an optimal trade between ease of development and performance changes depending on the target platform. We present an interoperable framework for allowing code written in C (potentially with inline assembly), Objective-C, Smalltalk, and higher-level domain-specific languages to coexist with very low cognitive or performance overhead. Our implementation shares an underlying object model, in interpreted, JIT-compiled and statically compiled code among all languages, allowing a single object to have methods implemented in any of the supported languages. We also describe several techniques that we have used to improve the performance of late-bound dynamic languages. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
42. Improving refactoring tools in Smalltalk using static type inference.
- Author
-
Unterholzner, Martin
- Subjects
- *
SMALLTALK (Computer program language) , *AGILE software development , *COMPUTER software development , *COMPUTER programming , *PROGRAMMING languages - Abstract
Refactoring is a crucial activity in agile software development. As a consequence, automated tools are expected to support refactoring, both for reducing the developer's effort as well as for avoiding errors due to manual changes. In this context, the chosen programming language has a major impact on the level of support that an automated refactoring tool can offer. One important aspect of a programming language concerning the automation of refactoring is the type system. While a static type system, present in languages such as Java, provides information about dependencies in the program, the dynamic type system of the Smalltalk programming language offers little information that can be used by automated refactoring tools. This paper focuses on the challenges in the context of refactoring raised by the dynamic type system of Smalltalk. It highlights the problems caused by the absence of static type information and proposes the use of static code analysis for performing type inference to gather information about the dependencies in the program's source code. It explains the mechanism of the static code analysis using sample code and presents a prototype of an enhanced refactoring tool, which uses the structural information extracted through static code analysis. Empirical samples build the base for evaluating the effectiveness of the approach. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
43. Gradual typing for Smalltalk.
- Author
-
Allende, Esteban, Callaú, Oscar, Fabry, Johan, Tanter, Éric, and Denker, Marcus
- Subjects
- *
SMALLTALK (Computer program language) , *OBJECT-oriented programming languages , *ROBUST programming , *COMPUTER programming , *APPLICATION software research - Abstract
Being able to combine static and dynamic typing within the same language has clear benefits in order to support the evolution of prototypes or scripts into mature robust programs. While being an emblematic dynamic object-oriented language, Smalltalk is lagging behind in this regard. We report on the design, implementation and application of Gradualtalk, a gradually-typed Smalltalk meant to enable incremental typing of existing programs. The main design goal of the type system is to support the features of the Smalltalk language, like metaclasses and blocks, live programming, and to accommodate the programming idioms used in practice. We studied a number of existing projects in order to determine the features to include in the type system. As a result, Gradualtalk is a practical approach to gradual types in Smalltalk, with a novel blend of type system features that accommodate most programming idioms. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
44. Seamless composition and reuse of customizable user interfaces with Spec.
- Author
-
Van Ryseghem, Benjamin, Ducasse, Stéphane, and Fabry, Johan
- Subjects
- *
USER interfaces , *APPLICATION software research , *COMPUTER software research , *COMPUTER programming , *COMPUTER interfaces - Abstract
Implementing UIs is often a tedious task. To address this, UI Builders have been proposed to support the description of widgets, their location, and their logic. A missing aspect of UI Builders is however the ability to reuse and compose widget logic. In our experience, this leads to a significant amount of duplication in UI code. To address this issue, we built Spec: a UIBuilder for Pharo with a focus on reuse. With Spec, widget properties are defined declaratively and attached to specific classes known as composable classes. A composable class defines its own widget description as well as the model-widget bridge and widget interaction logic. This paper presents Spec, showing how it enables seamless reuse of widgets and how these can be customized. After presenting Spec and its implementation, we discuss how its use in Pharo 2.0 has cut in half the amount of lines of code of six of its tools, mostly through reuse. This shows that Spec meets its goals of allowing reuse and composition of widget logic. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
45. Bootstrapping reflective systems: The case of Pharo.
- Author
-
Polito, G., Ducasse, S., Fabresse, L., Bouraqadi, N., and van Ryseghem, B.
- Subjects
- *
COMPUTER programming , *STATISTICAL bootstrapping , *OBJECT-oriented methods (Computer science) , *SMALLTALK (Computer program language) , *PROGRAMMING languages , *COMPUTER systems - Abstract
Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition of a given language using the same language, taking benefit of the abstractions and expression power it provides. A bootstrap, then, supports the evolution of a language. However, the infrastructure of reflective systems like Smalltalk includes, in addition to a compiler, an environment with several self-references. A reflective system bootstrap should consider all its infrastructural components. In this paper, we propose a definition of bootstrap for object-oriented reflective systems, we describe the architecture and components it should contain and we analyze the challenges it has to overcome. Finally, we present a reference bootstrap process for a reflective system and Hazelnut, its implementation for bootstrapping the Pharo Smalltalk-inspired system. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
46. How to Identify Class Comment Types? A Multi-language Approach for Class Comment Classification
- Author
-
Oscar Nierstrasz, Manuel Leuenberger, Pooja Rani, Sebastiano Panichella, and Andrea Di Sorbo
- Subjects
FOS: Computer and information sciences ,Software documentation ,Source code ,Computer science ,media_common.quotation_subject ,005: Computerprogrammierung, Programme und Daten ,000 Computer science, knowledge & systems ,006: Spezielle Computerverfahren ,computer.software_genre ,Code comment analysis ,Computer Science - Software Engineering ,Natural language processing technique ,Software system ,Smalltalk ,computer.programming_language ,media_common ,Class (computer programming) ,Computer Science - Programming Languages ,Programming language ,Program comprehension ,Software maintenance ,Python (programming language) ,Software Engineering (cs.SE) ,Hardware and Architecture ,computer ,Software ,Information Systems ,Programming Languages (cs.PL) - Abstract
Most software maintenance and evolution tasks require developers to understand the source code of their software systems. Software developers usually inspect class comments to gain knowledge about program behavior, regardless of the programming language they are using. Unfortunately, (i) different programming languages present language-specific code commenting notations/guidelines; and (ii) the source code of software projects often lacks comments that adequately describe the class behavior, which complicates program comprehension and evolution activities. To handle these challenges, this paper investigates the different language-specific class commenting practices of three programming languages: Python, Java, and Smalltalk. In particular, we systematically analyze the similarities and differences of the information types found in class comments of projects developed in these languages. We propose an approach that leverages two techniques, namely Natural Language Processing and Text Analysis, to automatically identify various types of information from class comments i.e., the specific types of semantic information found in class comments. To the best of our knowledge, no previous work has provided a comprehensive taxonomy of class comment types for these three programming languages with the help of a common automated approach. Our results confirm that our approach can classify frequent class comment information types with high accuracy for Python, Java, and Smalltalk programming languages. We believe this work can help to monitor and assess the quality and evolution of code comments in different program languages, and thus support maintenance and evolution tasks., Comment: 25 pages, 10 figures, 8 tables
- Published
- 2021
- Full Text
- View/download PDF
47. Orca: A Single-Language Web Framework for Collaborative Development.
- Author
-
Thamsen, Lauritz, Gulenko, Anton, Perscheid, Michael, Krahn, Robert, Hirschfeld, Robert, and Thomas, David A.
- Abstract
In the last few years, the Web has been established as a platform for interactive applications. However, creating Web applications involves numerous challenges since the Web has been created to serve static content. In particular, the separation of the client- and the server-side, being only connected through the unidirectional Hypertext Transfer Protocol, forces developers to apply two programming languages including different libraries, conventions, and tools. Developers create expert knowledge by specializing on a few of all involved technologies. Consequently, the diverse knowledge of team members makes collaboration in Web development laboriously. We present the Orca framework that allows developers to work collaboratively on client-server applications in a single object-oriented programming language. Based on the Smalltalk programming language, full access to existing libraries, and a bidirectional messaging abstraction, Orca provides a consistent environment that supports common idioms and patterns in client- and server-side code. It reduces expert knowledge and the number of development tools and, thus, facilitates the collaboration of Web developers. [ABSTRACT FROM PUBLISHER]
- Published
- 2012
- Full Text
- View/download PDF
48. How developers use the dynamic features of programming languages.
- Author
-
Callaú, Oscar, Robbes, Romain, Tanter, Éric, and Röthlisberger, David
- Abstract
The dynamic and reflective features of programming languages are powerful constructs that programmers often mention as extremely useful. However, the ability to modify a program at runtime can be both a boon-in terms of flexibility-, and a curse-in terms of tool support. For instance, usage of these features hampers the design of type systems, the accuracy of static analysis techniques, or the introduction of optimizations by compilers. In this paper, we perform an empirical study of a large Smalltalk codebase- often regarded as the poster-child in terms of availability of these features-, in order to assess how much these features are actually used in practice, whether some are used more than others, and in which kinds of projects. These results are useful to make informed decisions about which features to consider when designing language extensions or tool support. [ABSTRACT FROM AUTHOR]
- Published
- 2011
- Full Text
- View/download PDF
49. In pursuit of easy(er) JITs (invited talk)
- Author
-
Mark Graham Stoodley
- Subjects
Computer science ,Programming language ,computer.software_genre ,JavaScript ,Bytecode ,Just-in-time compilation ,Virtual machine ,Code generation ,Compiler ,Software_PROGRAMMINGLANGUAGES ,computer ,Smalltalk ,Interpreter ,computer.programming_language - Abstract
n the early days of the Eclipse OMR project, we created the unimaginatively named JitBuilder API aiming to make it easier to build a JIT compiler. JitBuilder has been used to create prototype JIT compilers in a few thousand lines of C++ for WebAssembly, Lua, Smalltalk, Javascript, the Rosie Pattern Language, BF, Kaleidoscope, and Base9, as well as a number of other less language-centric dynamic code generators (including an alternative code generator for LLVM IR). Although it brings key facilities for privatizing virtual machine state and translating bytecode handlers, the JitBuilder API did not completely meet the “easy” goal particularly in the areas of extensibility and debuggability and did not offer strong DSL optimization possibilities. In this talk, I’ll explain and summarize the key features of the JitBuilder API before introducing some recent exploratory work to create the next version: JitBuilder2. This new fully-fledged (if currently in complete) compiler IL shares some directions with MLIR, but has some unique challenges and features, all designed around the pursuit of “easy” JIT compiler construction. Through the talk, I’ll show off some of these features (that’s right, I’ll demo a compiler IL!) and highlight some of the interesting directions I think we could take it from here.
- Published
- 2020
50. Fuel: a fast general purpose object graph serializer.
- Author
-
Dias, Martín, Peck, Mariano Martinez, Ducasse, Stéphane, and Arévalo, Gabriela
- Subjects
OBJECT-oriented programming ,COMPUTER software ,SMALLTALK (Computer program language) ,COMPUTER programming ,PROGRAMMING languages - Abstract
SUMMARY Because objects need to be stored and reloaded on different environments, serializing object graphs is a very important activity. There is a plethora of serialization frameworks with different requirements and design trade-offs. Most of them are based on recursive parsing of the object graphs, an approach which often is too slow. In addition, most of them prioritize a language-agnostic format instead of speed and language-specific object serialization. For the same reason, such serializers usually do not support features such as class-shape changes, global references or executing pre and post load actions. Looking for speed, some frameworks are partially implemented at Virtual Machine (VM) level, hampering code portability and making them difficult to understand, maintain and extend. In this paper, we present Fuel, a general-purpose object serializer based on these principles: (1) speed, through a compact binary format and a pickling algorithm which invests time in serialization for obtaining the best performance on materialization; (2) good object-oriented design, without special help at VM; and (3) serialize any object, thus have a full-featured language-specific format. We implement and validate this approach in Pharo, where we demonstrate that Fuel is faster than other serializers, even those with special VM support. The extensibility of Fuel made possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full content management system object graphs. Copyright © 2012 John Wiley & Sons, Ltd. [ABSTRACT FROM AUTHOR]
- Published
- 2014
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.